mbed is a tool for rapid prototyping with micro controllers, somewhat similar to the Arduino project. I’ve written about Arduino before, so first some comparative pictures. (Left Arduino, right mbed.) I’ve included the Ethernet shield on the Arduino because the mbed has on-board Ethernet. Programming the mbed is done in the cloud. Where Arduino has an IDE that I install locally, I use a Web browser to connect to mbed’s IDE. When I compile a program there, the program is downloaded to my local system. I then copy/move the one file onto the mbed by copying to a USB disk on my host system. After pressing reset on the mbed, it loads the last program I copied onto the USB disk and runs that. Easy as pie. The IDE itself is so, so; it does what it should, but I’d rather use my own editor of course. I can, however, easily import and export files and programs. Getting the mbed connected to Ethernet is easier than I thought: I cut an Ethernet cable in half and soldered the four pins to a set of headers that I can stick into a breadboard. An experiment with the HTTPClient library showed that, with this library, the micro controller can issue three HTTP requests per second – not bad at all. The HTTPClient library also supports DHCP and DNS out of the box, and each device has a unique MAC address in its hardware. I can query that with

    extern "C" void mbed_mac_address(char *mac);
    char mac[6];
    mbed_mac_address(mac); // update mac to the unique mbed mac address

mbed’s documentation is not quite as good as that of the Arduino project, but it suffices to get started. And price-wise? The mbed is cheaper than the Arduino and Ethernet shield.

Hardware, Arduino, and microcontroller :: 04 May 2010 :: e-mail