Model7 code now on github

I decided to put the code for this robotics journey on GitHub. Not really because I care to share it, but because I need a good way to bounce the code across two development machines onto the BeagleBone. Git is very easy to get working on Angstrom, subversion is not.

GitHub

Otherwise, it’s been a productive day. I wrote a python class to control the RoboClaw. I’m now sitting down to flush out some Arduino Mega stuff.

P8 and P9: Confusion and Progress

Spent a little bit of time writing python code to talk to the RoboClaw. After I got the MUX mode set correct for UART1, I could not figure out why a loop-back test was not working. If in doubt, read the reference document. It turns out I had was using the right pins on the wrong expansion header. Resoldered the serial lines for UART1 and UART2 back to P9…and it works. Personally, I think it’s even simpler to write serial byte commands in Python than using the Arduino. It should only take a few hours to come up with a simple state machine that can use the five front-facing distance sensors to do obstacle detection.

Otherwise, been a busy day buying The Boy a new bike, acquiring construction tools at the Home Despot for a project this May, and cleaning the bbq.

LS20031 and the BeagleBone

After several hours of trouble shooting, I finally got the BeagleBone and a LS20031 gps to talk.

I hooked the LS20031 to UART5 of the BeagleBone. The LS20031 has 3.3V TTL serial, so a level converter was not required. UART5 looks to be the toughest of the serial ports to use. The trick to getting UART5 RX and TX pins (37 and 38) to work, is to set them to MUX mode 4. Most of the other serial ports work in mode 0.

A second problem is the LS20031 is really picky about startup. If you have the RX or TX pins connected and power cycle, the unit does not always come back online. This is indicated by the red LED being constantly on. The only way I have found to make it power on correctly is to reset the BeagleBone. Note: I am using the 3.3V power supply from the ‘Bone.

Small success

Wrote a simple Arduino sketch that reads from five HC-SR04 distance sensors, then sends that data over the serial line. The Mega is connected to the BeagleBoard (through a powered USB hub). A python script correctly reads in each line of data transmitted from the Mega. Baby steps.

Bricked the Angstrom image

I think the angstrom package updater tried to update the kernel. This bricked my BeagleBone. It took several hours to rebuild the image (the hard way), then reinstall the software I want.

Turn’s out the BeagleBone is for early adopters. Buy it, play with it, and don’t upgrade it. The makers next really planned on doing distro updates with any kind of Quality Assurance.

Edit 2015: The BeagleBone Black has better long-term linux support. However, if one really wants stable updates, choose a Raspberry pi.

Beagle Board first steps

Got a partially booting BeagleBoard. Spent an hour battling the serial port. The IDC10 adaptor I purchased was not a pass-thru. It is very nice to get serial output without a working kernel. Managed to get an angstrom kernel working with no rootfs.

The downside to this board, is that it does not have built-in ethernet. You need to buy the add-on board of a USB dongle.

Edit 2014: Gave this board to Robert Wamble. In the age of Raspberry PI’s, this board is an antique.

 

beagleboard