Na elektronici iz jednokratne e-cigarete uspio hostati web stranicu

Elektronički entuzijast otkrio je napredne ARM mikrokontrolere u elektroničkim cigaretama te je jedan od njih uspješno prenamijenio za pokretanje potpuno funkcionalnog, iako sporog, web poslužitelja

Sandro Vrbanus srijeda, 17. rujna 2025. u 13:45

Bogdan Ionescu entuzijast je za elektroniku koji se u posljednje vrijeme pozabavio prikupljanjem i rastavljanjem jednokratnih e-cigareta. Činio je to primarno zbog korištenja njihovih komponenti, prvenstveno baterija, no u tom je procesu došao do neočekivanog otkrića.

U novijim modelima, koji sadrže i USB-C priključak za punjenje, umjesto očekivanog jednostavnog čipa (ASIC), pronašao je reprogramabilni mikrokontroler PY32 proizvođača PUYA. Otkrio je tako da je riječ o ARM procesoru Cortex-M0+ koji, unatoč skromnim specifikacijama, nudi znatno veće mogućnosti od komponenti koje se inače očekuju u proizvodima namijenjenima za jednokratnu upotrebu. To neočekivano otkriće potaknulo ga je na eksperiment – pokretanje web poslužitelja na čipu izvađenom iz odbačene jednokratne e-cigarete.

"Vapeserver" skromnih mogućnosti

Dotični mikrokontroler, s radnim taktom od 24 MHz, 24 kb flash memorije i samo 3 kb RAM-a, predstavljao je značajan tehnički izazov. Projekt je realiziran korištenjem tehnike poznate kao "semihosting", koja omogućuje komunikaciju između mikrokontrolera i spojenog računala putem alata za ispravljanje pogrešaka (debuggera).

Za uspostavu mrežne funkcionalnosti korištena je optimizirana biblioteka uIP, izvorno dizajnirana za 8-bitne i 16-bitne sustave. Tijekom implementacije, autor se suočio s problemima vezanim uz "upravljanje memorijom na ARM arhitekturi, što je zahtijevalo modifikaciju koda kako bi se osigurala stabilnost. Nakon prilagodbe skripte za datotečni sustav, poslužitelj je postao funkcionalan, iako s početnim performansama koje su bile izrazito niske – obični ping trajao je oko 1,5 sekundi uz 50% gubitka paketa, a učitavanje stranice trajalo je preko 20 sekundi.

Da, ovo je sve što vam treba za "vapeserver" 📷 BogdanTheGeek
Da, ovo je sve što vam treba za "vapeserver" BogdanTheGeek

Unatoč početnim poteškoćama, projekt je dokazao da je i na ovako ograničenom hardveru moguće pokrenuti funkcionalan web poslužitelj. Autor je uspio na raspoloživih manje od 20 kilobajta prostora pohraniti i posluživati cijeli blog članak koji opisuje projekt, dostupan na ovom mjestu. Poslužitelj, kaže BogdanTheGeek na GitHub stranici projekta, nije ograničen samo na statične stranice, već može izvršavati i kôd napisan u programskom jeziku C. Kao dokaz koncepta, dodan je i JSON API endpoint koji prikazuje broj zahtjeva prema stranici i jedinstveni identifikator mikrokontrolera.

Stranica hostana na ovom "vapeserveru" aktivna je, no zbog hardverskih ograničenja i porasta popularnosti ovog rješenja, o kojem piše sve više medija, povremeno može biti nedostupna. Njezina kopija s opisom cijelog projekta može se pronaći na Bogdanovom blogu.