More Microcontroller Options for DIY DRO

Sunday, January 15, 2012
STM32VL and STM32F4 Discover Boards
In yesterday's post I compared Arduino, LPCXpresso and few other microcontroller options for my digital readout project, but I completely forgot about my two newest toys: STM32VLDiscovery and STM32F4Discovery. I got them just a few weeks ago and haven't even had a chance to play with either, but they show a lot of promise.
These are ST Micro's evaluation boards for ARM Cortex-M3 and ARM Cortex-M4F microcontrollers. Mouser sells them for $9.88 and $16.25 respectively, placing them well within the reach of most hobbyists. Both boards come with built-in ST-Link/V2 programmer/debugger, and Unlike LCPXpresso's LPCLink, ST-Link is not locked into any particular IDE. There are even some reports of people using it with GNU C compiler and debugger. Better yet, the ST-LINK/V2 can be used to program any STM32 chip by manipulating a couple of jumpers.

STM32VL (left) and STM32F4 (right)
STM32VLDiscovery is ST Micro's value line evaluation board. The main chip is ARM Cortex-M3 MCU woth 8 KB or RAM and 128KB of Flash. This board is rougly comparabale to LCPXpresso 1343 (at leat for the purposes of this project). It has 3 16 bit ports broken out via a breadboard-friendly single row header.The chip has 16 timers, 12 MBit/s SPIs, USART and a nice nested vectored interrupt controller (NVIC). Some niceties that might be useful include 40 KHz crystal and two channel DAC that might come into play if I decide to control the spindle speed.

STM32F4Discovery is a Doozy... It boasts an ARM Cortex-M4F microcontroller with 1MB of Flash, 192 KB of RAM and is capable of running at 168 MHz. OK, let me repeat this slowly: one hundred sixty eight mega Herz. It gets even better from there, especially for those of us who like to play with autonomous robotics... The chip (I even hezitate to call it a microcontroller, honestly) has a digital signal processor (DSP) and hardware floating point unit (FPU). Finally, the Discovery platform includes three axis accelerometer, omnidirectional digital microphone and an audio DAC. Those are pretty much useless for the DRO (unless I decide to add an MP3 player ;-) ), but for general robotics this board is simply awesome.
The only minor drawback is the two-row header, which makes the difficult to use with a breadboard, but it shold be easy to make an adapter. For more details please check out he full data sheet, but at the first glance the board is very impressive.

Overall, I am heavily leaning towards the STM32VL board. Since I'm posting the project for others to follow, it would be nice for the board to be inexpensive, easily obtaiable, provide room for future expansion and be supported by some sort of free toolchain. STM32 meets the first three criteria easily. For the $10 price point it's an awesome value, can be readily purchased from Mouser (at the time of this writing they have close to 500 in stock) or other online parts provider alike, and provides more than enough "whoomp" for the DIY DRO project. It has more than enough GPIOs, several general purpose timers, plenty of RAM/Flash and reasonable prcessing speed. Unfortunately there are no officially supported free toolchains, but LPCXpresso fares even worse in that department. On the other hand, Atollic offers a free "Lite" version of their TrueSTUDIO, Keil and AIR provide code size-limited version of their toolchains and many people had great success using Eclipse with free CodeSorcery compiler. I would like to use an ARM MCU to make the project more portable, so the choice is between LPCXpresso and STM32VL boards, and at this point ST's board looks like a winner.

P.S. I will do most of the intial prototyping on Arduino (after all, this is exactly what it was intended for - "sketches"). If the time permits I will be posting code smaples and instructions for both.

No comments :

Post a Comment