Raspberry Pi – at last

The raspberry pi, for those living under a rock, is the $25 linux pc that was announced big almost a year ago. It has a 700Mhz ARM CPU, 256MB RAM and an OpenGL ES capable GPU. To enable hardware hacking it comes with lots of GPIO pins. All in all about the performance of a premium smart phone from three years ago. But at $25 !!! The primary focus are school children, and the foundation wants to bring the fun on computing back to the children. Like every geek who read about it, I couldn’t wait to get one. First, the launch was scheduled for September or October, then postponed to February. The foundation decided they would outsource the shipping to some big electronics companies. They told them that a lot of people would try to get one of the first 10’000 boards, but still they weren’t prepared at all. The websites of the pi foundation as well as farnell and rs components were down the entire day. I got up earlier that day, hoping to be amongst the lucky ones. Later I signed up for a pre order somewhere in the queue for an upcoming batch. As with the first batch, each person could still order only one board. Then about a month ago, I received a mail indicating that it was time to place the order. And today I finally received it.

I have currently no monitor at my desk to plug it into, so ssh had to suffice for now. It would have been cool to see it boot live the first time, but I guess it looks the same as in the emulator. So, I downloaded the debian squeeze image that is specially crafted for the pi. First I booted it in qemu to make sure the sshd was properly configured, then I copied it to an SD card, and resized the partition. Ready for the first boot. Plugging it in, find the ip with nmap and connect with ssh. Installing software, so far everything seems to work perfectly.

Installing the dependencies for ROS was a breeze, no infinite loops as with the bifferboard. This one has an FPU. Compiling was reasonably fast as well, but it ran out of RAM at about 90% through. Although the prepared disk image comes with a swap partition, it was not enabled. With enough swap space, compilation got a step further, but then hit a compiler error in turtle sim. Before diving into, I found a page dedicated to ROS on the raspberry pi, that offered a patched version of turtle.cpp. The rest went through without issues. Installing the base system went smooth. My package for the robot arm depends on rosserial_python, when trying to install it rosinstall poked out an error to inform me that it was unable to detect my distribution. I had to set export ROS_OS_OVERRIDE=debian:squeeze but that was too late apparently. So I compiled the whole thing again.

The main ros installation went smooth. But my robot arm code depends on┬árosserial_python which in turn depends on rosserial. A similar issue is described here. So far, I couldn’t get rosserial installed.

$ rosdep install rosserial --os=debian:squeeze

ERROR: Rosdep cannot find all required resources to answer your query
Missing resource rosserial
ROS path [0]=/opt/ros/fuerte/share/ros
ROS path [1]=/opt/ros/fuerte/share
ROS path [2]=/opt/ros/fuerte/stacks


The following threads helped me getting rosserial and rosserial_python installed. The procedure looks a bit odd, but it works [1] [2]

Leave a Reply

Your email address will not be published. Required fields are marked *