Here is a short list of some inexpensive Cortex-M boards that I know about:

Freescale FRDM (Freedom) boards

There are many more FRDM boards available now. These were, I think, the first two launched. But pretty much any Kinetis part has a corresponding board.

Also, be sure read about fixing the FRDM firmware. The boards ship with awful, idiotic firmware, but you can replace it with something better.

STMicro STM32 Discovery boards

There are many more Discovery boards available.

ST’s Nucleo boards are also interesting, but I haven’t tried to use any of them.

TI Launchpad boards


Paul Stoffregen’s Teensy boards are inexpensive and highly-regarded.


The FRDM-KL25Z is Freescale’s first FRDM board. It costs about USD15.00 and sports the following features:

Freescale FRDM-KL25Z

Why I think this board is great

Bang for buck Cheaper and faster than an Arduino. Plus, it’s an ARM, not an AVR. (I’m not a fan of the AVR.)

128 KiB of Flash memory While not megabytes, this is a lot of code space for a small microcontroller. And because it’s not an 8-bitter, there is no need to play funny games with paging to use the memory.

I like Freescale’s hardware I’ve been playing around with their 8-bit parts – the S08 series – and I really like them. They are solid, well-engineered, and pretty bug-free. (Freescale’s firmware is another matter though...)

Cortex-M0+ This series of MCUs from Freescale – the Kinetis L – is apparently the first in the industry to sport a Cortex-M0+, which has a few nifty features:

What I don’t like about it


The FRDM-KL46Z is, I think, the first follow-on board to the FRDM-KL25Z. It costs about USD15.00 and sports the following features:

Freescale FRDM-KL46Z

I don’t have one of these boards (yet) but I’m assuming its strengths and weaknesses will be the same as the FRDM-KL25Z: good bang for buck, some interesting peripherals, but the same awful debug firmware.

STM32F0 Discovery

As an introduction to their Cortex-M0 family, the STM32F0 Discovery can’t be beat. I got a couple free at a trade show, but since they are only USD8.00 you should pick up a couple if you’re interested in the M0.

STM32F0 Discovery board

The chip on the board is an STM32F051R8T6. Briefly, its specs are:

STM32F4 Discovery

This board sports quite a capable processor, handily capable of doing some DSP. With the built-in mic and headphone amp, this could be a fun cheap board to explore digital audio with. When I last looked they cost about USD14.00.

STM32F4 Discovery board

The chip on the board is an STM32F407VGT6. Briefly, its specs are:

Stellaris Launchpad

Note: The Stellaris Launchpad is no longer available. See below for its replacement: the Tiva Launchpad.

TI’s Stellaris Launchpad board is another very low cost ARM Cortex-M development board. It is based on the LM4F120 (now renamed and rebranded as the TM4C1233 – that’s a story unto itself), a Cortex-M4F processor with 256 KiB of flash, 32 KiB of RAM, and loads of serial i/o, timers, 12 bit ADCs, etc.

Stellaris Launchpad board

These are very cheap – as of August 2013 they are USD10 directly from TI, as they are getting rid of these “old” boards in favor of the new Tiva Launchpad.

These seem like nice boards. After my inital excitement about the board – good price point, nice chip (esp the timers) – I decided to ignore it when TI relaunched the parts as “Tiva C-series” parts, changed all of the part numbers, and apparently alienated some of their customers. (I read some grumbling on the forums.)

This is one reason I respect Freescale as a source for microcontrollers: They have a very transparent product longevity program. Most of their processors are supported for ten years after inital launch. Medical and automotive products are supported for fifteen years. It’s unlikely they would pull a stunt like TI’s, of launching a product line, and then a few months later completely pulling everything and starting over.

That snafu notwithstanding, the chips are pretty sweet, the board is small and cheap, and it’s easy to use. After some digging online I was able to figure out that TI’s so-called ICDI – in-circuit debug interface – is simply an implementation over USB bulk endpoints of the GNU GDB remote protocol! And thus is extensively documented. After reading the GDB docs, and tweaking the USB support in muforth, I was able to connect and exchange packets with the board.

One curious discovery: the “M” (write memory) command doesn’t work! Instead of doing what it is supposed to do, it does the following:

I thought about various work-arounds, but instead gave up and used the “X” command instead – which does exactly the same thing but uses a slightly more efficient binary (rather than hex-in-ASCII) format for the data.

I was rather surprised to discover that such a fundamental part of the GDB protocol is broken on this board! It’s a bit embarrassing.

Tiva Launchpad

The Tiva Launchpad ARM Cortex-M4F development board is TI’s replacement for its not-very-old Stellaris Launchpad.

The boards are almost identical. The new Tiva boards have a different chip – the TM4C123GH6PM, which supports USB OTG mode, unlike the TM4C1233H6PM (né LM4F120H5QR), which supports only Device mode – but otherwise have identical specs.

The Tiva boards are a bit pricier, at USD13. The Stellaris Launchpad are now selling for USD10, direct from TI.