After receiving a few vital components, I was able to start plugging things together today.
Here’s a look at what’s assembled, plus whatever other parts awaiting connection I currently have:
A – BeagleBone Black, plus 8GB Micro SD Card for root filesystem
B – Serial Debug to USB lead
C – USB Hub
D – Arduino Uno + Motor Shield
E – (to connect) Gyroscope/Compass
F – (to connect) Temperature Sensor
G – (to connect) LCD Panel
H – Network over USB lead
I – USB Sound Card for mic+speaker
J – USB WiFi Dongle
Finding myself with a 7-port USB Hub, I decided to move the Arduino onto that rather than connecting it to the BeagleBone via I2C. This makes wiring a heck of a lot simpler.
Lead H uses the BeagleBone’s onboard USB Networking connector which allows connection directly to a PC’s host USB and makes the BeagleBone appear as an IP-over-USB device. The Ubuntu ARM image I grabbed from here had support for this already enabled. It’s fairly redundant now as the USB WiFi dongle has been configured and I can SSH to it over the network, in an emergency the USB Serial Debug lead adds a direct serial console. It looks like I may have to poke around to get or write device drivers for the Beagle’s GPIO pins. One of the next tests will be seeing how much (if any) access I have to these by default.
The three parts shown still requiring connection are the Gyroscope/Compass over I2C, a Temperature Sensor which looks like it’ll connect directly over GPIO, and an LCD Panel which will require a veritable mess of GPIO wiring.
Two motors are on order for connection to the motor shield, and I’m fairly certain I can dig up an old USB Webcam to give it video input. I’ve got a couple of ultrasonic distance sensors coming from China … some time this century 🙂
I’ve installed a very basic Ubuntu 13.10 for ARM onto the Micro SD card, which it now boots from instead of the onboard eMMC flash memory, which I’ve left with the original factory-supplied Angstrom Linux OS. This allows me to pull the Micro SD card to make easy backups and play with alternative software loads if required. I removed the default Apache install (which was pretty much the only unnecessary daemon running) and replaced it with Lighttpd. The only other thing I installed was an official Oracle Java JDK.
Next up will be prototyping a chassis with Lego to hold all of this together. This will be the “stage one platform” which will be replaced by something more permanent later after I’ve had time to mess around with things.
Currently this runs directly from a 5V Power Supply connected to the mains, I’ve got some longer-term portable rechargable options to look at. Also going to look for some far shorter USB cables!