I've been working on the RasPi port, and have had almost complete success with the exception of uploading firmware. In my debugging process, I came across this tutorial for making GPIO work to the Atmega chip:

Two questions:

  1. Does the cape include the circuitry necessary to pull a 3.3v standard GPIO output to the 5v required by the chip?
  2. Am I correct in thinking that the script is just toggling power on and off the Atmega's reset pin via a (more or less) direct connection on GPIO1_0?


1. Yes. The BB has 3.3V signaling equal to the Pi. therefore the cape has a level shifter. this circuit is a TXB0106 and has designator U1, you will find it on page 2 in the cape schematics:

2. i believe so. you could even toggle the reset yourself if needed with a switch.

if you get this to work on the pi, we should have the fix for the bb aswell i guess ;-)


I should be able to try this all tomorrow and will post results.


Update: I spent a good two hours debugging the linked solution to uploading to an Atmega328 via serial to no avail - HOWEVER, the problem I ran into was with the compilation of the OpenROV arduino code. For some reason it is not automatically sourcing the Servo.h file in the standard distribution of libraries. Substituting the absolute paths got the code to compile partially, but still ran into "Servo.h not found" - type errors when creating the hex files to upload. I will continue to debug tomorrow afternoon; hopefully the problem is a simple variable for library path or the like that can be set in .bashrc and solve all the problems in one fell swoop.


Dead some further research tonight into the technology behind the linked fix. arduino-mk is a Makefile for the Arduino IDE. My library errors most likely come from not configuring the path to the libraries with in the makefile properly, possibly because of copying the file to the OpenROV directory or because of updates to the IDE. Fingers crossed that this is the only problem - if so, OpenROV-Pi should be spinning props by tomorrow afternoon.


I can't wait!!


This is very exciting stuff!

Your blog has been extremely helpful to me in adapting the OpenROV software for my own RPi setup (thank you!).

I'm really looking forward to seeing your future progress.

One question:

have you seen any stability issues with your setup? I'm finding that running mjpg_streamer on Raspbian causes the Raspberry pi to lose its mind after about 3 hours or so (no responsiveness to pings or VNC or ssh requests--I haven't checked the desktop via HDMI because I don't have a compatible monitor).

Have you seen similar issues?


I haven't tried running for anywhere near that long yet. If you have anything with an RCA input (like an old TV) you can use that to debug, although the resolution isn't great. Right now I'm working mostly on the Arduino code, but next time I get the chance I'll leave the cockpit running for a while and see if I get a similar effect.


Do you find file???I cannot find it too