Skip navigation
> RoadTest Reviews

STM32L4R9I-DISCO Discovery Kit - Review

Scoring

Product Performed to Expectations: 10
Specifications were sufficient to design with: 10
Demo Software was of good quality: 10
Product was easy to use: 7
Support materials were available: 8
The price to performance ratio was good: 10
TotalScore: 55 / 60
  • RoadTest: STM32L4R9I-DISCO Discovery Kit
  • Buy Now
  • Evaluation Type: Development Boards & Tools
  • Was everything in the box required?: Yes - The board was very well presented and packed by STMicroelectronics in a bubble pack complete with a secondary plastic shield on the LCD display. It also came with an add-on expansion board for Grove connector and the MikroBUS.
  • Comparable Products/Other parts you considered: STM32L4 Discovery Kit IoT Node### NXP LPCXpresso 54018### Silicon Labs EFM32WG-STK3800### MIKROE-1102
  • What were the biggest problems encountered?: As a relative newcomer to the ARM development I was at first confused understanding the different toolchains available and which should best fit the designers skills and requirements. Additionally there is a whole wealth of information available including PDF that consist of over a thousand pages; that is quite overwhelming and some simpler but applicable explanations and examples would be appreciated. This is obfuscated by the permutations of compiler/toolchain/board/manufacturers

  • Detailed Review:

    1.    Overview

    This is my Roadtest report on the STMicroelectronics STM32L4R9I-Discovery Board. It draws on four previous blogposts detailing my progress plus some extra experimentation that I conducted since those blogs to give a more detailed and complete roadtest report. My reason for applying, which I stated in my application, was that I felt like I had been 'beaten' by my first adventures into the ARM world. I hoped that by having a look at a different ARM board by a different manufacturer then I would be able to make some progress in my understanding.

    2.    My Blogs Detailing Roadtest Investigation

    I preceded this Roadtest Report by several detailed blog posts, a summary of them is below. Therefore I will not be repeating too much of that material but perhaps referencing it as required.

     

     

    3.    The Software Choices

    There are several popular IDE that are directly supported by this board plus many other IDE that can still be used but have less support (e.g. examples). The common IDE are:

    • Keil MDK-ARM
    • IAR Embedded Workbench
    • TrueStudio
    • System Workbench for STM32 (SW4STM32)

     

    I recall from a past ARM based roadtest that several of these are time limited evaluation versions and after that period has expired require a paid licence. As I only want to ocasionally learn about ARM I did not want to sign up and therefore opted to use the open-source SW4STM32. This may have been a poor choice as I believe it is less supported than the paid versions and may also have resulted in difficulties in progressing quickly. On the positive side, I can park my development for a few months and pick up again at a later stage knowing the software will still work.

     

    STMicroelectronics have created a huge bundle of software called the STMCubeL4 that incorporates examples, demos, board support functions, a Hardware Abstraction Layer library and low level drivers for a wide range of their boards.

     

    Lastly there is another support program called STMCubeMX - this allows the initial board level pin configurations and clock setup to be configured for a project as well as the addition of the Middlewares like FreeRTOS. I did some experimentation with this and managed to use it - for anyone into their PIC chips and MPLAB X, it is similar to the Microchip Code Configurator (MCC) ...only far more complex.

     

    A useful getting started Guide for the board can be found here: https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/d0/f7/45/d7/3b/96/47/b3/DM00285842/files/D…

     

    4.    Demo Software

    The example software included in the STM32CubeL4 package is quite useful. I got many of them to work and was also able to lightly modify several successfully.

     

    I would have liked to have seen a few more examples, but within the package there was support for 17 boards and each had the projects for four of the main IDE/compiler toolchains...so actually STMicroelectronics did well covering those options like they did.

    Being able to freely switch between these demo, compiling and loading each was a significant milestone for me.

     

    5.    Adventures in ARM

    My roadtest application stated that I wanted to make a simple project - I aimed to make a  mp3 MusicPlayer. Indeed I setout and tried to use the STM32CubeMX to generate the required skeleton framework and to then copy in existing C example code that played music. My code didn't compile. I also tried to modify one of the musicplayer examples and add a 'splashscreen' - I never did get anything to appear on the screen nor did it play music any longer. Details can be found in STM32L4R9I-Discovery Board: Part 3 (the development cycle) . I did learn a lot along the way and disecting the examples is an important part of understanding.  I guess there is a journey of learning ahead still for me: looks like it will be long, but hopefully fun.

     

    6.    GUI Tools - TouchGFX

     

    The beauty of having a great looking display is obviously to use it to create visualy stimulating embedded applications. The STemWin tool is quite limited in the ability to do this and there are several major third-party tools which can make this far more interesting and easy. One such tool is called TouchGFX - this is not free but there is an limited evaluation copy available. I signed up and downloaded this to see what it was capable of. TouchGFX is quite straight forward to install and I quickly found the STM32L4R9I-discovery board so selected that and created my first project.

     

    I added an initial screen with the Element14 image and a second screen with a welcome message. Interactions can then be setup to move between the different screen depending upon actions. As I had selected the STM32L4R9I-discovery board I was instantly prompted with the available joystick values or the option of the touchscreen being entered. Within only a few minutes my demo was created and I clicked generate code. Screenshots can be seen below:

    {gallery} TouchGFX

    Some of those files need to get imported into my SW4STM32 IDE, called from the main.c and other functions and the project compiled. The trouble though is I don't know what to do! Help seemed quite limited and I found one article that shows promise and I have linked it here for others to perhaps be able to follow. I previously ran into many difficulties just trying to add a simple file in previous tests and I am reluctant to even attempt merging the TouchGFX code into my working project...perhaps another day?

     

    However I am convinced that such a third-party GUI tool could prove very useful with embedded STM32 designers to design good looking GUI for the 1.2" AMOLED display on this board. The TouchGFX looks as simple and user friendly as it could get, just expect some effort being required in the merge process.

     

    7.    Interfacing - Arduino and PMod and MikroBUS

    For this roadtest I purchased a PMOD board as I wanted to explore those aspects. The board I bought was a gyro/compass unit which I thought could be utilised to make some interesting applications. The PMoD standard is quite straightforward and is well documented in this Pynq Board Article https://pynq.readthedocs.io/en/v2.1/pynq_libraries/pmod.html

     

    The difficulty is that I could not find any information on how to use the PMoD with SW4STM32 or the actual board - nothing on the BSP, LL or HAL and there were no examples that seemed to explorer the I2C bus; so I could even write my own functions. I'm sure there is material available that is applicable and I will continue to search for it - perhaps something new will appear in time?

     

    8.    Comparable Parts

    Below is a few boards that perhaps make alternaltives for the STM32L4R9I-discovery, if you search on Farnell or Newark https://uk.farnell.com/c/embedded-computers-education-maker-boards/arm/embedded-development-kits-arm  you will find many more. The MIKROE-1102 looks particularly interesting given the datasheet specification.

     

    {tabbedtable} Tab LabelTab Content
    STM32L4 Discovery Kit IoT Node

    B-L475E-IOT01A2 - Development Kit, IoT Node, Low Power, Wi-Fi, BLE, NFC, 868 MHz (EU), Connection to Cloud Servers

    UK: £39.80 + TAX

    Product LinkProduct Link

     

    NXP LPCXpresso 54018

    OM40003UL - Development Board, LPCXpresso 54018, LPC54018 MCU, Integrated Touchscreen

    £50.05 + TAX

    Product LinkProduct Link

    Silicon Labs EFM32WG-STK3800

    EFM32WG-STK3800 - Starter Board, EFM32 Wonder Gecko MCU Family, Advanced Energy Monitoring System, Several Sensors

    £22.52 + TAX

    Product LinkProduct Link

    MIKROE-1102

    MIKROE-1102 - Development Board, STM32F407VGT6 MCU, 320x240 TFT Color Display, Stereo MP3 Codec Chip

    £73.06 + TAX

    Product LinkProduct Link

    One thing that I believe is important when choosing a board for novices is to stay with something 'mainstream' as it will have a greater following and thus more support material. A niche board, whilst perhaps being utilised for fast turn-around production of many thousands of a product, may soon become obsolete.

     

    9.    My Conclusions

    The STMicroelectronics STM32L4R9I-Discovery board is a great for either (1) a novice learning about an ARM device or (2) developing code for porting to a more bespoke production unit.

     

    For the Novice

    When it comes to learning I believe there is little point in purchasing something that is limited in resources or power. Perhaps such a board is easier to understand but can result in the user soon hitting the upper limit of what they can achieve and maybe at that point loosing interest. Not so with the STM32L4R9I...the wealth of peripherals, neat little touchscreen and ability to breakout on many common connectors (MikroBUS, Grove, PMOD) gives this board real capability to try things out. However it will take time depending upon the selected toolchain (as mentioned I might have picked the most awkward? ).

     

    For the Commercial Developer

    For anyone who knows their ARM development and perhaps already uses one of the paid toolchains, and maybe also has a GUI development license, they should be right at home using this board. The power of the ARM Cortex-M4 seems to be in just the right place to develop many embedded device applications whilst still being affordable and with the device drawing very low powers from the supplies.

     

    Learning and Perseverance

    There seems to be plenty that this board can be utilised for and I have only just started to scratch the surface. Although I had many difficulties along the way I found, like most things, having a break/leaving for a few days and coming back afresh can often overcome them. Using the packagaes, trying out different ideas, noticing what changes, undertaking a bit of internet research, post a few forum queries....all helps to further the understanding and start to crack the development cycle. This is exactly what I plan to do with my STM32L4R9I board in the future.

     

    Negatives

    As a balanced review I should point out something negative, but there isn't much I found apart from these comments:

    • The edge of the AMOLED display is a little sharp.
    • My display periodically lifted from the substrate as it was only held on with pressure adhesive tape (it seems to have settled down now and stopped lifting).
    • For a novice there is too much detailed material to read through whilst not enough of a simple Noddy's guide. When my understanding is better I'd like to write a nice simple overview.
    • At times the touchscreen sensitivity/resolution caused issues in the demos - sometime missing a touch or swipe. This might be resolvable in the configuration.

     

    10.  Final Thoughts

     

    I'm really pleased with what I have achieved on this board and now have a much better understanding of ARM and the development cycle; that is hopefully reflected in my overall score for this board of 55/60.

     

    As always with roadtests, it has been a real pleasure to experiment with a new piece of equipment, to get that item for free, learn some new skills and get to blog about it. I thank Randall Scasny and STMicroelectronics for selecting me to undertake this roadtest review.

     

    This board will definitely not be collecting dust - I plan to keep having a go at modifying the examples, adding my own code, noticing small aspects of what has changed and to build my understanding of the ARM Cortex-M4. Hopefully when I am confident enough I will be able to expand into some of the other available ARM equipped boards - for my own purchases or future E14 roadtests.

     

    If anyone has any comments about the roadtest or blogposts, can see obvious mistakes, has useful information or wants clarity on any matter....please add comments below.


Comments

Also Enrolling

Enrollment Closes: Nov 15 
Enroll
Enrollment Closes: Nov 5 
Enroll
Enrollment Closes: Oct 29 
Enroll
Enrollment Closes: Nov 18 
Enroll
Enrollment Closes: Nov 15 
Enroll
Enrollment Closes: Oct 30 
Enroll