Bluepill i Blackpill – niedrogie płytki rozwojowe dla mikrokontrolerów STM32

Mikrokontrolery STM32 zdobyły sobie sporą popularność dzięki dużym możliwościom oraz szerokiej ofercie układów – od najprostszych w obudowach nawet z tylko ośmioma wyprowadzeniami aż do potężnych, dwurdzeniowych kombajnów z serii H7. Ogromną zaletą jest także przebogaty zestaw narzędzi rozwojowych do tworzenia oprogramowania na platformę – od środowiska STM32CubeIDE opartego o Eclipse, przez konfigurator graficzny STM32CubeMX, aż po szeroki zakres bibliotek z serii X-CUBE obejmujących najróżniejsze aspekty projektowania systemów wbudowanych. Bardzo ważnym czynnikiem wpływającym na popularność układów jest też duża liczba dostępnych na rynku zestawów rozwojowych.

Firma STMicroelectronics ma w ofercie po kilka zestawów dla każdej serii mikrokontrolerów – od zestawów Nucleo przypominających płytki Arduino, przez serię Discovery umożliwiającą demonstracje możliwości układu, aż po zestawy EVAL z bardzo dużą liczbą układów peryferyjnych oraz złącz rozszerzeniowych. Ale na rynku można też znaleźć płytki rozwojowe produkowane przez firmy zewnętrzne. Takimi płytkami są na przykład niewielkie, ale zdobywające coraz większą popularność płytki BluePill z układami STM32F1 oraz BlackPill z układami STM32F4.

Płytki BluePill

Rysunek 1. Płytka Bluepill

Płytka BluePill zawiera mikrokontroler STM32F103C8T6. Układ zawiera rdzeń ARM Cortex-M3 o taktowaniu 72 MHz. Umieszczono w nim również pamięć Flash o pojemności 64 KB oraz pamięć RAM o pojemności 20 KB. Dysponuje standardowymi interfejsami komunikacyjnymi: I2C, SPI oraz UART. Dodatkowo może komunikować się za pomocą magistrali CAN oraz USB 2.0 FS.

Płytka BluePill, oprócz mikrokontrolera, zawiera również złącze microUSB, złącze umożliwiające podłączenie programatora/debuggera SWD, a także dwa 20-pinowe złącza, do których podłączono wyprowadzenia mikrokontrolera. Dodatkowo wbudowano również zewnętrzne oscylatory kwarcowe (8 MHz oraz 32,768 kHz) oraz dwie diody LED – zasilania i użytkownika. Tryb bootowania jest wybierany za pomocą zworek.

W trybie normalnym obie zworki do bootowania są w pozycji 0 i wykonywany jest kod znajdujący się w głównej pamięci Flash. Aby wprowadzić mikrokontroler w tryb DFU, umożliwiający m.in. wgranie programu ze środowiska Ardunio, należy przestawić zworkę BOOT0 w pozycję 1.

Rysunek 2. Rozkład wyprowadzeń płytki Bluepill

Płytki BlackPill

Płytki z serii BlackPill zawierają bardziej zaawansowane mikrokontrolery z rodziny STM32F4 wyposażone w rdzeń ARM Cortex-M4 z jednostką FPU. W porównaniu z płytką Bluepill oferują więcej mocy obliczeniowej, więcej pamięci Flash oraz RAM, a także szerszy zakres dostępnych układów peryferyjnych.

Rysunek 3. Płytka Blackpill

Dostępne są dwie płytki Blackpill z mikrokontrolerem STM32F401CCU6 oraz z mikrokontrolerem STM32F411CEU6. Pierwszy układ oferuje taktowanie 84 MHz, pamięć Flash o pojemności 256 KB oraz pamięć RAM o pojemności 64 KB. Podobnie jak w układzie STM32F103C8T6 zastosowanym w Bluepill, również tutaj zaimplementowano standardowe układy interfejsowe I2C, SPI oraz USART. Dodatkowo układ dysponuje interfejsem I2S służącym do przesyłania cyfrowych danych o sygnale audio. Układ STM32F411CEU6 oferuje taktowanie 100 MHz, pamięć Flash o pojemności 512 KB oraz RAM o pojemności 128 KB. Dodatkowym interfejsem w stosunku do STM32F401 jest SDIO. Umożliwia on bezpośrednie podłączenie do mikrokontrolera karty pamięci SD lub microSD, za pomocą modułu ze slotem na kartę SD.

Elementy płytki

Płytki Blackpill również zawierają złącze rozszerzeniowe z wyprowadzonymi pinami mikrokontrolera. Warto pamiętać, że złącza Bluepill oraz Blackpill nie są ze sobą kompatybilne. Zawierają także złącze na programator SWD oraz złącze USB, ale w tym przypadku jest to złącze typu C. Wyboru trybu bootowania dokonujemy specjalnym przyciskiem BOOT0. Aby wprowadzić układ w tryb DFU, podczas uruchamiania należy przytrzymać przycisk BOOT0. Zamontowano także przycisk reset oraz key (do dyspozycji użytkownika). Na odwrocie płytki znajdziemy miejsce do przylutowania wewnętrznej pamięci Flash w obudowie SOIC-8.

Rysunek 4. Płytka Blackpill – widok od spodu

Wszystkie trzy płytki z rodziny mają identyczne rozmiary – 53 x 22 mm. Są więc jedynie odrobinę większe niż płytki Arduino Micro lub Nucleo-32. Zestawy zawierają oczywiście komplet złącz szpilkowych do przylutowania w odpowiednie miejsca płytki.

Płytki z serii Bluepill oraz Blackpill można programować zarówno z wykorzystaniem narzędzi dostarczanych przez STMicroelectronics, jak i przez platformę Arduino. W dalszej części artykułu opiszemy obie metody na przykładzie płytki Blackpill z układem STM32F41CCU6.

O autorze