What is a food computer?

What is a personal food computer you ask?

Devised by MIT Media Labs Open agriculture initiative, it is a hydroponic system with a closed and controlled environment. It can measure and control air temperature, humidity, CO2 levels and light inside the grow chamber. It can also monitor the nutrition fluids PH and salt levels.

With this controlled environment you can grow plants and vegetables in any kind of environment. For example I want to grow strawberries from south Italy. This is the part that peaked my interest into building my wary own Personal Food Computer.

I documented my Food computer build in the Open agriculture forum
As I started the Food Computer build before I got this awesome website up and running I gathered everything her in just one post. 

MIT Food Computer

Planning phase

Lets get started with the planning. I'm going to build my Food computer so that will fit into my kitchen. I want to take fresh produce out of it and use it for cooking or just eat it right there in my kitchen. Girlfriend did not want something that stuck out too much so I designed it so that it will fit under a kitchen top. Plan is to add some wheels so you can just pull it out when its time to harvest or maintain the unit.

I measured some of the other kitchen tops in the flat and they seem to be 88cm from floor to the top. Added some clearance for the top that is 3cm thick, some more for the wheels 3cm and then a bit so it is not glued to the underside of the top 3cm. Food computer can be 79cm tall.

Kitchen tops are 60cm deep so add a little clearance of 6cm and the food computer can be 54cm deep.

In the plan I calculated that the top is 1m wide. so taking the side boards thickness of 2cm each and adding another 2cm per side clearance Food computer is going to be 92cm wide.

Planned food computer dimensions are 92cm x 79cm x 54cm.

 Sourcing the materials

As I am building my Food computer in Germany I of course used amazon.de for many things on the list.
for Raspberry Pi and Arduino parts I used a online shop www.exp-tech.de/. It came recommended and so far has worked fine. Selection could be better 🙂 but they do deliver swiftly and keep you apprised of the status of your delivery.

Parts for the hardware I got from local Hardware stores. Needed to be a bit creative as I could not find that insulate board with foil on either side, so I got normal insulation foam and a roll of kitchen aluminium foil. Add some glue and I’m sure it will work out :smiley:

The Frame.

First compromise is that I could not find the PVC board at the local hardware store. Granted that I do not speak any German and spent 3h there looking for all parts. So I got tired and went for something easy. Instead of the PVC board I got some laminated shelve board. This thing has no moisture protection and I think I might need to change them as time goes by but I’ll start with these :smiley: I used steel L bar to create the metal part of the frame. Good thing about using nuts and bolts to build the frame is that it moves. In case its not 100% straight then you can give it a little hammer and it will move right to position. Remember to take into account the extruding bolts. Like you will see later on that I did not and problems ensued... add 10mm into width, length and height to have enough clearance for the bolt heads.

The Shell

Shell is up next. Measured and cut and glued I managed to make the shell.
I used elastic glue instead of the hot glue that was in the instructions. Used aluminium tape to cover the seams to ensure that it will hold nicely.

Covered the inside of the shell fully with aluminium tape. The materials in the MIT bill of materials had a foam board that was already covered with aluminium foil but I did not find it from the hardware store. So tape it is. Bit expensive at 10€ a roll but it will be worth it as the grow lights will reflect on it and thus be more efficient. 

Used the tape on both sides of the shell as it will show through the plastic that I need to cover it with. Cosmetic thing but I think I want to make it look as good as possible to have it live in my kitchen 🙂 20€ worth of tape... I found that you can get wide aluminium film from eBay that is used to do the same. it would have been 60% cheaper 🙂 Oh well... Next time. 

Fitting the shell on the frame

Fitted the Shell on the Frame... Well here it is, the thing I mentioned earlier. Those bloody bolts stick out and the shell does not fit properly. I solved this with welding the metal frame. Now this is ok if you know how to weld and you have an angle to use to make sure everything is spot on perfectly aligned. After welding the frame is rigid. There is no hammering it to anywhere. Also I suck at welding. I noticed though that I got better at it the more I did it 🙂 Practice makes perfect... Or passable in my case. 

Managed to of-course to weld the spacers and the bolts solidly into the frame but nothing a little angle grinder can not fix 🙂

Light assembly 

Cut the flat metal bars to measure and opened up the grow lights. They have a cardboard tops that come of after unscrewing the screws holding it in place. Drilled holes into the lights frame. Attached the flat metal bars on three sides.

The way the light assembly fits the frame is that on mother board wall side I used a metal bar with a M8 twist. Two nuts on each side to secure it in place without extruding out of the side of the frame where I had the problem of space with the snuck fitting shell. On the far end there is a flat metal bar that just screws into the frame.


Camera assembly

Camera assembly out of a small piece of wood. drilled a hole in the middle and sanded the thing to look nice and neat. bolted it between the light frames.  

Some test photos to align the camera correctly. Noticed that the thing has such a wide angle that it will take ok pics even with a little misalignment.



