SK LABS
STMicroelectronics razvojne ploče
Još šarenih pilula
D. PETROVIĆ
1. jun 2022.

U poslednje vreme se malo više družimo sa mikrokontrolerskim razvojnim pločama čije srce nosi potpis kompanije STMicroelectronics. Februarski broj je doneo jedan članak (SK 2/2022, i.sk.rs/30661) sa nekoliko ploča. Bilo je tu i par rešenja iz domaće „kuhinje”. Sada nastavljamo u sličnom ritmu, pogotovo što po dalekoistočnim prodavnicama u poslednje vreme novi modeli „niču kao pečurke posle kiše”. U nastavku ćemo se često oslanjati na gorepomenuti tekst, da se ne bismo ponavljali oko paketa podrške za STM32 i STM8.

STM8S001J3

Jedan od manjih mikrokontrolera po broju pinova, ali zbog SO8N pakovanja ne i po dimenzijama, jeste STM8S001J3. Oznaka mikrokontrolera govori da je u pitanju 8-bitni čip iz Value linije sa najslabijim mogućnostima, dok trojka na kraju ukazuje na to da je na raspolaganju samo osam kilobajta fleš memorije za korisnički program. Tehnička dokumentacija dodaje da je radni takt mikrokontrolera 16 megaherca i da na dostupan fleš treba dodati još jedan kilobajt RAM-a i 128 bajta EEPROM-a. Mikrokontroler može da radi na naponima od 2,95 do 5,5 volti. Ovako mali mikrokontroler dolazi sa UART, IrDA, LIN, SPI i I2C interfejsima. Sve to na pet GPIO preko kojih mogu da se dobiju i tri multipleksirana desetobitna ADC kanala. Sam IO dizajn prilično je robustan i imun na strujne skokove. Jasno je da ovaj STM8 ne može da radi sa većim brojem interfejsa odjednom, što zbog višenamenskih GPIO, što zbog raspoložive memorije.

Pločica na kojoj dolazi je plave boje i malih dimenzija, sa većim brojem izvedenih pinova u četiri headera nego što ih mikrokontroler, zapravo, ima. Headere možemo da izdelimo u grupe. Header J1 (Serial Port) sadrži naponske pinove (3,3V) UART i dva dodatna pina. I2C interfejs ima svoj header, a isto važi i za header preko koga će se mikrokontroler programirati (Burn Port). Kod ove pločice se koristi ST-Link V2 i SWIM pin. Header J5 donosi četiri GPIO, GND i petovoltni pin preko koga, pored mikro-USB-a, pločica može da se napaja. Oznake pinova su čitke, ali ne prate oznake samih portova, već redne brojeve prema pinoutu iz tehničke dokumentacije. Pa, tako, ugrađena LED je prema pločici povezana sa pinom IO8, ali da bismo je koristili, adresiramo je prema portu, to jest, PC6. LED ima i svoj džamper header, ako će se projektovati dizajn gde je akcenat na maloj potrošnji struje. Kao dodatak, tu je korisnički taster koji može da se programira.

U Arduino IDE okruženju nismo našli nikakvu podršku. Postoje dva rešenja, ST Visual Develop zahteva nadogradnju u vidu Cosmic C kompajlera. Sav softver je besplatan, ali zahteva registraciju da bi se dobio aktivacioni ključ. Do pred zaključenje broja koji je pred vama, mi ga još nismo dobili. Drugo rešenje je IAR Embedded Workbench IDE, softver koji se može preuzeti na dva načina. Prvi je besplatan, ali sa limitom u veličini kôda od četiri kilobajta (na pločici je maksimum osam kilobajta), a tu je i puna verzija koju treba platiti (trial). Za udoban rad je zgodno preuzeti Standard Peripheral Library sa zvaničnih STM stranica. IAR IDE se vizuelno ne razlikuje mnogo od sličnih rešenja. Tu su Workspace, Debugger, Build i Program sekcije. Biblioteka nudi pregršt primera, a na slici može da se vidi klasičan Blink program. Ne prenosimo ga u celosti zato što se koristi poveći broj biblioteka, te sam main.c nema smisla sam za sebe. Napomenućemo samo da je potrebno uključiti target mikrokontroler u stm8s.h fajlu. Po našem mišljenju to je previše komplikovan proces, koji će svakako odbiti početnike.

STM8S105K4T6

Crna pločica dizajnom vrlo slična Nanou donosi mikrokontroler STM8S105K4T6. Za razliku od Arduino Nano, ovde su sve komponente sa gornje strane, što će reći POW i Built-in LED, taster ’Reset’, mikro-USB isključivo za napajanje, dva bočna headera i ST-Link header, gde se, ovaj put, koriste SWIM i RST. Oznaka mikrokontrolera govori da je u pitanju 8-bitna Value serija koja dolazi u LQFP čipu sa 32 nožice i 16 kilobajta fleša. Mi ćemo još dodati da preko internog oscilatora radi na 16 megaherca, dok mu je pored fleša na raspolaganju još dva kilobajta RAM-a i kilobajt EEPROM-a. Sirove specifikacije kažu da čip donosi UART, SPI, I2C, PWM, tri tajmera i do 25 IO pinova. Čip radi na 3,3 volta, ali opšte je poznato da su STM mikrokontroleri tvrdoglavo tolerantni na više napone, ovde i do 5,5 volti. Na ovoj pločici na raspolaganju je šest ADC-a sa 10-bitnom rezolucijom. Postoji nekoliko pinova posebne namene koji nisu najpogodniji za određene primene. Recimo, skoro cela desna strana nije najpodesnija za LED, s tim što je baš ovde PE5 sa kojim je i povezana ugrađena LED. PWM je dostupan na većem broju pinova, a I2C prethodno treba da se aktivira.

Paket podrške za SDuino o kome smo govorili u pomenutom februarskom članku donosi izvornu podršku baš za ovu pločicu. Nakon odabira, bira se Upload Method, što može da bude naš ST-Link V2 ili neki UART adapter. Prvi ima svoj header, dok za potonji treba ispratiti pinout šemu. Na pločici su oznake prema portovima, ali znamo da su PD5 i PD6, zapravo, TX i RX. SDuino paket donosi i Arduino mapiranja, tako da je svejedno za ugrađenu LED da li ćemo je adresirati sa LED_BUILTIN, PE5 ili D22, kako joj je i dodeljen Arduino pin pri mapiranju. Arduino mapiranje pločice ne prati standardna mapiranja, tako da se, recimo, SPI interfejs nalazi na pinovima D2, D3, D4 i slično.

Mišljenja smo da je ovo možda i najpotentniji mikrokontroler iz STM8 Value serije sa kojim smo se do sada susreli. Pločica je dobro dizajnirana, a podrška radi out-of-the-box. Ostaje manji problem nedostatka izvorne podrške za I2C u okviru SDuino paketa. Problem nije nerešiv, ali ne dolazi kao gotovo rešenje. Naravno, pločica nije osuđena samo na Arduino IDE.

STM32F051C8T6

Na plavoj pločici nalazi se 32-bitni ARM Cortex-M0 mikrokontroler sa radnim taktom od 48 megaherca. Njemu je na raspolaganju 64 kilobajta fleš memorije i osam kilobajta SRAM-a. Mikrokontroler stavlja na raspolaganje SPI, I2C, UART, pa čak i HDMI CEC interfejs. Ovaj kanal se koristi za „buđenje” televizora/monitora putem HDMI kabla. Svi GPIO su tolerantni na pet volti. Od GPIO, pomenućemo i ADC i DAC u 12-bitnoj rezoluciji.

Na pločici se nalaze dva dvoreda bočna headera sa pomalo nezgrapno ispisanim oznakama pinova. S obzirom na nedostatak tehničke dokumentacije za samu pločicu, moraju se dobro ispratiti vodovi na samoj štampanoj pločici. Oznake su u parovima po dva, gde se donja oznaka odnosi na spoljni red bez obzira na stranu. Kao dodatak, tu su po jedan 4-pinski header za UART i SWD programiranje. Da bi se mikrokontroler prebacio u Boot režim, tu su dva džampera (BOOT0 i BOOT1), kao i na Plavoj piluli, s tom razlikom što BOOT1 kod ovog mikrokontrolera ne postoji. Jasno je da je pločica namenjena i drugim mikrokontrolerima koji imaju embedded SRAM. Kod konkretnog mikrokontrolera, sticajem okolnosti, ovaj header je došao na CEC pin. Drugim rečima, neupotrebljiv je, a ako će CEC da se koristi, džamper mora da se ukloni. Tu su još PWR i PC13 LED.

STM32 paket ne donosi podršku za ovaj mikrokontroler. Čak ni najpribližniji, F051K8Ux, nije od pomoći, iako je razlika samo u količini memorije. Nastavljamo dalje sa STM32CubeIDE. Prilikom pravljenja STM32 projekta, IDE će nas propitati malo o tome koji nam mikrokontroler treba, koje pinove i za šta ćemo koristiti. IOC fajl sadrži dijagram izabranog mikrokontrolera, gde se obavljaju postavke GPIO, konfiguriše takt i drugo. Ovaj deo je jako važan, jer automatski popunjava neophodne fajlove, tako da nama za jedan Blink program ostaje da u while() petlji main.c fajla dodamo dve linije koda:

HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);

HAL_Delay(500);

Nakon toga idu Build i Run. Tek za koji tren, plava LED će početi da trepće. Postupak početnog postavljanja pločice u STM32CubeIDE nema smisla opisivati, jer se sadrži iz više koraka i svakako zahteva poseban tekst.

STM32F401CCU6

U izdanju od pre par meseci koji koristimo kao referencu, ali i ranije (SK 2/2018, i.sk.rs/14854), bilo je reči o Plavoj piluli, najpopularnijoj STM32 mikrokontrolerskoj pločici. Postoji i Crna pilula, čak dve. Originalne dolaze iz WeAct studija, a naše nisu original, što smo saznali na teži način. Razlike između Crnih pilula se odnose samo na STM32 mikrokontroler na njima. Obe imaju identičan pinout i format, identičan i sa Plavom pilulom, tako da možemo da kažemo da su pin-to-pin kompatibilne. Za razliku od Plave, Crne pilule dolaze sa USB-C priključkom. Umesto džamper headera, ovde su za ulogu menjanja Boot režima zadužena dva tastera: ’BOOT0’ i ’NRST’. Postupak je isti kao kod mnogih sličnih rešenja: dok se drži pritisnut ’BOOT0’, pritisne se i pusti ’NRST’, a zatim i ’BOOT0’. Ovo nije jedini taster na pločici, tu je i ’Key’ čija je uloga da se kod originalnih pločica dužim pritiskom ulazi u DFU režim. Sa donje strane je nepopunjeno mesto, predviđeno za SPI fleš memorijski čip u SOIC pakovanju.

Mikrokontroler na pločici prema oznaci je 32-bitni ARM Cortex-M4 visokih performansi, serije 01. VFQFPN pakovanje sa 48 pinova donosi 256 kilobajta fleš memorije. Tehnička dokumentacija nam kaže da mikrokontroler kuca na 84 megaherca, a da mu je na raspolaganju i 64 kilobajta RAM-a. SPI, I2C, UART i 12-bitni ADC se podrazumevaju.

