$300 Food Computer - MVP


For the MAC address, try in Python:



@Webb.Peter @webbhm

I continued to have trouble getting my Wi-Fi to connect. The new MVP Stretch build would not connect to my Wi-Fi, no matter what I tried. I had imaged it onto a new 32GB card, and I had my basic install of Stretch (with the Couch issues) on a 16GB card, and same with it. Feeling somewhat frustrated, I used the link to the old Jessie you provided about a week ago. I just finished imaging and booted it, and in the space of about a heartbeat, it connected to my Wi-Fi. Success! This suggests to me there may be an issue with Stretch and Wi-Fi.

I need to go back through the software build as outlined in the docs and video, and hopefully I won’t have the issue with Couch. I completed my modified enclosure today, and am ready to start the brain build. I’ve had a few unique challenges; as you remember I’m basically building an MVP with twice the area as your model, and plan to use double lights, fans, tubs, etc., and I’m also considering a Raspberry controlled pumping system.

The biggest issue I’ve had so far is that I don’t know code. I can follow step by step instructions, but I can’t correct control system problems without assistance. I think that as this project gains attention and popularity, that may be the greatest challenge.

I have one question; I believe I’ve reviewed all the pertinent instructions and video, and I still do not know where you recommend I place the sensor within the enclosure. It seems intuitive that placing it near the middle about halfway up a wall would be optimal, but I’d appreciate your confirmation.

Thanks for all your help so far.


Yes. Wifi configuration with wpa_supplicant is one of many things that work a bit differently on Stretch compared to Jessie. On Stretch, your wifi will probably work if you make your /etc/wpa_supplicant/wpa_supplicant.conf file look like this (substituting the correct country code, ssid, and password):

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

The first line with the “ctrl_interface…” stuff wasn’t necessary on Jessie, but it matters on Stretch.


@RadioDave Place the sensor inside of the box (it won’t reach too far with jump cables). I’m interested to hear if anyone attaches multiple sensors the difference between top & bottom. Please confirm that you have it working now, I got a little lost between the multiple posts what exactly the problem is with Stretch.

@wsnook I’m familiar with headless but I don’t really see how that would be easier for the user. Actually, it seems to me it would be significantly harder (people are lost without a desktop).

@RadioDave @Mann23 I’m just going to say it: at this point in time I don’t think pumping systems are worth the amount of time/effort/expense required. PH/EC sensors tend to be $50-100 depending on quality, keep in mind, quality is extremely important as it relates to longevity. If a PH sensor goes out of calibration, then that makes it very easy for a peristaltic pump to get turned on for a long period of time (killing all of your plants). Lastly, I’m very interested in High-Pressure Aeroponics, which if done right will not require continuous PH/EC monitoring. What you’ll find is that while EC is a place to start measuring, it really doesn’t tell the full story. All of that being said, if one of you wants to add on PH/EC please feel free and document the process an I’m happy to add it as an option.

@hwnesmith I saw the pics you posted here: Call for your photos and videos! and just wanted to make 2 notes:

  1. It looks like you fan is zip-tied directly to the top of your enclosure, this won’t allow for any airflow, I would recommend lowering it a few inches.
  2. Are your bus tubs clear? I would recommend using bus tubs with an opaque exterior, otherwise, you’re much more likely to get root rot/other forms of disease/algae in your root zone.



Oh… I guess I just assumed that you would be interested in moving towards automated setup scripts as a way to reduce the need for maintaining documentation about lots of manual configuration steps. It sounds like maybe that’s not what you had in mind.



Thanks for your reply.

As far as the sensor, I’ll ponder placement. I may look for a way to extend the cables. It seems to me to be more effective to have the sensor nearer to the level where the plants are growing. I haven’t tested the sensor yet; I’m now using Jessie, and today I had a problem with my video, so I haven’t completed the software build. I’m working on the “brain” assembly now.

Regarding the pumping system, I’m not looking for complicated monitoring. I may be able to clone the lighting subroutine to close a circuit a few times per day to run a pump. Once a day might be adequate with what I’m thinking of. Maybe a simple open/closed water sensor to detect when the level in the tub is low. If/when I get to that point if I can’t solve it on my own, I’ll ask for help about how to do specific things.


If you ordered from the BOM you should have an excess of “Jumper Cables” we’ve talked about suggesting people use these to extend the length of sensors. It’s definitely worth a shot if you’ve got them - let us know how it goes.

Great @RadioDave - keep us in the loop, @webbhm actually already has a liquid level sensor that is relatively accurate. Honestly, a really easy solution is just a “Float stick” that we definitely should add.