Wheels were needed as the final placement of this food computer is under a kitchen top. So it needs to be moveable from under the kitchen top like a drawer. I got some simple wheels that I placed under it. two at each end and one pair right under the motherboard wall. Need to still figure out the handles? Where to pull it from nicely. 

Prettifying the shell

So the shell made of insulation foam covered with aluminium tape would not pass inspection from my girlfriend. It needs to be made a bit prettier.

As in the original plan from MIT OpenAg the shell is to be covered with corrugated plastic sheeting. As per instruction I used spray on glue. 

Man it proved to be harder then I thought. I think only thing I managed to do properly was glue my shues to the floor after spraying everything... And I mean everything with that glue. Messy stuff.

The glue sets in 20min and I just could not make all the edges fit nicely. After I was "done" there is a corner ajar on almost all the corners... So how to fix it. Trusty elastic glue thing to the rescue. went through the bottom and front edges of the cover with it. They will be ok like that BUT then there is the top and back corners that show. I think tomorrow I'll pop by the hardware store and get some aluminium profile and hide the edges under that.


Aluminium profiles and the window 

Got some nice 20mm aluminium L profile and some equally nice flat 20mm aluminium. Used a jig to cut 45degree angles and then glued them in place. Looks pretty nice compared to the just plastic cover. 

Cut the plexiglass bit of the window to measure and glued some magnets on it. Using superglue I glued other magnets on the shell. Right on-top of the aluminium tape. Magnets proved to be super strong and ripped the tape right off the shell 🙂 To fix this I first glued some spacers on the shell and then the magnets on the spacer. This worked. Magnets stick to the spacers nicely. They are still quite strong and just came to my mind that I could use just the spacers without gluing the other magnets on them. Probably would have been little lighter connection but still work nicely. 

Ran the insulation tape along the window to make the seal more or less airtight. This is one nicely sealed window 🙂


Time to tackle the motherboard

Started this part by unscrewing the motherboard wall from the frame. Makes it easier to work with. 



Air exchange unit AKA the heater box.

First cut a hole into the plastic box that has been chosen to be the air exchange unit. Two holes actually. One rectangle that is the size of the heaters output and a round one that will allow the air from the grow space to flow into the heater. Used elastic glue to secure and seal the heater in place all the way inside the air exchange unit. Used a spacer and hot glue to glue the little switch at the bottom of the heater in. Normally it would be used to allow the heater to work only if it is sitting upright on a table but since we have it glued into our Air exchange box we need to glue that button so that it is pressed in. Used a spacer and hot glue. Works perfectly. 


Power distribution module

Power distribution module is that cluster of four sockets that turn on and of as needed. Connects grow lights, heater and humidifier to power. Idea is to run the hot cable or the phase of each socket through a relay board. I used standard EU grounded sockets that I got from Amazon. They are quite the bit larger then their US counterparts. Fitting everything on the motherboard will be a little work 🙂

Also bought a separate box for the relay as I don't like it and the wago connectors hanging loose. 

And all connected. Just need to put everything together. Hope all were connected correctly and I will not burn down my house 😀 

Looks like all is good. Tested the setup with a multimeter. All connections are as they should be 🙂

Even more pictures 🙂

Sorry for the amount of pics.

Here is the power sockets going onto the motherboard 😀

Motherboard assembly so far

First things on the motherboard. Heater at the top left corner. Next to it is the power cord. Used double sided tape to keep it in place. 12V power supply at the bottom right. Power distribution module is at the the bottom left. 

You might have noticed the lovely green sleeve on some cables. I had some left overs from a Computer case mod project. Looks nice?

Also a hole the size of a fan was added and the fan on top of it. right between the heater and power sockets on the left. Those of you with a keen eye might see that it is bit crocked comparing to the heater and others. Need to fix that. This kinds of things annoy me to no end 🙂

Arduino Mega + Proto Shield + Grow Shield

Time to go Soldering Ninja on the Arduino Mega + Proto Shield + Grow shield and then connect all to the Raspberry Pi.

That does not sound hard at all? Well as it is my first ever use of Raspberry Pi and Arduino I must note that this the MIT OpenAG forum came in handy. Friends there were extremely helpful in providing awesome diagrams and instructions to those of us that were newbies in the world of Micro controllers and tiny micro computers 🙂

Motherboard assembly guide just breezes through this part quite fast and it is distributed little bit all over the instructions. :smiley:

Gathered all the parts and started soldering the stackable headers on the proto shield. Almost all went well except two things. The sets of stackable headers I bought were not the right ones.


Arduino protoshield

Here is a picture of a complete header set for Arduino mega proto shield.

My set was missing the 10pin header at the top left on the picture, 36pin header at the right side of the picture and 6pin ICSP header that goes into the center of the board. Ordered new ones and got everything except that massive 36pin one. Luckily I had some pin rails. Used two pin rails to replace the 36pin connector.

Irritation of starting work, noticing missing parts, ordering missing ones, again start work and round and round it goes. Days delays… :smiley:
Finally I got the parts.


Soldering ninja

