Merging modern software development with electrons and metal
Random header image... Refresh for more!

Interesting Microcontrollers

As I’ve mentioned before, I like to follow embedded development, but unfortunately don’t have much time to do it, either at work or at home.  There truly is an amazing number of very capable microcontrollers, such as the ST STM32F4, NXP LPC18xx, and Microchip PIC32MZ, that most don’t stand out.  However, I’d like to highlight a couple MCU families that have uncommon features:

  • TI’s Tiva TM4C129x is a typical high end ARM Cortex M4F MCU with FPU, up to 256K SRAM, up to 1M flash, and lots of connectivity and other peripherals.
    • What’s unusual?  It includes an Ethernet PHY on chip (IIRC, the only other ARM MCU with PHY was TI Stellaris LM3S9B models, which are now legacy parts.  Freescale also has some MCUs with Ethernet PHYs, such as the Coldfire MCF5223X).
  • NXP’s LPC4370 is another Cortex M4 MCU, clocked at 204MHz,  with FPU, 264K SRAM, no flash, Cortex M0 co-processor, and lots of peripherals.
    • What’s unique?  An 80M samples/sec 6-channel 12-bit ADC.  Even if the ADC isn’t as good as a dedicated ADC chip, that’s still quite impressive, especially for the price (~$10 in small quantities).
  • Freescale’s Vybrid series features a Cortex A5 at up to 500MHz, optional Cortex M4 co-processor, 1.5M SRAM, no flash, and lots of communications peripherals; a low cost dev board is available.
    • What’s unusual?  The most SRAM in an affordable (VF3xx is <$12 in 100’s) and available chip; double precision FPU is also uncommon.  (Renesas has some MCUs with 1M SRAM, with up to 10M SRAM coming, but they aren’t widely available or affordable).
  • Cypress’ PSoC 5LP is a Cortex M3 MCU with up to 64K SRAM, 256K flash, 2 1M samples/sec ADC, and a 20-bit ADC.
    • What’s unique?  Cypress’ PSoC programmable analog peripherals combined with a powerful ARM core.
  • The XMOS xCORE-XA has a Cortex M3 core, up to 192K SRAM, up to 1M flash, and a $15 dev kit that attaches to a Raspberry Pi.
    • What’s unique?  It also has 7 deterministic XMOS cores, for a total speed of 500 MIPS, which can be used to create peripherals in software.  The concept is very similar to Ubicom’s chips (Ubicom started by making the speed PIC-compatible SX chips, then created a multi-threaded (IIRC) MCU.  They went bankrupt, and IIRC, Qualcomm bought their assets), and a bit similar to the Parallax Propeller (but much faster).  Note: the dev kit uses the xCORE-Analog A8 chip with  8 xCORES, but no Cortex M3.
  • Spansion’s FM series of MCU’s are a broad range of ARM-based MCUs.
    • What’s unique?  All series include parts that can run at 2.7V to 5.5V, which is very unusual for a 32-bit MCU.

Note that the Tiva and FM series aren’t in full production yet.


1 Oliver Heggelbacher { 12.16.13 at 1:27 am }

Since this is somewhat on-topic, did you hear about the amazing kickstarter from Damien in the UK?

This is on a ST basis, but I really think today it is not so much about the uC capabilities, but about easy access both on the hardware and software side.

So the proposed MicroPython software and board design looks like an amazing way to make simple realtime robotics possible. We are backers of the projects, too, and will aim for a port on our CAN dsPic & PIC32 hardware.


2 Tony { 12.16.13 at 9:02 am }

I’ve also backed it, because I’m curious to see how much Damien can deliver. Even if he falls short, the end result could be very useful.

I’ve written quite a bit of CPython code, and I’ve followed IronPython and eLua develoment, so I’m a bit skeptical that 1)unless he’s been working on this for years full time, he can do everything he promises on time (remember, he’s basically re-implementing Python from scratch) and 2)it’s possible to stuff full Python 3.3 with libraries, interpreter AND compiler into 1M flash. I also wouldn’t call it real time.

So I’m looking forward to testing out some of my favorite corners of Python, like meta programming and functional programming, and see how MicroPython compares with CPython and eLua.

There’s also quite a variety of other embedded ecosystems, including Arduino, mbed, LaunchPad, and Beagle which intersect in interesting ways: I have some posts planned on this which I think you’ll like, but they will have to wait until I get my Christmas stuff done and finally finish up some more robot posts.

3 Oliver { 12.20.13 at 5:22 am }

Yes, indeed, there are some steep claims. I’m also wondering about how he’s getting all the standard libraries inside. But I thought his analysis on the Pymite shortcomings (garbage collection, needs heap for function calls and variables) is spot on and basically what makes our current Pymite implementation “non-realtime.”.

So I could image a basic MicroPython system (not considering all these standard libraries, maybe not even strings) could be well within his speed and realtime promises and fit nicely inside his target.

Anyway, it’s amazing how much interest this stuff draws, and I’d be really happy to follow the developments, but also your upcoming posts.

So have a Merry Christmas and a great start in 2014.

Leave a Comment