Si t'estàs preguntant què dimonis és upyOS al món dels microcontroladors, no ets l'únic: la consulta sol confondre's amb UPS/SAI (sistemes d'alimentació ininterrompuda). Aquí trobareu l'explicació clara de què és upyOS, com encaixa en els vostres projectes embeguts i, ja que la confusió és habitual, una guia pràctica sobre la alimentació ininterrompuda per a plaques com ESP32, STM32 o Arduino, amb recomanacions reals extretes dexperiències comunes.
La idea és doble: d'una banda entendre el costat programari que aporta upyOS, i de l'altra no descuidar el costat elèctric, perquè no serveix de res un bon runtime si els teus sistemes s'apaguen davant d'un tall. Al llarg de l'article veuràs característiques, arquitectura, usos i consells de desplegament de upyOS; a més, incloem un bloc complet sobre SAI/UPS amb tipus, avantatges i una recepta per muntar un respatller amb bateria 18650 i mòdul de càrrega per mantenir fora de perill els teus dispositius.
Què és upyOS per a microcontroladors
El terme upyOS sol utilitzar-se per referir-se a una capa tipus “sistema operatiu” lleugera sobre MicroPython (el port de Python pensat per a microcontroladors), i de vegades es compara amb alternatives com Espurí, que segueixen enfocaments diferents; que organitza l'execució de tasques, temporitzadors, drivers i recursos del sistema de manera còmoda i consistent. No és un sistema operatiu monolític a lestil descriptori; pensa en upyOS com un runtime estructurat que afegeix serveis de sistema a l'entorn MicroPython perquè les teves aplicacions IoT i embegudes siguin més mantenibles.
A la pràctica, upyOS proporciona utilitats de planificació de tasques (cooperativa), maneig d'esdeveniments, timers, abstraccions de perifèrics i utilitats d'inicialització (arrencada de serveis en boot, ordre de càrrega, etc.). Sobretot, busca que el desenvolupador no s'hagi de barallar amb la cola de baix nivell en cada projecte i pugui reutilitzar components de sistema (xarxa, emmagatzematge, sensors) de forma coherent entre plaques.
Un avantatge rellevant per a equips petits és que upyOS evita reinventar la roda: estableix convencions (ubicació de fitxers, main/boot, mòduls de serveis) i ofereix utilitats per a la gestió del cicle de vida de l'aplicació a dispositius amb recursos limitats. La capa facilita mantenir ordre en projectes amb memòria i CPU ajustades.
També és habitual que incorpori integracions típiques del dia a dia: connectivitat WiFi/Ethernet, clients i servidors senzills (HTTP/MQTT), registre de logs, i utilitats d'actualització (OTA) quan la placa ho permet. Així, la base del projecte se centra en la lògica de negoci, i el “sistema” ho posa upyOS.
Arquitectura i components de upyOS
A alt nivell, pots imaginar upyOS dividit en mòduls de sistema que arrenquen en ordre i exposen API senzilles. Encara que el detall exacte varia per implementació, el més normal és trobar peces com:
- Planificador/Tasca: un bucle principal amb micro-tasques cooperatives, timers i callbacks, aprofitant les facilitats de MicroPython (i de vegades uasyncio) per evitar bloquejos.
- Gestió de dispositius: inicialització de busos (I2C, SPI, UART), GPIO, PWM i drivers de sensors o actuadors comuns per reutilitzar en diversos projectes.
- Xarxa: helpers per a WiFi/Ethernet, DNS, sockets i protocols típics (per exemple, MQTT per a IoT) amb reconnexió automàtica i credencials persistents.
- Emmagatzematge: utilitats de sistema de fitxers (LittleFS/FAT), estructura de carpetes, logs i paràmetres, i càrrega de configuració a l'arrencada.
- Serveis a l'inici: mecanisme per decidir quins serveis pugen a boot.py i com s'encadena l'execució fins a main.py, amb diagnòstic mínim (p. ex., parpelleig de LED si falla alguna cosa).
Aquesta arquitectura es recolza en MicroPython, cosa que significa que és portable entre múltiples famílies de microcontroladors amb ports madurs: ESP32, STM32, RP2040, entre altres. La capa upyOS difereix d'un RTOS clàssic (com FreeRTOS) en què afavoreix la simplicitat i la programació a Python, sacrificant el preemptive scheduling per cooperatiu en molts casos per mantenir baixos el consum i la complexitat.
En aplicacions típiques de IoT (telemetria, control ambiental, automatització lleugera), aquest enfocament és més que suficient: el temps real dur poques vegades és necessari, i la velocitat de desenvolupament que aporta Python compensa amb escreix.
Un altre pilar habitual a upyOS és la observabilitat: un sistema de logs amb nivells (INFO, WARN, ERROR), timestamp senzill i destinació a fitxer/sèrie que permeti analitzar incidències sense desplegar eines pesades. Més encara si afegeixes reconnexió automàtica de xarxa i cues de missatges en memòria per tolerar talls de connectivitat temporal.
Funcions clau i avantatges
El gran atractiu és que upyOS aporta una base comuna i reutilitzable per a projectes en diferents plaques: t'emportes la mateixa estructura de servei, configuració i arrencada a cada dispositiu, amb mínims canvis específics de maquinari.
Entre les funcions pràctiques més demandades destaquen el arrencada ordenada (boot services), la reconnexió de xarxa amb back-off, temporitzadors estables per a mostrejos/perifèrics i hooks d'apagat (per deixar perifèrics en estat segur si el sistema s'ha de dormir o reiniciar).
A nivell productiu, l'ús de MicroPython i una capa upyOS redueix dràsticament el temps de prototipat. Els mòduls de xarxa, sensors i persistència ja estan llestos, de manera que dediques la major part del temps a la lògica (per exemple, la política d'enviament de dades o l'automatització concreta de la teva instal·lació).
Un altre avantatge és la facilitat per estendre: si incorpores un nou sensor per I2C, només necessites un petit driver i registrar-lo al gestor de dispositius. La resta del sistema (tasks, logs, xarxa) ni se n'assabenta, i tu segueixes treballant amb una API coherent.
Per acabar, i no menys important, upyOS promou bones pràctiques en dispositius amb recursos limitats: evitar bloquejos, desacoblar tasques, utilitzar timers, escriure logs amb mesura, i persistir configuració en fitxers en lloc de compilar constants rígides al codi.
Compatibilitat, instal·lació i usos pràctics
La compatibilitat típica de upyOS segueix la de MicroPython: ESP32, STM32, RP2040 i altres plataformes amb port actiu. En flotes heterogènies, aquesta portabilitat implica que la mateixa app (o una de molt semblant) pot córrer en diverses plaques com el Seeed Studio XIAO sense refer l'esquelet del sistema.
El desplegament acostuma a ser directe: flaixes MicroPython a la teva placa, copies l'arbre de fitxers (boot.py, main.py, carpetes de serveis i configuració) i reinicies. Si el projecte inclou xarxa, upyOS sol aixecar primer les credencials i, després de tenir IP, arrenca serveis dependents (p. ex., MQTT o HTTP), registrant en log el que ha passat.
En escenaris reals, aquests patrons encaixen de meravella en labors com a telemetria LoRa/WiFi, automatització lleugera de sensors ambientals, control de relés, gateways senzills i nodes que envien dades al núvol. Molts desenvolupadors han provat combinacions amb ESP32-LoRa, on l'stack de sistema (upyOS) gestiona xarxa, logs i timers, i el teu codi només decideix què i quan publicar.
Consell pràctic: fins i tot amb un runtime ordenat com a upyOS, no oblidis preveure l'apagat correcte del dispositiu davant fallades de subministrament; aquí entra en joc l'alimentació ininterrompuda, ia continuació t'expliquem com resoldre-la sense mals de cap.

