FarmBot, an automated farmbed
An IoT farmbed that tends itself: vision models on a Raspberry Pi classify weeds against crops, Firebase carries the detections, and a React Native app monitors and manages the beds.
The brief
A smart farmbed built at PES University’s Centre for IoT. A camera watches the bed, vision models (YOLOv4 for detection, R-CNN) classify weeds against crops on a Raspberry Pi at the edge, detections and bed state land in Firebase, and a React Native app gives the grower a live, refreshable view of beds, crops and weeds.
Architecture
- The app (this repo). Expo with a five-screen native stack: Home, Add, Bed, Crops, Weeds. Material UI via react-native-paper, sortable time-ordered tables, pull-to-refresh reads against Firestore.
- The store. Firebase (Firestore plus Realtime DB) sits between the hardware and the phone. The Pi writes detections; the app reads them. The two never talk directly, which is the architectural point: the hardware and the client are fully decoupled and either can be replaced.
- The vision side. YOLOv4 and R-CNN inference ran on the Pi at the edge, pushing results up rather than streaming video out.
The honest bit
The public repo holds the mobile app I can show; the vision and Pi control code stayed on the lab rig and is described here from the record of the internship. The app is real, the architecture is real, and the decoupling pattern is the part worth remembering.