Hello everyone.
At the middle of January I was selected as a first place winner of RFID and NFC Project14 competition and for my Custom NFC Tags project entry I won 100 USD basket. Today I received my 100 USD basket.
This time I selected only one item (in previous case I selected 49 parts) but this single part worth slightly over 100 USD. Thank you for it. Unluckily the kit went out of stock right after I sent my basket to Tariq, and I had to wait about 1,5 months
STM32MP1 Discovery (STM32MP157F-DK2)
The device which I ordered is STM32MP1 discovery kit. It is referred as discovery kit, but it looks more like single board computer instead of evaluation kit. There are several variants of the kit differing in SoC used and also differing in accessories. I received the most advanced kit featuring SoC with Crypto accelerator, Wi-Fi and BT connectivity and containing LCD display with touch screen.
Unboxing
Board came packaged in white box. On the side were sticker describing box content.
After opening package there were another more detailed description of device.
The first floor of the antistatic foam contains USB-C to USB-C cable:
And the second floor contains device itself:
Device come fully assembled and contains inserted SD card with prepared operating system. Kit consists of two parts: main board and display board. Boards are stacked using standoffs and interconnected by flex cable.
All chips of the board are on the top side:
Except STM32MP1 MPU chip there is power management IC, additional STM32F103C8T6 MCU acting as ST-Link, 512 MiB DDR RAM, Audio Codec, Ethernet Phy from Realtek, HDMI transmitter circuit and finally I have variant which also contains Murata 1DX Wi-Fi/BT module. Board is very flexible in terms of extensibility. At the top side of the board there is Raspberry Pi compatible connector. At the other side (at bottom) there is Arduino compatible connector:
Power up
After power up ST logo is the first thing appearing on the display.
Then background of environment appears:
And then menu with some demo apps appears.
Here you can for example see demo of 3D graphics accelerator showing box with textures rotating in all three directions and by touching and dragging you can move it on the screen. Animation is of course completely smooth and there are no lags.
Board runs Linux. It runs distribution provided by ST. You can connect mouse and keyboard to the board, open terminal and run common Linux commands:
STM32MP1
The core of the board STM32MP1 MPU.
The STM32MP1 is SoC containing two CPU cores. One of them is Cortex-A7 running up to 800 MHz and secondary core is Cortex-M4 which you can use like a standard STM32 MCU. Cores can communicate and share internal infrastructure of the chip. MPU hardware design is similar to Azure Sphere on MT3620 platform which also have combination of Cortex-A7 and M4 cores but in terms of software platforms are completely different. In Azure Sphere A7 core runs Azure Sphere OS which is almost invisible to user and runs fully autonomously, in opposition on this STM32MP1 board A7 core is fully open, and you can any system you want on it.
My opinion is that this board is good for needs when microcontroller is required but some higher performance device is needed. Imagine for example ADC logger. If you want to log to SD card it is OK to go with regular STM32 MCU but if you need to log data to external hard drive then you are out of luck, or it would be very hard to do it with pure MCU. With this MPU it is easy. This SoC combines both worlds: It has realtime Cortex-M4 core behaving like a standard STM32 microcontroller, and it has also core on which you can run Linux and use full infrastructure of Linux kernel like thousands of drivers, full support for almost any USB device, full-featured TCP/IP stack, full support for graphical interface and window system and so on. Implementing these things on MCU is complicated, sometimes impossible and results are usually worse due to MCU limitations. I think the device best fit applications in which you MCU core cooperates with Linux system and together makes some interesting system.
Core running Linux runs at 800 MHz which is not so high in comparison with for example Raspberry Pi. It is not good for high performance computation but for embedded systems it suits well, I think.
The good part is that ST build fantastic documentation for STM32MP1 SoC and this board, so even if you run to any issue, you most probably find answer using Google in few seconds. Today It saved me several hours of troubleshooting and learning.
Conclusion
This is all for my description of reward which I received today.
At the end I would like to thank Element14 for organising and sponsoring Project14 competitions, Tariq Ahmad, Dan Zima and other Element14 staff for patience when organising contest and ordering rewards, judges for their time when selecting winners and also all readers who read blogs here on element14 like this one. Thank you all.
Top Comments