# CrowBot: An Educational Robotic System for Growing Food
## 4 Hardware and Software Architecture  
We developed and tested the GrowBot hardware in the DTU Skylab and DTU Playware Lab making and assembling the frames and components. The GrowBot measures 450 mm \(\times\) 450 mm \(\times\) 600 mm. The GrowBot consists of the chamber and a 150 mm top part which holds the electronics, see Figures 2 and 3. At the bottom of the chamber, there is room for a water tray with a lid with 4 \(\times\) 4 holes in which the plants can grow. The front side of the chamber is a door which can be tightened when closed to ensure an airtight space inside the chamber. On the front of the top part, there is a small 5\" touchscreen display and a connector for a micro:bit. Figure 2: The GrowBot with an open door to the chamber, which contains the water tray at the bottom, and small basil plants in the cups in the tray. Water and fertilizer bottles are mounted on the side. There are three electronic boards in the GrowBot:  
* The main-board, which is the primary part of the electronics controlling the communication between the elements and the control of the actuators. * The LED-board, which is the upper wall of the chamber with the LED grow light mounted on it. * The micro:bit board, which is a simple connection component between the micro:bit and the main board. On these the main components are mounted, indicated in Table 1, with the GrowBot being controlled by the Raspberry Pi 4 and the Arduino acting as the sensor and actuator interface controller. A number of sensors are mounted to allow monitoring the conditions in the grow chamber and the water tray of the GrowBot. As outlined in Table 2, these include humidity sensor to sense the humidity in the chamber, CO\({}_{2}\) sensor to sense the CO\({}_{2}\) level in the chamber, temperature sensor to sense the air temperature in the chamber, water level sensor to sense the level of water in the tray, and RGB camera to look down from the chamber ceiling onto the growing plants. Table 3 outlines a number of actuators to provide the means to control the grow conditions in the GrowBot. These include full spectrum lights, IR lights, and UV lights, which are mounted on the chamber ceiling, fertilizer pump, which can pump nutrients from a bottle (The users will have added a nutrient composition of their choice to the bottle) into the water tray, water pump, which can pump water from a bottle into the water tray, air pump to pump air to the oxygen disk placed in the water tray, air change pump to change the air in the chamber, air circulation fan to circulate the air inside the chamber, and heater to heat the chamber. The Arduino, which is the interface to the sensors and actuators, communicates with the Raspberry Pi main processor on a 2-way serial port. Further, the Arduino is attached to a slot connector, which can hold a microbit. The main processor (Raspberry Pi) is also connected to a 5\" LCD touchscreen, mounted on the front top part of the GrowBot, allowing users to provide input from the touchscreen and to view things such as current sensor values on the touchscreen. Further, the Raspberry Pi is connected to a 4G/LTE module and antenna to provide communication with a remote server when a SIM card is installed in the GrowBot. This provides the means for data to be transferred to and from the remote server. Another third party hardware used as an option as control device for the GrowBot is the BBC micro:bit. The BBC micro:bit is an affordable pocket-sized computer designed for children's learning. There are more than 4.5 million micro:bit devices in 60 countries among 20 million children [17]. It originates from the BBC UK Make It Digital project of 2016 and aims at fostering digital creativity in the classroom. The micro:bit is based on a Nordic nRF51822 processor with Bluetooth radio communication, an onboard accelerometer and compass, a small LED mesh, two buttons, and I/O channel (see Figure 4).