Sonoff-s26
Appunti vari su spina smart Sonoff modello S26, basati sui miei esperimenti.
- Chip principale: ESP8255 (un ESP8266 con aggiunta di 1MB di flash, anche su Arduino IDE si usa ESP8266)
- LED blu liberamente utilizzabile
- LED rosso collegato alla bobina del relè di uscita
- Pulsante tattile utilizzabile dall'utente (serve anche per entrare in modalità programmazione se tenuto premuto mentre si alimenta il circuito
- Consumo: relè spento = ~1.0 W / relè acceso = ~1.5 W
Flash firmware
Per caricare firmware custom serve collegarsi alle pad (gentilmente fornite ed anche debitamente etichettate dalla Sonoff) di alimentazione e seriale (TX/RX) che serve sia per programmare che per eventuale debug. Importante: serve un adattatore USB-seriale a 3.3V! All'inizio ho utilizzato un classico FTDI, ma come anche letto online il suo regolatore lineare fornisce poca corrente: per la programmazione funziona bene, ma se poi si vuole usarlo anche per provare il firmware e per debug attraverso la medesima seriale, quando si accende il relè che aumenta il consumo, l'alimentazione si siede. Passando ad una classica cinesata (che comunque funziona bene!) come CH340, si va decisamente meglio, con più corrente a disposizione e si possono fare tutte le prove senza attaccare la spina: occhio che nella versione in vendita ora, rispetto a quella del passato che invece era isolata, la bassa tensione è ricavata direttamente dalla 220V AC, senza trasformatore, quindi non toccare alcuna parte del circuito quando questo è alimentato dalla 220 (ed anche appena staccato: ci sono due begli elettrolitici da 3.3uF / 400 V, non so quanto tempo ci mettano a scaricarsi, e non voglio provare di persona). Comandi per esptool (preferisco andare a mano con quello che far fare ad Arduino IDE, anche perchè spesso i 2 stanno su macchine diverse):
Salvataggio firmware originale (non lo userò mai, ma sempre meglio le buone abitudini di backup sempre comunque e dovunque):
esptool.py –port /dev/ttyUSB0 –baud 921600 read_flash 0x0 0x100000 sonoff_S26_original.bin
Programmazione nuovo firmware:
esptool.py –chip esp8266 –port /dev/ttyUSB3 –baud 921600 –before no_reset –after soft_reset write_flash 0x0 Sonoff-S26_3.ino.bin
Materiali
- Adattatore USB-seriale a 3.3V
- 40 mm di cavo flat passo 1.27 mm
- 2x header femmina 4 pin passo 2.54 mm
- 4 pezzetti di fili colorati
- 1x header maschio 4 pin passo 2.54
Per il collegamento elettrico ho optato per un pezzetto di cavo flat stagnato sulle pad (adattando i vari fili alla lunghezza ottimale per mantenere ordine) e dall'altra parte sull'header femmina, con della resina epossidica per solidità meccanica e soprattutto per isolamento elettrico. Come pinout ho scelto GND-Vcc-TX(ESP)-RX(ESP)
Per (ri)programmare apro la spina (3 viti a croce facili facili ed un dentino sulla parte superiore) e mi collego a quel codino, poi riposto di lato (assicurandosi che sia ben isolato e non faccia contatto!) e richiudo tutto. Non avevo voglia di intagliare la scatola e fare qualcosa di accessibile dall'esterno, vista anche la facilità estrema di apertura. Gli altri 2 header M+F e cavetti colorati li ho usati per adattare il pinout del mio USB-seriale, aggiungendo le mie immancabili resistenze da 1k su TX ed RX (non sono necessarie, precauzione mia…e lo richiede la “lobby delle resistenze da 1k” di cui faccio segretamente parte).
Riparazioni
La mia prima spina ha funzionato benissimo per una settimana, poi ho iniziato ad avere dei blocchi completi (non rispondeva alla rete e neanche al pulsante fisico) per cui ho iniziato ad incolpare chi ha scritto il nuovo firmware con i piedi (cioè io stesso :P). Dopo qualche giorno non si è più acceso, quindi evidente problema HW, non SW. Aperto ho trovato l'elettrolitico bassa tensione CE4 da 470 uF / 10V, 105°C un po' gonfio ed ho intuito: smontato e guardato meglio non era solo “un po' gonfio”:
Sostituito con equivalente tutto ha ripreso a funzionare perfettamente: credo proprio che terrò d'occhio (o sostituirò preventivamente!) quelli delle altre 2 spine che ho.