BeagleBoard. LEDs and Buttons

Finally I've been brave enough to solder a connector into my BeagleBoard expansion header to further explore how to attach different stuff to this little one. After verifying that the board still boots (i.e. it survived my poor soldering skills :) I went for the "Hello World" for this kind of hardware... a blinking LED.

As many other before I ended up in this nice Make blog post (http://blog.makezine.com/2009/02/03/blinking-leds-with-the-beagle-board/) using GPIO_168 on pin 24... but it didn't work. Some more search and I found this other nice tutorial (http://bbfordummies.blogspot.com/2009/07/1.html) on the topic. Same stuff, same GPIO and same result. I started to get worried about my soldering :).

Some failed random tries later, I decide to read the comments in this latest tutorial. An yes! Acolyte suggests to use GPIO_157, that is pin 22... the very next one in the same row... and suddenly my LED was lighting red.

BeagleBoard Blinking LEDBeagleBoard Blinking LED

It is a bit hard to see it in the picture but that LED was really bright to my eyes :).

So far so good. Now that I can get something out of the Beagle it is time to try to put something in. For that I decide to use the nice scripts in my reference tutorial. I just connected the GPIO_157 to one side of my button, ground (pins 27 or 28) to the other side and pressed the button. Nothing happened.

This time I started trying with all the GPIO pins in the manual. I haven't gone through all of them but I think I went through most of them. It looks like that only GPIO_139 to GPIO_136 (those are pins 3, 5, 7 and 9) work as input. I'm assuming that the read_gpio scripts does whatever is needed to use any GPIO as an input, and I'm also assuming that my Ubuntu (U-Boot and Kernel) has an standard pin mux configuration.

BeagleBoard External PushButtonBeagleBoard External PushButton

Anyhow, for the time being, I can only use four buttons this way. That would be enough for picoFlamingo. Two buttons to move up and down a selector plus an OK and a CANCEL button. That should be OK for a minimal interface until I found out how to get the most out of this expansion header.

After my trial and error input GPIO mapping process I found this interesting page (http://michaelshiloh.pbworks.com/w/page/51941968/BeagleBoard) containing everything I had found plus some more extra bits.

cheers
The picoFlamingo Team