fbpx

Pojawiła się na rynku nowa płytka! Jest to nowsza i mocniejsza wersja ulubionej przez wszystkich taniej platformy z STM32F103, czyli BluePill’a. Nowa PCB nieoficjalnie nazywa się BlackPill z uwagi na jej czarną malowanie. Poprzednik również swoją nazwę zawdzięczał swojemu kolorowi.

Dwie wersje BlackPill

Nowe płytki można znaleźć w dwóch wariantach:

  • z STM32F401CCU6
  • z STM32F411CEU6

Różnią się one głównie ilością pamięci FLASH i RAM. Pełne zestawienie w tabeli poniżej.

Obydwie płytki możesz kupić u mnie w sklepie. Na dzień pisania postu jestem pierwszym sklepem w Polsce, który posiada BlackPill’e 🙂

Dodatkowo F411 posiada interfejs SDIO, co jest bardzo interesujące. Można dzięki niemu bardzo łatwo obsłużyć karty SD.
W porównaniu do starego BluePill możesz znaleźć kilka różnic na samej płytce. Zacznijmy od górnej warstwy.

Jak widzisz, koncepcja całej płytki jest podobna. Port USB, piny SWD oraz złącza płytki są w tym samym miejscu. 

Niestety… Wyprowadzenia na złączach goldpinowych nie są identyczne. Miej to na uwadze w projektach, gdzie chciałbyś podmienić płytki bez żadnej modyfikacji. Grozi Ci zwarcie, chociażby z uwagi na zmianę pinu GND na 5V przy złączu USB!

W zasadzie na wszystkie piny z lewej strony płytki (na zdjęciu) musisz zwrócić uwagę. Niektóre są zamienione, niektóre przesunięte o jedną pozycję. Producent mógł już się pogimnastykować i zrobić kompatybilną pinowo płytkę… Na pewno się dało.

Jednak na pierwszy rzut oka chyba rzuca się złącze USB. W BlackPill mamy do czynienia z USB-C. Czy to dobry wybór? Moim zdaniem tak! Elektronika musi iść naprzód i cieszę się, że najpierw telefony, a teraz inna elektronika zaczyna być wyposażana w USB-C. Jeżeli jeszcze nie masz przewodu USB-C to prędzej czy później będziesz musiał mieć. 

U mnie w sklepie możesz dokupić taki przewód. Musisz jednak mieć na uwadze, jaki przewód kupujesz. Nie każdy tani przewód ma w sobie linie danych. U mnie na szczęście mają 🙂

Idąc w górę spotykamy różnice w obsłudze pinów kontrolnych mikrokontrolera. Piny BOOT0 i BOOT1  w BluePill były na zworkach. Teraz nie dość, że dostępny jest jedynie BOOT0 to jeszcze jest na przycisku. Dlaczego?

Otóż BOOT1 w F4 został przeniesiony i zintegrowany razem z pinem PB2. Aby wejść w bootloader, mikrokontroler próbkuje obydwa piny od razu po resecie. Dlatego nie ma potrzeby ciągłego zwierania tych pinów na stałe, aby wejść we wbudowany bootloader. Dzięki takiemu rozwiązaniu zaoszczędzono sporo miejsca na dodatkowe elementy pasywne potrzebne do działania USB oraz stabilizator 3,3 V.

Na samym środku mamy oczywiście mikrokontroler. Tak samo jak w BluePill, jest on w wersji 48-pinowej jednak bez odstających nóżek co sprawia, że zajmuje nieco mniej miejsca. Różnica w samym MCU jest oczywista. Zamiast STM32F103 mamy tutaj STM32F401 lub STM32F411.

Kolejne różnice znajdziesz w rezonarorach/oscylatorach. W BlackPill chińczycy zdecydowali się zamontować naprawdę małe oscylatory. Co ciekawe oscylator HSE ma wartość 25 MHz, a nie jak poprzednio 8 MHz. Drugi to klasyczny zegarkowy LSE 32768 Hz.

