STM32L4R9I-DISCO Discovery Kit - Review

Table of contents

RoadTest: STM32L4R9I-DISCO Discovery Kit

Author: 14rhb

Creation date:

Evaluation Type: Development Boards & Tools

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?: 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.

image

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.

image

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

image

image

image

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

 

image

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.

image

 

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.

Anonymous

Top Comments