Originalna Crna pilula dolazi sa STM32 BOOTLOADER-om, što ova nema. Za alat i bootloader WeAct kaže da nisu open source. Preturajući po „mreži”, nismo uspeli da ovaj problem rešimo, a ako, pak, vi imate rešenje, bilo bi lepo da to saznanje podelite na našem forumu. Elem, originalni bootloader omogućava da se pločica programira kroz Arduino IDE bez ikakvih programatora, tako što će se za „spuštanje” korisničkog programa koristiti STM32CubeProgrammer(DFU) metod. Mi to nismo mogli, tako da su nam ostali UART i ST-Link V2. Ovaj potonji je možda praktičniji, pošto RX/TX nisu označeni, za razliku od ST-Link programatorskog headera. Paket s pločama se dodaje prema referentnom tekstu od ranije. Pod Board Part Number se bira BlackPill F401CC.

STM32F411CEU6

Novija Crna pilula dolazi na istoj pločici kao na primerku iznad, ali sa drugačijim mikrokontrolerom na sebi. Sudeći prema oznaci, i ovde je 32-bitni ARM Cortex-M4 visokih performansi, sa fizički istim pakovanjem čipa kao primerak iznad. Razlika je u radnom taktu, gde je ovde to 100 megaherca. Takođe, i memorije ima više, 512 kilobajta fleša i 128 KB SRAM-a. Interfejsi i ADC su zadržani.

Pločica može da se programira kroz Arduino IDE, nažalost, na isti način kao i prethodna. Kažemo nažalost, jer je i ovo kloniran primerak. Ako se odlučite za kupovinu, gledajte da to budu WeAct, a ne kopije. Razlika u ceni je manja od jednog dolara. Ono što je možda i važnije jeste to da je Crna pilula sa mikrokontrolerom iz podnaslova pločica koja može da se programira jezikom Zmija. Podržani su i CircuitPython i MicroPython. Probali smo CircuitPython. Postupak je noob-proof. Potrebno je preuzeti odgovarajući BIN fajl sa zvaničnih CircuitPython stranica i flešovati ga na Crnu pilulu dok je u DFU režimu. Mi smo koristili STM32CubeProgammer i ST-Link. Nakon flešovanja, Crnu pilulu sa računarom povezujemo preko USB-C, bez dalje interakcije sa tasterima. Zanimljiv primer smo našli na mreži. Osim „blinkanja” LED, primer ispisuje dodatne podatke, kao što su frekvencija, temperatura i napon mikrokontrolera.

import os

import microcontroller

import board

import digitalio

import time

 

print(os.uname())

print()

print("microcontroller.cpu.frequency: " + str(microcontroller.cpu.frequency))

print("microcontroller.cpu.temperature: " + str(microcontroller.cpu.temperature))

print("microcontroller.cpu.voltage: " + str(microcontroller.cpu.voltage))

 

print(" dir(board):")

print(dir(board))

 

led = digitalio.DigitalInOut(board.LED)

led.direction = digitalio.Direction.OUTPUT

   

while True:

 led.value = True   #LED Off

 time.sleep(0.3)

 led.value = False  #LED On

 time.sleep(0.3)

 led.value = True   #LED Off

 time.sleep(0.3)

 led.value = False  #LED On

 time.sleep(0.3)

 led.value = True   #LED Off

 time.sleep(0.3)

 led.value = False  #LED On

 time.sleep(1.5)

Klonirana pločica se van originalnog WeAct bootloadera ponaša potpuno isto. To se najbolje vidi prilikom programiranja u Thonnyju. Ipak, mi preporučujemo original.

STM32F030C8T6

Na kraju, tu je i jedna ploča od nas. Nazvali smo je White Pill, jer, koliko smo videli, takve još nema. Naša ploča ne prati ostale pilule po formi, iz nekoliko razloga. Na našoj ploči su dodati JST konektor LiPo baterija, kao i strujna kola za njeno punjenje. Tu su i dva tastera za ulazak u Boot režim, baš kao i na Crnoj piluli. Ugrađena LED je ovaj put na PB12, zato što na ovom mikrokontroleru PC13 nije baš najpodesniji za LED. Možda i najzanimljiviji dodatak jeste CH340 UART čip za komunikaciju sa računarom. Drugim rečima, za Belu pilulu i programiranje preko Arduino IDE nije potreban nikakav dodatni adapter, mada može da se koristi. Pinout je izveden kroz dva bočna headera sa oznakama prema portovima. Ploču sa računarom povezujemo preko mikro-USB priključka, a sem preko njega, može da se napaja i preko 5V pina, regulisanim naponom, ili uz pomoć pomenute baterije.

