Until we get a wiki going it seems like this PCB should have its own little thread. So I figured I'd make one and test the editing capabilities of this forum thing. Having one long string of posts can be annoying so hopefully we can structure this as a few posts that are just edited over and over like a wiki until it gets ported to a wiki.
So what is the Arduino Cape PCB? It's a simple custom arduino for controlling an OpenROV! It makes life easier by using something common rather than something obscure for the lower level functions of the ROV like turning on the motors. At the same time it is a really powerful idea because it lets you develop your own programs for having the ROV drive around on its own, like they are doing with the DIY drones arduino based autopilot. Running a USB web cam and the web server are left to the beagle bone because a little linux computer is good for stuff like that.
Overall Purpose of PCB
- Make it easy for people to program the OpenROV using Arduino rather than embedded Linux
- Control motors
- Control lights
- Read sensors(depth and heading to start with)
- Accept/send remote commands from/to the Beagle bone for remote control over Ethernet tether and GUI display in browser
- Provide provisions for future expansion and hacking(unused pins brought out etc)
Current things to address
- Adding more wiring to schematic to connect arduino pins to the beagle bone based on Arduino code under git
- Finding a way around having to add a 9V battery (DC-DC converter that accepts a wider range and puts out 5V? bigger capacitors?)
- Adding previsions for a FTDI to be connected to the cape temporarily for arduino programming when disconnected from beagle bone, or wiring so that you can program with ftdi while connected to beagle bone (http://www.sparkfun.com/products/9716)
- The PCB needs a way cooler name like the Ardupilot board. ArduSwimmer?
- Does it make more sense to have a few motor controllers on this PCB rather than multiple discrete motor controllers that take servo inputs? Maybe something similar to: http://www.sparkfun.com/products/9479 would help keep the wiring inside the ROV cleaner?
- Based on the Adafruit beagle cape
- Mixing the Adafruit board with an Arduino
- OpenROV arduino code on git
- Sparkfun Eagle Library on git (may as well follow the leader!)
Here's the version we worked on at the NoiseBridge hackathon: https://github.com/scubasonar/openrov-electronics and I'd like to keep adding to it and passing things back and forth.