Dzięki temu, że użyto tak maleńkich oscylatorów, na pozostałej części PCB oprócz diodek zmieścił się też przycisk użytkownika. Tego BluePill niestety nie miał, a często by się przydał.

Przejdźmy na spodnią stronę płytek.

Po tej stronie różnica jest spora. Na BlackPill nie znajdziesz ani jednego komponentu. Producent postawił na montaż jednostronny, co na pewno zmniejszyło koszty produkcji.

BluePill posiada dużo niezbędnych pasywek potrzebnych do działania oraz stabilizator 3,3 V.

Chciałbym zwrócić uwagę na komponent U3 na płytce BlackPill. Jest to miejsce na pamięć Flash działającą z SPI. Ktoś wpadł na świetny pomysł, bo dzięki mikrokontrolerom z rodziny F4 można zrobić całkiem niezłe urządzenie z wyświetlaczem lub zbierające dane. Na pewno przyda się pamieć Flash na jakieś grafiki. Podoba mi się to wykorzystanie spodniej części PCB.

Podłączenie tej pamięci możesz podejrzeć na schemacie. Dzięki jednemu z członków naszej wspaniałej grupy STM32 Polska mamy przetłumaczony schemat BlackPill z chińskiego na angielski. Dziękuję!

>>Schemat BlackPill<<

Pierwsze podejście

Wypadałoby sprawdzić, czy w ogóle ta płytka działa. W artykule dotyczącym BluePill trochę ponarzekałem, że często można spotkać w nich podróbki układów ST. Nie słyszałem jeszcze o podróbkach F4, więc może jest szansa, że wszystkie będą działały poprawnie.

Podłączenie do USB powoduje, że system rozpoznaje VCOM. Jest dobrze 🙂
Skoro zgłasza się jako port szeregowy, to może coś na niego pisze przy starcie?
Jak widzisz płytka przedstawia się podając również symbol stabilizatora 3,3 V, gdybyś go kiedyś upalił. Mamy też możliwość użycia przycisku KEY na płytce. Program rozpozna krótkie, podwójne i długie naciśnięcie. Niestety nie ma opisu co one robią, więc muszę sprawdzić.

Każde z tych przyciśnięć zmienia sposób migania wbudowanej diody. Krótkie lub długie miganie, lub pływanie. Takie proste demo.

Założę się, że wgrany firmware zawiera bootloader zgodny z Arduino. Teraz wszystko musi mieć taki bootloader. Niestety nie sprawdziłem tego, bo tym się na tym blogu nie zajmujemy 🙂 Zgrałem jednak ten firmware. Możesz go pobrać tutaj.

Jednak każdy STM32 ma swój bootloader, do którego możemy się dostać przez dosyć sporą liczbę interfejsów. Sprawdzę jak to jest podłączyć się po USB.

Wcześniej wspomniałem o tym, że BOOT1 przejął pin PB2. Zerknijmy jak ustawić te piny, aby wejść w bootloader.

Potrzebujemy  wejść  w System  memory, więc  trzeba  zewrzeć  BOOT0  do  zasilania,  a BOOT1  do  masy. Najpierw  pozwól,  że  zobaczę  do  schematu  czy  coś  nie  jest  domyślnie  wybrane.Domyślnie BOOT0 jest zmasowany, ale przez przycisk można bez problemu go zewrzeć do jedynki. BOOT1 ściągnięty jest pull-downem do masy, więc jest idealnie. Wystarczy po resecie mieć na chwilę wciśnięty przycisk BOOT0, aby wprowadzić układ w bootloader.

Próbowałem, ale układ nie chciał wejść w DFU… Dopiero założenie zwory z masą na PB2 pomogło. Chyba ten pull-down jest za słaby albo jeszcze coś ma na to wpływ.

Gdy STM32 wejdzie w DFU, można się z nim podłączyć wybranym w STM32CubeProgrammer interfejsem. Ja wybrałem USB. Udało się połączyć!

W tym momencie zgrałem fabryczny firmware. Przy połączeniu przez USB nie ma informacji, jaki rozmiar FLASH ma nasz mikrokontroler. Ciekawe czemu tak jest… Spróbuję z ST-Linkiem.