No confondre amb UPS/SAI: alimentació ininterrompuda pels teus microcontroladors
“UPS” o “SAI” (en anglès, Sistema d'alimentació ininterrompuda; en espanyol, Sistema d'Alimentació Ininterrompuda) no és un sistema operatiu, sinó un equip de respatller elèctric que manté vius els teus dispositius durant un tall o anomalia de xarxa. És clau en escenaris IoT, laboratoris o desplegaments remots on perdre alimentació significaria pèrdua de dades o bloquejos.
Com funciona a grans trets: un SAI disposa de bateries internes que es carreguen mentre hi ha xarxa, un rectificador (passa de CA a CC per carregar), un inversor (converteix la CC de bateria a CA de sortida) i un petit microcontrolador que detecta el tall i commuta en mil·lisegons. Alguns models a més estabilitzen la tensió i filtren harmònics i pics.
Existeixen tres tecnologies principals de SAI que convé distingir per triar bé segons la crítica de l'equip protegit:
- Off-line (bàsic): commuten a bateria quan detecten el tall. Econòmics i eficaços per PCs, sistemes bàsics o hobby. Hi ha un petit temps de canvi, acceptable per a la majoria de càrregues no crítiques.
- línia interactiva: com l'anterior, però amb regulador automàtic de voltatge (AVR). Corregeixen baixades/pujades menors sense gastar bateria, i commuten més ràpid. Molt indicats per routers, NAS o equips d'oficina.
- On-line (doble conversió): l'inversor alimenta sempre des de bateria/CC, per la qual cosa no hi ha finestres de commutació. Donen la sortida més “neta” i estable per càrregues delicades (switches, enllaços, servidors, instrumentació). Són més cars i eficients a costa de més complexitat.
Avantatges pràctics: un SAI no només et permet guardar i apagar amb seguretat, també protegeix contra pics, transitoris i caigudes, allargant la vida útil d'equips i reduint costos de manteniment. Per a nodes embeguts, a més, evita que el sistema de fitxers quedi corrupte si l'apagada agafa el dispositiu escrivint en flaix.
Components a recordar quan seleccionis un SAI o dissenyis un respatller embegut: bateria (la seva capacitat determina l'autonomia), inversor (qualitat de l'ona i potència de sortida), rectificador (capacitat de càrrega) i control d'energia (temps de transferència i proteccions).
Un apunt que molts passen per alt: mentre que els Arduino solen ser poc exigents, els ESP (ESP8266/ESP32) demanen pics de corrent considerables a WiFi/LoRa. Alguns carregadors de mòbil lliuren menys corrent del que diuen a la pràctica, i el resultat són resets aleatoris. Comprova-ho sempre amb proves reals abans de fiar-te de l'etiquetatge.
Si treballes amb xarxa elèctrica, recorda la seguretat: les tensions de xarxa les han de manipular només professionals qualificats. Per a prototips, una font de laboratori o un SAI comercial simplifiquen molt la vida sense exposar-se a riscos innecessaris.
Alternativa DIY per a un microcontrolador? És relativament senzill muntar un respatller DC amb una bateria 18650 Li‑ion i un mòdul carregador/protecció. La bateria es carrega des d'una font 5 V estable, el controlador talla a temps per evitar sobrecàrrega i descàrrega profunda, i el micro queda alimentat durant el tall.
En aquests mòduls veuràs pins marcats com BAT+ i BAT‑ per connectar la cel·la, i sortides cap a la teva placa (5 V per USB o 3,3 V regulats, segons el disseny). Si el teu connector USB és molt “gros”, no és rar haver de doblegar o adaptar amb compte l'enllaç físic a muntatges compactes.
Un flux típic de proves de commutació és programar un ESP32 amb LoRa i WiFi i forçar un tall de la font principal per verificar que el sistema no es reinicia i que upyOS segueix executant tasques i reenviant dades quan torna la xarxa. Et donarà confiança abans de desplegar-te.
Consells per dimensionar: suma la potència (W) de les teves càrregues i afegeix un marge del 20 – 25%. Si tens valors en amperes, multiplica pel voltatge (V) per estimar watts. Escull autonomia segons el teu cas (minuts per tancar ordenadament, o més si vols continuïtat operativa perllongada).
L'autonomia real depèn dels consums i del duty cycle; si vas amb bateries internes, recorda que solen durar 3–5 anys i convé provar el SAI de tant en tant (autotest) per no emportar-te sorpreses. Alguns recomanen una descàrrega periòdica controlada en ús com a UPS embegut per allargar la vida i “moure” la química de la cel·la.
aplicacions i beneficis resumits:
- Protecció de dades: evita corrupció de fitxers i pèrdua de telemetria; permet tancar processos de manera neta.
- Qualitat de subministrament: filtra pics, regula tensió i redueix soroll elèctric, clau en equips sensibles.
- Estalvi: menys avaries, menys manteniment, més vida útil de routers, switches, plaques i perifèrics.
Per descomptat, també hi ha SAIs industrials de gran potència i alt rendiment (> 93% d'eficiència en alguns models de diversos quilowatts) per a càrregues serioses. Per a microcontroladors i electrònica de laboratori, amb alguna cosa line‑interactive ben dimensionat o un petit respatller DC amb 18650 vas servit en la majoria de casos.
Detalls pràctics de muntatge experimental: amb fonts modulars “mini PSU” pots construir la teva pròpia entrada AC si ets professional i compleixes amb terminals a prova de contacte, aïllaments i entreferros. Per a la resta millor una font de laboratori o un SAI comercial amb sortida USB/12 V i tancar la caixa sense exposició a xarxa.
I una última recomanació: encara que vegis que la teva placa “aguanta”, vàlida sota càrrega real (WiFi transmetent, sensors actius, escriptura en flash). Moltes inestabilitats només apareixen amb el consum bec, i és aquí on un suport ben resolt marca la diferència.
Amb tot això en ment, upyOS et posa ordre en el pla programari (tasques, serveis, xarxa, logs) i un SAI/respatller DC et protegeix en el pla elèctric; combinats, converteixen un prototip fràgil en un dispositiu fiable llest per funcionar sense ensurts: planifica els teus serveis amb MicroPython, registra el que passa, dimensiona bé l'energia i verifica amb proves de commutació abans de desplegar al camp.