Being the master solderererer I soldered the bloody 6pin ICSP header wrong way around. When all the other headers have their legs one way the ICSP header should go the other way. Legs sticking out where other headers have the black plastic part. Not an easy fix. But after a hour of removing solder and re-soldering I was finally done AND then I find out that the header is not even used...

Next up is connecting the grow connectors. Did a even split to fit all the 9 connectors nicely. Its pins do not directly fit and you need to spread them out to solder them in. Also good to note is to use more then normal solder here as you will be connecting wires to them.
Thanks @adrianlu for the wiring schematic. It was super helpful. I started with the 12V connectors both plus and minus.

Next up I connected the rest of the wires. Used a black for ground, blue for voltage and yellow for signal wires.


Time to stack them together.

Used instructions from @JoshSinykin to upload the Arduino SW and flashing the Raspberry pie memory-card. Thanks @JoshSinykin :smiley:
Surprising was the hours long the flashing the card takes. Maybe my reader is just slow as a snail. Left it in the workshop hoping it will be ready by tomorrow.


At this stage with quite a few hours into the build and even more hours waiting for all the parts arrive I feel like a milestone has been reached. Raspberry Pi is running and grow daemon is doing its thing inside the Arduino mega. Now I just need to attach all the relay boards and sensors to the Arduino bundle and off I go to grow things 🙂

Need to find space on the motherboard for all the electronics.

Humidifier in the instructions is attached vertically to the motherboard. Bottle cap humidifier sounds small doesn't it? Well in reality the thing is gigantic. No way I have room to fit it like in the instructions. I started a whole new hack to fit it. You can read all about that here.

Needless to say that the hack was a failure 😀 
But learned fun new stuff and had some fun making things. I recommend that all you people will take your crazy ideas and try to make them happen. Things would be so boring if everything worked out like in the movies 🙂 

Base board for growing

I have been concentrating on the frame, shield and motherboard. All these are just peripherals for the growing stuff. The main part of the food computers grow system is in the grow chamber. The grow reservoir and the grow top.

Grow reservoir

I found from my local hardware store a plastic container meant to store stuff under your bed. Its right size for this. Holds 80 litres of water and is suitable width to fit the Food computer. Length of it was a bit on the long side and I needed to have the motherboard wall closer to the end then I wanted to. But it all seemed to fit. It was made of transparent plastic. This is not good as the light will enhance the growth of alge and other not so much wanted buggers. So I sprayed it black and covered it ones over with black duct tape 🙂 Now the paint might get scratched off but the duct tape... that stuff is for ever.

In the reservoir there is a water pump that is submerged in the nutrition fluid and is constantly on to circulate the water. Also a air stone with air hose pumping air through the water constantly to keep it full of oxygen. I hear plants love that stuff 🙂

You can also notice from the picture that I added extra support to the sides of the reservoir. Metal L-bar to add support. When the reservoir is full of water the plastic reservoir is a bit strained structurally and started to lean a bit 🙂 


Grow top

Now the grow top. I did a little measuring. Used the lid as a guide and then used a router on the sides to give it a grove so it would sit nicely on top of the reservoir. Now of course it did not fit in one go so needed to do some "adjusting". But at the end it sits nicely on top. 

Grow spots 

I thought I distributer the spots so that it is 21 spots. Six rows with 3-4-3-4-3-4 distribution you can see in the picture also. This is quite tight but I'll give it a go. If a wider distribution is needed I can easily make another top 🙂 

Drew the squares on the top and cut off the holes. Now the rockwool cubes that are 20mm x 20mm fit nicely in it. Three other holes added. two 12mm round holes for PH and EC sensors and one small groove on the end to fit the air pipe, temperature sensor and water pump wire.

Finishing touches

Screwed everything in place. Relay board, sensor boards, Raspberry Pi and Arduino bundle. Connected all the cables as stated in the guide. Covered the Grow space side of the motherboard wall with aluminium tape.

Almost forgot to add the CO2 reactor 🙂 Its a bottle with water, sugar and yeast. Yeast eats the sugar and generates CO2 that is ran through a tube and a one way valve to the grow chamber. 

Humidifier has been mentioned before. Well I could not make a fancy upside down setup so I went with just a small bottle upright in the grow space. I think it will work out fine. 

Plugged in the power cord and turned my food computer on. No sparks no bad smells... So far so good 🙂

Connected the the USB cable to from the Arduino to my laptop. Running the Arduino SDK in serial monitor mode I could see all values from the sensor and see the state of all the actuators. Turned each on and off to see that everything worked fine. 

Used an old network switch I had laying around to connect the Raspberry Pi and my laptop to the same network.


Started the Gro-UI. Input the IP of Raspberry Pi that I took from the IP table in the switch and signed in as "plantos".
It took me a good while of troubleshooting and help from OpenAg forum to figure out that Raspberry Pi needs to have correct date and time before I could change the Environment Recipe. But managed to change it. Finally I have my Food Computer set up to grow things 🙂 

Stuck some rock wool cubes in the Grow top and a Romaine lettuce seed in each. Nutrient solution filled to the brim and Computer running. Ready for my first crops 😀