ST-Link wykrył już rozmiar FLASH i jest to 512 kB dla STM32F411CE.

Programowanie testowe

Wypadałoby stworzyć szybki projekt w Cube i pomigać diodą, która znajduje się na PCB. Użyję STM32CubeIDE v1.1.0 wraz z bibliotekami HAL F4 v1.24.2.

Zakładka zegarów wygląda bardzo prosto. Nie mamy do czynienia z rozbudowanym drzewem co moim zdaniem jest na plus dla początkującego użytkownika.

W głównym widoku po lewej stronie oczywiście znajdziesz rozwijane drzewka z peryferiami. W porównaniu do BluePill jest ich tutaj trochę więcej.

Widzimy to, co wcześniej wypisałem w tabeli porównawczej. Masę ciekawych interfejsów, w tym SDIO. Oprócz tego mamy coś takiego jak Middleware. Są to bibltioteki przygotowane przez ST, które w łatwy sposób można dołączyć do projektu. Znajdziemy tutaj m.in. FATFS dla karty SD czy obsługę USB. Mega przydatne biblioteki.

No dobra, ale ja chciałem tylko pomigać diodą 🙂 Pozwól, że pominę całą kwestię zaprogramowania migającej diody. To możesz znaleźć na przykład w moim e-booku, który otrzymasz przez dołączenie do mojego newslettera.

W porównaniu do BluePill nie ma tutaj żadnej blokady Flash. Nie trzeba nic zmieniać za pomocą programatora ani nic kasować, aby zacząć pracę z płytką. Wszystko chodzi od strzała. Super!

Podsumowanie

Bardzo spodobała mi się ta płytka. Co prawda było to moje pierwszy podejście, ale jest to w wiele lepsze doświadczenie niż z BluePill. Trzymam kciuki, aby ta mini euforia mi pozostała. Prawdopodobnie pojawi się więcej wpisów wykorzystujących nowe płytki.

Jedyny minus to połączanie ST-Linka i korzystanie ze stykówki. Tego nie przeskoczę. Można używać DFU, aby nie podłączać ST-Linka, ale wtedy nie będzie debuggera.

Płytki możesz nabyć w moim sklepie. Będę niesamowicie wdzięczny za zakup i wsparcie mojej twórczości!


Raz na jakiś czas wyślę Ci też e-mail z ciekawymi rzeczami które znalazłem


13 Komentarzy

Taras · 10/04/2020 o 16:51

Czekalem z Chin na ta plytke prawie miesac… Nie utrzymal sie ) Jak zobaczylem na mailu ze masz ta plytka w sklepie, to odrazu zakupilem. Fajna zabawka dla mnie jako dla poczatkowca. ) Teraz i dalej walczyc bede z compasem 9250… tak i nie moge otrzymac prawidlowy “heading” z magnetometra + akselerometra.

PS: Przeprasam za moj polski. 🙂

    Mateusz Salamon · 11/04/2020 o 18:03

    No u mnie masz szybko i pewnie a do tego mnie wspierasz 🙂 Mam teraz tych płytek sporo, więc nie skończą się chyba tak szybko jak ostatnio 🙂

    Co do MPU9250 – on jest o tyle dziwny, że ten magnetometr jest jakby osobnym układem w środku. Chodzi o to, że z nim komunikujesz się przez external I2C z MPU9250 a nie bezpośrednio, co jest lekko kłopotliwe.

nebelgrau · 28/01/2020 o 14:17

Próbowałeś już instalować dodatkową pamięć flash? To zdecydowanie poza moim zasięgiem umiejętności, ale chętnie zobaczyłbym tutorial 🙂

    Mateusz Salamon · 28/01/2020 o 17:57

    Jeszcze nie montowałem do niego, ale leci do notatnika. Jednak jest to zwykła pamięć na SPI, więc jej obsługa nie jest skomplikowana 😉

Gunt · 30/12/2019 o 16:20

Koszty transportu raczej żadne, zakwaterowanie z wyzywieniem i przeloty opłacane przez pracodawcę 🙂

