Użyty w tym przykładzie graficzny wyświetlacz OLED ze sterownikiem SSD1306 jest niewielki, ponieważ ma wymiary jedynie 27 mm×27 mm×3,5 mm. Ma rozdzielczość 128×64 piksele i wyświetla obrazy jednokolorowe, składające się z zaświeconych i zgaszonych punktów. Może być używany do prezentowania fotografii, wykresów, symboli oraz informacji tekstowych. Dzięki zasilaniu napięciem 3,3 V i interfejsowi komunikacyjnemu I²C doskonale nadaje się do bezpośredniego dołączenia, i rozszerzenia możliwości płytki startowej. Z kolei, płytki Nucleo z mikrokontrolerami STM32F z wbudowanym programatorem i zestawem złącz, w tym zgodnych ze standardem Arduino, stanowią wygodną bazę do budowania urządzeń prototypowych i amatorskich.
Dodatkową zaletą płytek Nucleo jest szybkość i łatwość tworzenia dla nich oprogramowania. Jest to możliwe dzięki oprogramowaniu narzędziowemu STM32CubeMX, które pozwala na błyskawiczne wygenerowanie szkieletu aplikacji. Należy tylko wskazać wybrany typ mikrokontrolera STM32F lub płytki ewaluacyjnej. Wygenerowany projekt jest oparty o aktualną wersję interfejsu HAL. Do stworzonego w taki sposób zalążka aplikacji użytkownik może dodawać własne funkcje.
Kolejnym elementem układanki jest środowisko programistyczne. Od pewnego czasu firma ST udostępnia darmowe środowisko o kodowej nazwie AC6 System Workbench przeznaczone dla produkowanych przez nią mikrokontrolerów STM32F.
Jest to kompletny pakiet programistyczny (IDE, kompilator, debuger) wykonany na bazie Eclipse. W najnowszej wersji konfigurator STM32CubeMX jest w stanie tworzyć szkielety projektów, które w dalszej kolejności mogą być otwierane, edytowane i uruchamiane za pomocą AC6 Workbench.
Przykładowy projekt
Do wykonania przykładowego projektu wybrano następujący sprzęt i oprogramowanie:
- Wyświetlacz OLED o rozdzielczości 128×64 piksele, biały, ze sterownikiem SSD1306 i interfejsem I²C.
- Pytka startowa Nucleo typu STM32F411RET6 64 PINS. Dodatkowe informacje o płytkach Nucleo są dostępne na stronie internetowej https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html.
- Oprogramowanie STM32CubeMX w wersji 4.11.0 lub nowszej, do pobrania spod adresu https://www.st.com/en/development-tools/stm32cubemx.html.
- Pakiet kompilatora AC6 System Workbench (SW4STM32) do pobrania ze strony internetowej https://www.openstm32.org/HomePage. Pakiet jest darmowy, ale przed pobraniem należy się zarejestrować.
- Dokumentacja biblioteki HAL (UM1884: Description of STM32L4 HAL and Low-layer drivers) do pobrania spod adresu https://www.st.com/en/embedded-software/stm32cubel4.html.
Mając pobrane i zainstalowane programy możemy przystąpić do wykonania aplikacji przykładowej.