The Embedded World
The world is getting smaller and smaller, and more and more connected. Computers used to take up an entire room and be reserved to an elite few. Now, nearly everyone has that much computing power in their pocket, and it hasn’t stopped yet. Microcontrollers are becoming smaller, yet more powerful. In a world filled with sensors, micro-calculators and wearables, the need for more and more designs becomes obvious. Some clients will prefer a device with USB, others without. Are 4 GPIO lines enough? 8? 32? How many serial ports do you want? How fast? These are all questions that take time, but need to be answered. In order to help clients make a choice, manufacturers create evaluation boards, electronics boards with a microcontroller (or microprocessor), and a few peripherals to get you up and running.
ST Microelectronics has an impressive line of ARM Cortex-M microcontrollers, with close to 500 references. ST Microelectronics is also chasing the Makers movement, by providing high quality, low cost evaluation boards compatible with a number of programming environments. The Nucleo series is all about getting things done. It is an excellent way to quickly try out new ideas, and eases both hardware and software development. The Nucleo comes with Arduino shield support, and also ST Morpho, an interesting layout that gives access to every single input and output.
So how does the Nucleo-F411RE stand? Time to look at the specifications.
The Nucleo-F411RE evaluation board is based on the ST Microelectronics STM32F411RET6 microcontroller, an ARM Cortex-M4 with FPU running at up to 100MHz, with 512KB of flash, and 128KB of SRAM, more than enough for most applications. It has a large number of peripherals; it can connect to almost anything with 3 I2C interfaces, 3 USART ports and 5 SPI ports. It has a fast 16-channel ADC, up to 11 timers (8 on the Nucleo), and a hardware calendar. Added bonus, this device has a CRC calculation unit, perfect for inter-device communications. If that isn’t enough, it has 50 GPIO pins, with interrupt capability. Of course, the F411RE has debugging capabilities, through SWD and through the embedded USB JTAG.
The board itself is nicely designed, with easy access to jumpers, the user button, and the reset button. The LEDs look small, but are bright enough for even the sunniest offices.
Power-wise, the F411RE can be powered in a number of ways, but for my tests, I only used the USB connector. ST Microelectronics provides documentation on a number of ways to power the board, through a wide range of voltages.
The package itself contains very little. Naturally, the Nucleo board is included, and the cardboard decoration also doubles as an I/O cheat sheet, a nice touch. Nothing else is included. You won’t find a USB cable, and there is no software included, but is that a bad thing?
The Nucleo use a standard mini-USB connector, and besides, do you really need one? I have about 40 evaluation boards at home, and if I had a USB cable for every single board I use, I’d be up to my neck in connectivity. Besides, I very rarely use more than one board at a time, and even when I do, I never use more than two. Type B USB cables can be found literally everywhere (my local supermarket has hem), so a USB cable just isn’t required. As for the software, again, this isn’t required. The board works perfectly with most ARM development environments, including KEIL and IAR, as well as GNU-based tools. It also works with ARM’s mbed platform, which is why I wanted this board in the first place. ST Microelectronics has been a major partner for ARM’s mbed platform, and already provides an impressive amount of boards, and this board is no exception to the quality of the previous designs. Just plug it in, and it will work. Well, that is about to be put to the test!
First things first, this board requires a mini-USB cable. Plug the board into your computer, and a number of things will happen. First of all, LD1, the power LED, will turn on. LD2 will start blinking, indicating that the default program is running. Press the user button, and the frequency will change. While all this is happening, your computer will start looking for drivers, and if everything goes well, the software will install. Once done, my computer has a new drive, a 528KB disk with a single file inside, mbed.html. I double clicked on it, and was taken to ARM’s mbed site. A few seconds later, the platform told me that the Nucleo-F411RE had been added to my account. This page lists the characteristics of the F411RE, including features, pinouts and example programs. See, I told you nothing else was needed in the package.
While the board itself begs you to hook it up to a breadboard and start adding electronics, you don’t actually need anything. There is an on-board LED, so the first program that I wanted to flash is another LED blinker. This one is different to the program already flashed; it turns the LED on for 200ms, then turns it off for a second. It should be easy to see the difference. I imported it directly into my mbed platform, and compiled. No changes. A few seconds later, mbed proposed a download, a fresh binary. Drag and drop that file into the drive created by the F411RE, and a few seconds later, the LED blinks happily, using the timing in the new program. That’s it. Less than 5 minutes to get things up and running, and that is taking your time.
I’ve heard about the Nucleo range for some time now, but this is my first experience. It is a well-designed board, nice and robust, but still with a hint of fragility, for a very good reason. The Nucleo can be separated into two parts to save on space, effectively “snapping off” the programming side. The board can still be programmed since all the pins are exposed, but the programming side makes things much easier. Also, don’t be frightened by the possibility of it snapping off, this won’t be done by accident. The Morpho layout means that there are two rows of 2.54mm headers that go above and below the board, and the Nucleo sits comfortably on this. On the programming side, two ground connectors sit in the top corner, meaning that the entire board is on a level surface. This board sits firmly on my desk without a hint of movement possible, and there is no way I can accidentally separate the two boards.
So the F411RE uses the ST Microelectronics STM32F411RET6 microcontroller, placed as a high-end Cortex-M4, and it shows. I’ve run a few programs, and it is fast. It has more than enough power to get most jobs done quickly, while retaining excellent power management features. And the price for such a board? Less than ten Euros. I don’t know how they do it, but when I asked someone at ST Microelectronics about it, he smiled, and confirmed that they are not selling these boards at loss. ST Microelectronics is aggressively looking to attract Makers, but not only. The price range makes it a great starting point for students, the community makes it great for Makers, and the general build and quality of ST products also makes it great for engineers in general.