Tak współpracują , nie mniej wole oryginał od KA-Nucleo ,

    SaS · 20/01/2020 o 11:49

    Oryginał w sensie NUCLEO STM32? Jeśli tak to faktycznie oryginał może być lepszy. Patrząc na NUCLEO-F411RE (RE więc większy uC niz CE) kosztuje 65zł, KA-NULCEO 49zł ale faktycznie ma pewne wady, np nie można skorzystać z samego programatora. Linie TX, RX uC są przez rezystory 0R połączone z programatorem, lepiej byłoby gdyby było jak w płytkach Arduino przez 470R.
    Jeżeli zaś porównać z BlackPill to zdecydowanie wolę KA-NULCEO, bo to nie tylko płytka, jak BlackPill ale także programator i to ST-Link V2-1, z którego można zrobić bezpłatnie J-LINK EDU o czym można zapomnieć w przypadku żółtych klonów ST-LINK V2.

Gunt · 30/12/2019 o 10:23

Sun teraz ze shenzen przytargał tych płytek , również z prockami SAMD21 ,F303CCT6. Jak pisał sztuka to ok 15 pln z RobotDYN’a + cło + vat , więc niespecjalnie drogie i taniej niż u ciebie , ale każdy wiadomo musi zarobić 🙂 co do KA-Nucleo ….. jakoś wolę oryginalne nucleo od SM niż drogawego podróba 😛 Ciekawie się zapowiadają płytki z STM32H750VBT6 STM32H743VIT6 , stosunkowo niedrogie, jak mówił , szkoda że nie chce mu się sklepu zrobić , bo ostatnio coś wybywa do myfriendów i przywozi ciekawe rzeczy …

    Mateusz Salamon · 30/12/2019 o 12:28

    Pamiętaj jeszcze o kosztach transportu i odprawy celnej oraz o tym, że pierwsze co jest do wykarmienia to państwo 🙂 Sun lata osobiście? 😀 muszę popatrzeć na te płytki z Robota bo brzmią kusząco 🙂

      Gunt · 30/12/2019 o 14:54

      Nio był tam teraz kilka dni , mówił że w stacjonarnym aliexpresie zostawił 600usd , cło zapłacił za to co było nadane jako osobny bagaż 20 usd . Prawdopodobnie ze względu na jakieś tam prace i współprace będzie tam jeszcze parę razy w nowym roku po kilka dni, przelot mówił że jak się pokopie to się da tanio znaleźć . Na kajaku za ok 1500 w jedną stronę znalazł , a że nie miał ustalonej długości pobytu wiec mu pasowało , a z powrotem z CHRL wracał china air za 250usd.

      Mateusz Salamon · 30/12/2019 o 15:07

      No to jego “koszty transportu” były spore 😛 kurde, do Chin też bym poleciał. Jeszcze w Azji nie byłem.

      A jeszcze co do KA-NUCLEO. Kamami bardzo blisko współpracuje z ST. Miałem tę płytkę i rozdałem w konkursie akurat. Jednak była fajnie wykonana no i myślę, że z uwagi na bliski kontakt z ST wsparcie do ich płytek jest też na wysokim poziomie 🙂

      Gunt · 30/12/2019 o 16:23

      Koszty raczej miał zerowe , bo pracodawca opłacił przeloty , zakwaterowanie , a ceny podawał
      informacyjnie , bo nawet ja patrząc na ceny to 4 – 6k w obie stromy , ale się okazuje że faktycznie
      lot trwa 20 – 25 h i lecąc przez paryż – shaghai – pekin płacisz taniej , a nawet można jak widziałem sobie ustalić czas na przesiadkę i pozwiedzać 😛

SaS · 27/12/2019 o 22:29

Droga ta płytka w porównaniu do KA-NUCLEO-F411CE.

    Mateusz Salamon · 28/12/2019 o 15:12

    W stosunku do ceny promocyjnej czy standardowej? 🙂 Bo “normalna” cena to 70 zł. Myślę, że Nucleo od Kamami i ta płytka są do trochę innych zastosowań. Obydwie są fajne 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *