ARM Cortex-M3 Prototyping On A Budget

NGX Technologies sent us this Blueboard LPC1768-H to play with. It’s basically a breakout board for an NXP LPC1768 ARM cortex-M3 microcontroller (datasheet). The board adds a few extra goodies, such as a choice of mini-USB connector or barrel-jack to provide regulated power to the chip. There’s also a clock crystal for the internal RTC and an Atmel 256kb EEPROM chip. This chip has 70 I/O ports, accessed through the pin headers on top and bottom of the board. The 20-pin header to the left is for a JTAG programmer (yes, you’ll need a separate programmer). Coming in at only $32.78 this is a very accessible route for projects that require more power than some of the traditional hobby controllers. The shipping seems to have come down since NGX’s last offering, now it would be under $10 to ship to the States.

The LPC1768 is the same controller from the mbed that we reviewed. What’s missing is some of the interface hardware and the boot-loader, but the tradeoff comes with a $66 savings. This is to mbed what an AVR board is to the Arduino, a way to get even closer to the hardware.

There are a few things we think are missing. Most notably, there isn’t a datasheet or user guide for the board itself.  The only information available is a schematic (PDF), but that should be enough for those already well versed in working with microcontrollers. There is also a 12MHz clock crystal on the board but it doesn’t seem to be jumpered in case you wanted to use a different frequency. We’re not sure if this is much of an issue, the internal RC oscillators offer a lot of flexibility including operation up to 100MHz.

We feel this is a solid platform that will help to get more people into ARM development because of its low price. Let us know your thoughts in the comments.

38 thoughts on “ARM Cortex-M3 Prototyping On A Budget

  1. As a purchaser of an mbed, I’ve been playing with it for two months now and there are some definate pros, but some definate cons
    pros
    -easy c style development environment is easy to pick up and there are lots of code examples
    -onboard etherner
    -ease of programming (usb disk just copy .bin file)
    -debugging is easy with onboard LEDs
    -small footprint
    cons
    -need internet access to compile
    -limited access to lower level hardware
    -price (not that bad, it was $75 CAD shipped for my girlfriend when she got it at christmas)
    -blue LEDs

    all in all it’s good board to start with and an excellent widget, it’s also great for interfacing widgets to a computer, but as stated above, there are some limitations

  2. Looks very interesting, I would love to see similar products for ST’s cortex-M3 microcontrollers, all progress of leaflab’s maple leaf seems to have ground to a hault.

    1. Anything is possible if you’re willing to put in the time to make it work. The key thing is figuring out whether or not it is worth your time. Figure this: how well would android run on a computer circa 1995 (100MHz, 32b era)?

      Look into a cortex-A series if you’re looking to do “Applications” processing. Pick this if you want to do touch screen or linux stuff;

      “R” series is more geared toward “Real-time” industrial systems control with an RTOS;

      The “M” series is meant for “Microcontroller” applications, like sensor reading, maybe some serial communications, and PWM/servo/motor control;

  3. As an alternative if you don’t mind MIPS to ARM (makes little difference when using GCC anyhow), PIC32MX is still ridiculously cheap for what it is at the moment, also tops out at 100MIPS and dev boards can be had delivered for about 60% the cost of this one. But you trade Ethernet for a USB slave/host.

  4. @Eric
    I can’t tell you how much blue LEDs annoy me, they are insanely bright when you’re doing things at night. The single LED in my usb headphones is bright enough to double as a flashlight, hell, it shines through electrical tape in the light.

  5. For those who don’t want to deal with an external programmer and want similar power (minus the EEPROM and the 32kHz crystal) the PIC32-based UBW32 comes in at only a few bucks more. Not an ARM but still a pretty fun device if the 8-bit units are a bit too wuss for whatever you may have in mind.

  6. A couple of questions:

    1) Can’t we use BusPirate as a JTAG programmer?
    2) I think Sparkfun published a bootloader for ARM LPC microcontroller. It can be used for ease of programming right?

  7. -need internet access to compile
    -limited access to lower level hardware

    Those two lines caused me to lose all interest. 80% was lost due to need for internet access, the remaining 20% of my interest is lost due to lacking lower level access.

  8. @Scotty

    The cortex-m3 doesn’t require internet access to compile, that’s the mbed. The cortex-m3 just requires a jtag programmer… but it would be nice if the board had a usb jtag programmer built-in.

  9. @The Ideanator

    I agree, I put some blue Leds on my PC (for power/hdd) and it was like high-beams, I eventually just disconnected them.

    I think your problem isn’t with the color so much as the intensity, I wish dim and diffused blue LEDs were used in more electronics.

    $32 is a great deal, and ARM needs cheap breakout boards, Thumbs up for this post :)

  10. @TheR Maple’s not dead yet! LeafLabs just hired a new employee (me!) to get the IDE, library, and docs rolled out in time for the next shipment of boards which should be coming back in a couple weeks. You can see what we’re up to on github (http://github.com/leaflabs); we’ve been super bummed about the dearth of Maple boards after long customs delays and design iterations but we want to be out hacking and getting distributed as soon as possible!

  11. … also, that being said, we’re super impressed with NGX’s price point and the awesome USB mass storage setup the mbed has. We’d love to see the arduino IDE targeting all of these platforms as an accessible starting point, plus gcc-based libraries for power users, plus free-toolchain-compatible cloud-based compilation and code sharing as a social hook.

  12. @Michael

    The M3’s are targeted at lower level applications than image processing. You probably want to go with an A8 (specifically TI’s OMAP chip on the beagleboard and gumstix can come with DSP).

    That being said, this is a great price for a dev board (although lacking a programmer is a con). If you can squeeze your application code onto it then you will save some serious money. I will probably be getting one to see what it can do.

  13. “looks suspiciously like an arduino.”

    Well, most small MCU development boards that I’ve seen in the last 20 years “look” suspiciously similar to an Arduino, that is ICs in the middle, large headers on the sides, some power supply components in one corner, etc.

  14. Interesting, I just bought one of these yesterday:

    http://www.futurlec.com/STM32_Development_Board.shtml

    Just for my own projects I think I am going to design a simple board based on STM32F105 for the USB bootloader alone. Makes it so much easier for anyone you want to distribute your designs out to, no special hardware, and in most cases, no special pins either, just connect as you would in use and flip a switch to enter DFU mode.

    But get my feet wet with the development board first, haven’t used any of the family before.

  15. Just thought I’d add that the STM32’s all have a serial bootloader, no JTAG required, though it is a nice to have. Take a look at OOCDLink for an open JTAG project (haven’t built one yet, but it’s in my queue…).

  16. @daphreak – my vision processing ambitions are pretty small at the moment :) Simply finding a bright object (a candle flame, in fact). I figure since an ATmega is capable of object detection/tracking (AVRcam), this ARM would offer some additional power. Altho I am currently considering Propeller as one platform… anyhoo…

  17. The analog design of this board is not good. In fact, it’s so bad that you should expect to be able to use the LPC1768’s built-in ADC. I measured 200 mV of noise on the analog ground on my board, which just kills ADC performance.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.