@wsnook you know we want less manual configuration, acutally I want virtually none. I’m interested in how devices like Alexa (We’ve talked about this before) and other IoT devices get connected with Wi-Fi without ever needing a mouse/HDMI. I plan future releases for people to burn an .img to a card and then my hope is to connect to the device via a phone/tablet/pc - if you have suggestions and methods I’m all ears. I understand what you’re getting at long-term by using that route to set up long-term connectivity rather than having NOOBs. Perhaps this is an area you can help contribute to?


Setting up linux servers is an area I find generally fun and interesting, so yeah… maybe that has potential.

FWIW, based on my work experience with operating web application servers, I’d recommend against an install process that’s based on building SD card images. I say that because I know your goals are about hydroponics and aeroponics, and putting yourself in the position of maintaining a new Linux distro would distract from that. The big problem would be that you don’t want to be on the hook for making a new SD card for every critical security patch that comes out–like ones that will be coming down the pipe soon for the Wifi Krack WPA2 protocol flaw.

If your installation and update process uses a script that customizes a vanilla Raspbian install, then you can offload all the normal apt-get upgrade stuff to the Debian and Raspbian folks. They’re already keeping up with security updates.

Networking MVP's to simplify firewall issues

Are There Known Raspberry Video Issues Using Older Monitors?

I’ve been using an old VGA LCD monitor with a VGA to HDMI converter. Yesterday I stopped getting video from the Raspberry Pi. I know it’s still booting, because I can see it connecting to my LAN via password protected Wi-Fi.

So after troubleshooting, no video output from the Raspberry to a known functional monitor. I also tested two VGA to HDMI converters, both new. No display from the dead monitor with a known working source of signal.

The only conclusion is that both the monitor and the video output of the Raspberry are no longer functional. I didn’t smell smoke, and there were no obvious signs either component was failing, except for no video. Are there any known issues anyone is aware of relating to older monitors and the Raspberry? I’d appreciate a link to source if you’re aware of anything.


If your problem is a known issue, somebody’s probably asked about it over on https://www.raspberrypi.org/forums/ or https://raspberrypi.stackexchange.com

When I tried a google search for “raspberry pi no video”, there seem to be lots of relevant troubleshooting guides: https://www.google.com/search?q=raspbery+pi+no+video

Also, are you using a good power supply? For a Pi 3, it needs to be rated for 2.5A.


I’ve noticed that if I have a powered on Pi and plug it into a monitor it won’t always show up. To remedy this I usually can just plug the monitor into the Pi while it’s still off, then power it on, and it will show up via HDMI.

If that doesn’t help I’ve got nothing. :confused:


@wsnook @Webb.Peter

Thanks for your replies. My main concern is that I will have a new Raspberry delivered tomorrow, and I have one remaining functional old VGA monitor. If there is an issue with that configuration, then I obviously want to choose another option. I looked over the links provided by wsnook and didn’t see a solution to my issue. I guess I was hoping someone would have said, “Yes! You have to do XYZ to correct it.”

And I do have a 2.5A power supply, from the BOM. And as a practice I connect peripherals before applying power. This wasn’t really a MVP build question, but I do appreciate your replies.


If you’re worried about electrical problems with hooking displays up to your new Pi, maybe you could just set it up for ssh over wifi. That’s what I always do, and it works great.


@wsnook, @Webb.Peter
I thoroughly agree on not wanting to get into image maintenance; however, install scripts and such are not my are of knowledge. Do you have some suggestions on what we should be trying?


The Bus Tub link in the BOM is incorrect. The previous link was a Wal-Mart product that is out of stock, so I bought something else, but I read that tubs can lead to trouble if they allow light to pass inside, so I decided to order it. The link now goes to a product that is the lid only, for $9.00, and it’s designed to fit a tub that is $10.00 each and probably not opaque either. There is a grey one it may fit, but those are $12.00.

I may get a couple rolls of darkly colored adhesive contact paper and just cover the outside the tubs I already have to help block the light.

Edit: I didn’t disclose earlier, but yes, I was a fool and ordered them. But they may be the answer to something else I was considering. I was thinking about some sort of overflow tray under the tubs (protection from errors) for when I eventually set up automatic pumping. I think with a little ingenuity these lids might serve that purpose.


I use a two stage setup process that starts with some manual steps for burning an SD card, connecting to wifi, and configuring locale-specific stuff. The raspi-config tool is good, and people from many countries follow the OpenAg project, so trying to script a one-size-fits-all initial setup part is perhaps more trouble than it’s worth. But, I have written up readme documentation that lets me easily copy and past commands. It includes decision points for people to fill in appropriate locale and network specific blanks. Feel free to copy any or all of those instructions.

My second stage uses a deploy script that’s modeled on what I’ve used in the past for maintaining web applications. The script:

  1. Checks that necessary dependencies are installed and installs them if needed.
  2. Checks out the latest version of my code from github for whichever branch I specify as an argument to the deploy script. My code is designed to run as a systemd service.
  3. Makes sure the service is installed, enabled, and started (see man systemctl).

