RoadTest: STMicroelectronics STM32F0DISCOVERY for STM32F0 Cortex M0 MCU
Author: rwgast
Creation date:
Evaluation Type: Independent Products
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: Im sure there are plenty of more friendly ARM boards out there. Parallax Propeller USB ProtoBoard or Quick Start Board, would be an easier to use option when this kind of speed is needed in a micro controller.
What were the biggest problems encountered?: Lack of free or affordable software, huge lack of documentation, especially when using with the free CooCox/GCC combo.
Detailed Review:
My first impressions of this board were fairly positive. I opened the blister package and inspected the $8 Discovery board thoroughly. This board has solid manufacturing, and also comes with a piece of protoboard which has double sided copper eyelets; this was somewhat of a nice touch. The problem is there is no convenient way to mount the included protoboard. The only option is to solder it under the discovery board and attach components to the underside of it, making your dev board double sided and in most cases unusable when sitting on a table. The best option is to save that nice piece of protoboard for another project and plug the Discovery board in to a dual bread board set up.
.
.
Next it was on to figuring out how to actually use this board. Most of my experience is with Parallax products such as the Propeller and Basic Stamp 2. I’ve also done a few projects based around bare bones AVR chips, using a USBasp or Bus Pirate as a programmer. Setting up the tools for either Parallax products or bare bones AVR is a fairly straight forward process. This was not so with the STM32 board, at least if you want a free compiler and IDE. After doing some research I found Coo Cox which is a fairly nice IDE set up around GCC and Eclipse, mind you I had to do a bit of searching to makes sure Coo Cox would even work with the STM board, as all the suggested IDEs on the STM Insert are pretty pricey for their unrestricted versions .
I spent about an hour before I actually got the ST-Link2 drivers ARM GCC and Coo-Cox working together and sent blank program to the STM board. So Coo-Cox will definitely work but none of the examples on STMs page will open in Coo-Cox, so I don’t suggest going this route unless you already have a good grip on the STM arm chips.
In the end I caved and downloaded IAR Workbench, the free version is locked to 32KB code size and doesn’t include source for the STM libraries. When using IAR with a stm32f0 or any cortex m-0 I believe the code limit is actually 16KB, since the chip’s max code size is 32KB. But using IAR to start is the best way to go with this board. It has built in examples for the stm32f05xx chips, which is what’s used on the Discovery board, STM’s example code works beautifully in the IAR IDE also. I was able to re-flash the board with functional code in seconds using IAR.
I definitely can’t suggest this board to anyone new to micro controllers for multiple reasons. The first is I couldn’t locate any good documentation to get started programming the board, no beginners tutorials about blinking an LED or even a nice document explaining the libraries STM provides for the chip, which are fairly convoluted when looking at their header files. The struggle to find a free IDE and compiler to get this board working is also a lot harder than it should be. While this board’s price may be beginner friendly that’s where it ends.
I would suggest this board to someone who has already had a decent amount of time working with C and micro controllers, especially if you own an expensive IDE like IAR for ARM chips. Even if you don’t I would suggest downloading the free but locked version of IAR Workbench, using it to get familiar with the STM examples and play with the chip a little bit. Once you’ve gotten familiar with programming the board it will be a fairly trivial task to start using Coo Cox and GCC as your main development tools for ARM.
In the end, this is a nice demo board at a nice price. If your new to micro controllers or programming in general stay away from it. If you’re new to ARM, like me, but already have a good grasp on C and using GCC, and have worked with other micro controllers, I’m sure there are much better ways to get into ARM chips although they will all cost a lot more than 8 dollars. This board can be used as an introduction to ARM but it’s not going to be the most convenient route to take, due to pure lack of documentation. If you’re just looking for an ARM Dev board that’s low power, and you’ve already programmed a few ARM Cortex chips this board is ideal. The price can’t be beat, especially for the amount of peripherals built on to the chip and 48 mhz isn’t bad either.