OpenAG Brazil -- PFC 2.1


Continuing the discussion from Where are you building your Food Computer?:

We (@vitorbarao) and some other folks are close to complete our own version of the PFC 2.1. We faced some challenges with the brain and hardware parts, but we are almost there. I’ll be sharing with you these difficulties we were and are still having and, even though the 1.x and 2.x versions are no longer being maintaned by MIT we hope that the community embrace us :grinning:


So, I had to I install the latest version of Raspbian (Stretch) and followed the installation tutorial with Docker.

Then, I connected the Arduino Mega and Cam (Raspi Cam 1.3) and I saw that /dev/AMA0 (Arduino) and /dev/video0 (cam) were not appearing. After adding bcm2835-v4l2 to /etc/modules and restarting Raspi, they appeared.

Then, according to the tutorial, I accessed the container of the brain and ran the commands to start the workspace. After that, I received the following error: “Error: The ‘sha1’ sum ‘{sha_number}’ of downloaded file ‘tool-avrdude-linux_armv6l-1.60001.1.tar.gz’ is not equal to remote ‘{sha_number}’” I ran platformio upgrade from inside the container and tried to start the workspace again. After that, it gave me another error: “Error: Please specify ‘upload_port’ for environment or use global ‘–upload-port’ option.” and now I’m stuck. I’ve changed all the platformio.ini files I’ve found and added the upload_port = /dev/ttyAMA0 and had no success.

Could anyone help me? :frowning:


This probably isn’t what you had in mind by “help”… But, my advice is that you could probably build a new software stack from scratch for less time and effort than it would take to get the old software working. And, you would probably be happier with the results from doing it that way. For context, check out this thread: Getting the software up and running.

One big problem is that the old software used custom-built packages without version pinning for the dependencies. You’re probably going to have a lot of trouble with scripts and manifest files that expect versions of packages that were current in summer or fall of 2017.

The old PFC v2.x software used several complicated tools that could potentially be replaced by something a lot simpler. You don’t need ROS or CouchDB. For example, you could take camera images with a cron job, and you could put them in a folder that is served by Apache, Go, etc. For logging sensor data, you could append to a CSV formatted text file. If you have images and csv files, it’s easy to move data around with rsync to process however you want on a workstation with a good monitor and keyboard.

If you have any interest in discussing designs for a possible alternate software stack that works with PFC v2.x hardware, I’ve thought about it a lot and might have some ideas.


@house Do you think some of your software might work for @stefanie to use? Is it on github?

[edit: I found this,, but I noticed that it doesn’t include a LICENSE file.]


This is awesome! I do have interest in discussing this with you. Would you mind if I reach you along with another colleague that is working with me on the same project?


Sure. This thread is probably a good place for whoever is interested to discuss it. If you look at the second half of this comment from the “Getting the software up and running” thread, there are some ideas about converting a pfc build to start growing right away. You could also get good ideas from the MVP design and from house’s pfc software.

My main recommendation is to put your sensor logs in a CSV file rather than a database. It’s very easy to do from simple python scripts. And, if you use a timestamp as the first field of each line, it’s simple to filter out just the data for today, yesterday, or whenever to make charts. Python’s matplotlib is very good for charts. If you set up apache to serve a directory of static files, you can put .png charts there and update the index.html file to display the latest system status. If you take camera images, you can handle them in the same way.


@tadeuamaral would you mind checking this thread too? The are some tips that surely would help us :slight_smile:


Thank you @wsnook !

My repository, we are changed recent architecture “Arduino2560 + ESP8266” combination.(We are dropping in now Raspberry Pi - Arduino Mega 2560 ).

My project divide Raspberry Pi only used for camera function and throw data to remote- servers.

I thinks @stefanie if you wants following our architecture like only Arduino Mega 2560 + ESP8266, I can help you : )