The point of the deploy script’s structure is that I can use one simple command to both install my data logger app for the first time and to update to new releases as I improve the code. It includes a number of sanity checks designed to print useful error messages so I don’t waste time on the sort of silly, obvious problems that are easy to overlook when you’re in a hurry.

This arrangement is designed to work as a simplified version of what’s commonly used for commercial web applications where you develop code in a testing environment, get some people to try it out on staging and QA servers, then deploy it to your production servers. A lot of that stuff gets really complicated, but we don’t need to worry about fancy tricks to support millions of users or switch code with zero downtime–simple techniques will suffice.

I think you could probably convert your python code to run as a service without much trouble. You’d need a service file kinda like this one, and you’d need to implement a control loop to keep track of the time instead of relying upon cron.

Networking MVP's to simplify firewall issues

Thanks for the heads up @RadioDave. I was aware that the Wal-Mart item went out of stock and wanted to consolidate sourcing. I’ve got almost everything to only Amazon and just a few items from a hardware store (I picked Lowe’s). For some reason, bins are super expensive on Amazon. I got excited when I found the food safe $9 option. If anyone has other suggestions I’d be very interested - this is something I’ve shopped around for at great length.

Random thought: **IKEA has most of the things needed for an MVP (awesome bins) - I’d be interested to see a BOM with one sourced from there @Marie-Claire may be a cool project **

What you’re suggesting should work to cover the reservoirs, I have spraypainted clear ones in the past, it takes a few coats but works.

I updated Amazon list and BOM to have two totes again. I prefer this approach as it allows for experimentation and variety when growing hydroponically.


P.S. @wsnook @webbhm I love that you’re discussing these development related issues and want to continue the conversations. From what I’ve seen in terms of user success (@bennis, @pspeth ) an image is easier than a step by step walkthrough. End-game is entire headless setup (including wifi). That being said, can you please continue your discussion on this thread: MVP - Product Design (or make a new one, I’d love to see your setup @RadioDave) I know this thread attracts a lot of newcomers and want to keep the conversation focused on MVP users.

Thanks again,


Oh my. I took the new Raspberry out of the box, hooked it up to a known working monitor using the new(er) HDMI to VGA converter, and no video. Then I realized there was one variable (I believed unlikely) that I had not tested. I removed the SD card with the version of Jessie that had successfully connected to my Wi-Fi, and replaced it with the one with the install of Stretch. It worked, even with the monitor I had thought dead. I suspect that if I try the original Raspberry with this card it will work as well.

So my question; if I reformat and re-image Jessie on the problematic SD card is it likely to work, or would this suggest some hardware failure within the card? I won’t reuse the card with Stretch on it as it’s a 16GB card, and I don’t want to have problems with storing data later on.

Hopefully the issues I’ve been experiencing trying to get the Raspberry set up for MVP aren’t typical; as it’s taken a lot of perseverance on my part to keep working on it.

Edit: Reformatted and re-imaged the problematic card, and received the same no video. I picked up another card today, am in the process of formatting and imaging it.

Edit 2: New card imaged, works fine with Jessie and connected to Wi-Fi immediately using the original Raspberry. Looks like I have a spare Raspberry. Now going back through the software build steps.


The new tote is the same model I have, except mine isn’t opaque. The lid is has to be turned upside down, otherwise the cups won’t reach the water, but it’s reasonably snug.


I think you - and several others (@bennis) - have run into the same problem I just did. This walkthrough is for anyone trying to Re-Image a card onto an SD with an image already on it.

I wanted to update my MVP at TechShop to the newest image, keep in mind I was using my laptop (Dell XPS 13, running Windows 10) which I have used to image cards before. I already have these three programs installed which are necessary to image a card (unless you know of a better way).

  1. SDFormatter
  2. 7-ZIP
  3. Etcher
  • Before anything I took a USB flash thumb drive inserted it into the Pi and then dragged the OpenAg-MVP folder from Documents onto that removable USB drive. This way I saved all of my pictures/data.

  • I removed the SD card from MVP Raspberry Pi and put it into my laptop - I immediately received a message saying I needed to format the disk (ignore it):

  • Open your file explorer and delete all of the existing files inside of the removable drive you just accessed:

  • Run SDFormatter to format the card - this ended in an error saying it couldn’t format properly - THAT’S OK! Do it again, the second time you’ll have success and have a clean SD card (finally).

  • Download the new image provided by @webbhm: MVP_1_2 and then right clicked on the zip file - and clicked “Extract All” which might take a few minutes to extract a disk image file - in the end you should have this:

  • Now open up Etcher and select the desired Disk Image (wherever you just extracted the MVP_1_2 file).

  • At the end, slide the SD card right back into the Pi and turn it on. If you are using an HDMI monitor to see the user interface you’ll need to type “startx” in the command prompt to get the graphical interface, otherwise you can just SSH right in.