Review of STMicroelectronics STM32F4DISCOVERY Discovery kit for STM32 F4 series

Table of contents

RoadTest: STMicroelectronics STM32F4DISCOVERY Discovery kit for STM32 F4 series

Author: tayken

Creation date:

Evaluation Type: Evaluation Boards

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?: STM32VLDISCOVERY, PIC32 Ethernet Starter kit (in terms of connectivity and on-board peripherals)

What were the biggest problems encountered?: None

Detailed Review:

Hello everyone!

I had to take my time with this as I tried nearly all demo codes on both Windows and Linux to see the difference between development environments. The reason for not trying all the codes is that I was not able to get my hands on an oscilloscope in order to check out the waveforms. But I was able to compile and flash all firmware on both OS.

One more note is that this review will not contain any pictures as you can find board pictures online easily.

 

Kit Contents

This kit only contains the eval board. No cables, no CDs, no fancy packaging. Which is good as CDs that come with an eval kit are usually contain outdated software, you have tons of USB cables laying around even if you are not into electronics. And fancy packaging (in my opinion) shadows the product, here the eval board is the centrepiece of attention. The two sided cardboard gives you information for the demo firmware on the board and points you to the product page.

 

Getting Started

On both operating systems, you'll have to download the firmware package which include all the demo codes and specific files for all 4 IDEs. While you are there just get the user manuals too as you'll want to check them out while you are working with this board. Also get a USB A to mini B, a USB A to micro B and a headphone cable to try out all the demos. You'll need a multimeter for power consumption demos too.

When you check out the board, you'll see that it is packed with peripherals and it was nice to see an audio output on the board. In this criteria, this board outweighs STM32VLDISCOVERY board and is head to head with PIC32 Ethernet Starter kit as PIC board contains an Ethernet IC and a full size USB A connector which would've been better for trying USB memory firmware update examples

On the other hand, this board contains two double row pin headers so breadboarding circuits is not possible. PIC32 Ethernet Starter kit contained a Hirose connector and you have to get a separate board to access all the pins so this is a better option, you are still able to use female-male jumpers for breadboarding. STM32VLDISCOVERY had three single row pin headers and you were able to use two long ones on two different breadboards for developing projects so it lacks the connectivity but if you consider the board size and pin count they still did a good job!

 

Windows Test

For this, used IAR Embedded Workbench, but you can use other IDEs too. It is really easy, just download the IDE, install the STLINK v2 driver and you are all set. Accelerometer mouse example does not work that well but this is because of the accelerometer I guess, they are noisy components.

 

Linux Test

I used one of my Ubuntu systems for this. There are many tutorials out there to how to use Linux for programming so I'll not go into setup and firmware uploading procedures, Google is your friend. I had the toolchains already but I had the old version of gdb server which was for STLINK v1 only. I downloaded the new one and compiled and got it working in no time. I don't know why but for most programming applications, I prefer Linux and Makefiles. It takes a little more effort than using a Windows only IDE but once you are set and have all the necessary compilers and Makefile, it just flows. For getting some of the examples working, you have to spend a little more time but other than that it is really easy.

 

Example Codes

They are commented well. Not perfect, you might have to spend a little with the datasheet in hand to figure out what is happening but once you grasp the coding style used and all the structs and functions used for settings you'll find it easier to understand what is happening.

 

Conclusion

This is by no means an Arduino, not suitable for beginners. I'll grade this board to advanced hobbyist to medium level embedded systems designer. The reason for that is you'll need experience to figure out what is happening with the ARM core and peripherals. Also medium level embedded systems designer level as for more advanced things, I guess using an embedded Linux distribution is the way to go. This board might be able to use an RTOS (possibleI guess, never checked out the possiblity). If you want to start with 32 bit microcontrollers, I'll say this is a good board.

Anonymous
  • Yeah. I briefly looked at TI but liked the cost/features of the ST Discovery kits. I actually thought they may even work together.

    TI might be worth a revisit.

  • I have had this issue before as well. I was working for a fairly large company were I was using a ST accelorometer but not their uC. When ST asked me why I simply said becuase to get started is very difficult as there is no begginer tutorials for their STM32s. I am now working on my own project and I have decided to use an ARM (hoping for more power) and I have chosen a TI part because they have the Launchpad that comes with the wiki support and their beginer tutorials to get you past the basics so you can get moving relitivly fast. The other issue I find in general with ARM is there are no resanable IDEs. I have attemted to go all open source in the past wich is no small task, so I am code limited whether I use IAR or CCS (size my differ). I think if the ARM comunity was more open to hobbyists it would carry over into bussiness and could potentially allwo more developers to use ARM processors with out some of teh resistance that is showb towards them.

     

    Just my 2 cents.

  • Totally agree with the reference to suitability for beginners. The ARM comminity is nowhere near as supportive as those for Arduino, RaspberryPi etc.

     

    In terms of IDEs, I am currently exploring ARM with the help of Crossworks from Rowley Associates. Though not free, it is a cross-platform IDE and they have a reasonably priced non-commercial licence.