Mikrokontroler na Beloj piluli je 32-bitni ARM Cortex-M0 u LQFP pakovanju sa 48 nožica. Radni takt mikrokontrolera je 48 megaherca, a na raspolaganju mu je 64 kilobajta fleša i osam kilobajta SRAM-a. Pomalo mršave karakteristike prate SPI, I2C, UART i SWD. Ne postoji izvorna podrška za USB.

Za programiranje koristimo podršku STM32 paketa iz referentnog teksta. Prilikom „spuštanja” korisničkog programa, za Upload Method biramo STM32CubeProgrammer(Serial). Tokom testa, primetili smo par bagova. Prvi je neaktiviranje korisničkog programa kada se upload obavlja uz omogućenu USART podršku. Ako isključimo USART podršku, tada je, praktično, nemoguće debagovati pilulu preko serijskog terminala. I2C i SPI interfejsi rade savršeno. UART, za sada, samo kao SoftwareSerial. Šemu pločice možete da nađete ovde: i.sk.rs/358461. Ako imate ideju ili rešenje za problem sa UART prilikom „spuštanja” skeča, adresu foruma znate.

Zašto smo izabrali baš ovaj čip? Ako znamo da je cena jednog ATmega328p bezmalo deset puta veća od jednog Pro Mini klona, jasno je da moraju da se koriste alternative. O nelogičnosti cena na tržištu čipova se može razglabati danima. Nije realno da ESP12F košta manje od CP2102, ali tako je.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
JUN 2025
Doom: The Dark Ages
Doom iz mračnog doba drugačiji je od svih drugih Doomova, jer je Slayer koncipiran kao tenk sa štitom...
Clair Obscur: Expedition 33
Estetika Belle Époquea, gameplay u skladu sa kanonima JRPG-a, vrhunsko pripovedanje i ljubav prema igrama...
Computex 2025, Tajpej, Tajvan
AI NEXT
Ovaj, nekada ultra-PC-specifični sajam, odavno se proširio na srodne tehnologije, biznis rešenja i digitalne usluge, postavši varijanta azijskog C...
Gigabyte GeForce RTX 5070 Gaming OC 12G
Višak samopouzdanja
Kartica je sa hardverske strane vrlo kvalitetna, ali ništa ne može da nadomesti nedostatak snage „pod haubom”...
Asus ProArt P16 (H7606WP)
Pronalazak neverovatnog
Novi ProArt P16 donosi moderna rešenja, u dobro usaglašenom odnosu gabarita i performansi – alatka koju ćete sa ponosom nosati sa sobom...
Logitech ProX Superlight 2
Sve udvostručeno
Ovaj miš predstavlja jasnu indikaciju da najveći proizvođač ne želi da napusti nijedan segment tržišta...
Winhance 25.05
Popravka Prozora
U pitanju je alatka koja omogućava da se brzo rešite (većine) bloatwarea, ali i da obavite optimizaciju rada Windowsa...
TCL NXTPAPER 11 Plus
Momak za sve
Ovo bi bio najbolji tablet „za te pare” i da košta 100 evra više...
.rs: Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Unapređeno e Zakazivanje
Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Google Mariner, Google Astra i AI autonomni agenti
Uspon tihog softvera
Umesto kliktanja stručnog lica, softver će, već ove godine, u tihom, gotovo nečujnom načinu rada - završavati posao...
Fatal Fury: City of the Wolves
Fatal Fury je oduvek bio čudna cvećka u svetu borilačkih igara; takav je i ostao...
Arc Raiders
Novi extraction shooter iz pera autora dobrih delova franšize Battlefield (i potcenjenog The Finals)...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama