Da una scheda ESP32 vuota a un dispositivo che manda i dati sul tuo telefono, in una sola sessione. Script in linguaggio semplice al posto del C, senza toolchain, senza un server tuo, senza ricompilare. Abbastanza rapido per provare un'idea, abbastanza semplice per la prima lezione.
Primo flash dal browser via USB. Da lì in poi tutto passa via etere.
R1BBIT trasforma una scheda ESP32 in un dispositivo connesso già finito — senza toolchain, senza un server tuo e senza una riga di C.
Si presta soprattutto a tre cose: portare in fretta un prodotto alla prima versione funzionante, verificare se un'idea regge prima di investirci sul serio, e imparare elettronica e robotica — quest'ultima soprattutto se parti da zero.
Nel catalogo trovi hardware che abbiamo verificato a mano, ma l'ecosistema gira su quasi ogni ESP32.
Il firmware porta con sé un interprete, quindi la scheda esegue un semplice file di testo invece di un binario compilato. I suoi 298 comandi coprono pin, sensori, display, suono, telecamera e rete — niente C, niente toolchain, niente compilazione.
Scrivi nel browser con il completamento automatico per ogni comando e un controllo che coglie gli errori mentre digiti. Un assistente può scrivere o riparare lo script per te, e una galleria di esempi pronti ti risparmia la pagina bianca. Perfino il primissimo flash avviene qui, con un cavo USB.
Le schede si collegano da sole su un canale cifrato. Le letture vengono conservate e disegnate come grafico, script e firmware nuovi arrivano via etere, e ogni dispositivo ha una console e un gestore di file che apri da dove vuoi.
Un valore pubblicato dalla scheda diventa un riquadro sul telefono; sposti lì un cursore e la scheda reagisce. L’app porta con sé anche l’editor, la console, la documentazione e lo stesso assistente — e può avvisarti quando qualcosa va storto.
CONFIG
PSRAM_SIZE 8
PSRAM_TYPE OCTAL
I2C_SDA 16
I2C_SCL 15
SPI_MOSI 11
SPI_MISO 13
SPI_CLK 12
DISPLAY_DRIVER ILI9341
DISPLAY_CS 10
DISPLAY_DC 46
DISPLAY_BL 45
DISPLAY_WIDTH 320
DISPLAY_HEIGHT 240
TOUCH_DRIVER FT6x36
TOUCH_INT 17
END_CONFIG
DISPLAY_INIT
DISPLAY_WIDGET(1, "label", 20, 24, 280, 36)
DISPLAY_WIDGET(2, "arc", 90, 76, 140, 140)
VAR T, F
VAR A[1]
DS1820_INIT(A, 1000)
VARS_PUBLISH(T, F)
WHILE(1)
T = A[0]
F = T * 9 / 5 + 32 ' to Fahrenheit
UI_TEXT(1, "Temperature " + T + " C")
UI_VALUE(2, T)
IF T > 30 THEN SEND_NOTIFY("Greenhouse", "Too hot: " + T)
PAUSE 1000
WEND
Il flasher web scrive il firmware dal browser via USB. Niente toolchain, niente driver da cercare.
Nell’IDE web o nell’app mobile — con completamento automatico, suggerimenti dei parametri sulla riga stessa e un controllo che verifica i tipi degli argomenti mentre scrivi.
Premi Run e lo script è sulla scheda in pochi secondi: via etere, su un collegamento cifrato, senza cavi. Può arrivare anche da una scheda SD o dalla console. La scheda lo conserva in flash e AUTOSTART lo riavvia alla prossima accensione.
Adesso lo vedi lavorare: le letture arrivano sulla dashboard e sul telefono circa una volta al secondo, e il terminale mostra tutto ciò che lo script stampa. Qualcosa non va? Correggi la riga e rimandala. Intanto la scheda acquista nuovi comandi, perché anche gli aggiornamenti del firmware arrivano via etere.
Se sei arrivato all'ESP32 dall'IDE Arduino, conosci il prezzo di ogni modifica: ricompilare, infilare il cavo, riflashare, e daccapo finché la logica non si assesta. Blynk e Arduino Cloud ti danno una dashboard e un cloud, ma la logica sotto è ancora C++ da ricostruire e ricaricare a ogni modifica. R1BBIT ti lascia il controllo e toglie la ricostruzione: la logica è uno script di testo che la scheda legge, e la dashboard sono semplicemente le variabili che pubblica.
Il tuo programma è un file di testo che la scheda legge ed esegue. Cambi una riga nel browser, la mandi alla scheda, e ha effetto — il firmware in sé non cambia mai. Anche i collegamenti sono descritti a parole: cambiare display o spostare un sensore su altri pin è una modifica, non una nuova compilazione.
Con l’IDE di Arduino ogni modifica è un ciclo di ricompilazione e riflash via cavo.
Non c’è nulla da installare né da ospitare. I dispositivi si collegano a cloud.r1bbit.com già di fabbrica, la telemetria finisce in una base dati a serie temporali e si disegna da sola, e ogni dispositivo ha un terminale remoto e un gestore di file. Servono dati da internet? HTTP_GET li prende direttamente dalla scheda — senza intermediari.
Con Blynk o Arduino Cloud la dashboard è pronta, ma lo sketch dietro è sempre C++ da ricostruire e ricaricare a ogni modifica.
Descrivi che cosa deve fare il dispositivo e l’assistente incorporato scrive il R1BBIT-BASIC corrispondente. Vede lo script che hai già, quindi può ampliarlo, spiegarti un comando o stanare l’errore che non riesci a trovare. Vive tanto nell’IDE web quanto nell’app mobile.
Un chatbot generico si inventa allegramente comandi che questo linguaggio non ha mai avuto.
27 tipi di widget si disegnano sul display del dispositivo: grafici, indicatori, cursori, perfino tasselli di OpenStreetMap. Pubblichi una variabile e diventa un riquadro nell’app mobile; sposti lì il cursore e sulla scheda scatta ON_VAR. Una notifica è un solo comando.
In pratica è un unico passaggio: aggiungi un widget nell'app e indica una variabile — il dispositivo si iscrive da solo e inizia a inviare i dati.
L’interprete è isolato dal firmware. Un errore in esecuzione ferma lo script; la scheda mantiene la connessione e accetta la correzione via etere.
Fino a 15 attività in secondo piano oltre al ciclo principale, con variabili condivise e uno scheduler cooperativo — senza codice RTOS.
Aggiungi un modulo SIM e la scheda tiene in vita telemetria, terminale e consegna degli script quando il wifi cade.
Riprodurre MP3 e musica tracker, registrare, calcolare una FFT, trasmettere una telecamera a un browser o a un’altra scheda.
16 capitoli, ogni comando con i suoi argomenti e un esempio, in inglese, russo, spagnolo, francese e tedesco.
Una galleria ufficiale di modelli dentro l’IDE e un forum dove si condividono script e collegamenti.
Il lavoro embedded è di rado solo codice. Ci sono file da portare sulla scheda, immagini che il display sappia davvero leggere, caratteri che devono stare nella flash — e molto che è meglio non ci arrivi mai. Tutto questo vive nella stessa scheda del browser dell’editor: niente utilità separate, niente andirivieni di schede SD.
Apri la finestra dei file del dispositivo e stai guardando la flash di una scheda che può trovarsi in un altro edificio. Sfogliala, trascina un file nella finestra per caricarlo, riportane indietro un altro, rinomina, cancella, crea cartelle — e salva lo script che stai scrivendo direttamente sul dispositivo. L’indicatore dello spazio libero mostra quanto resterà prima che ci spinga dentro un carattere grande o un suono.
Una scheda ha meno di un megabyte di flash: una sola foto ne mangia metà. Lascia dunque i media nella nuvola: carichi il file una volta, gli dai un nome corto e scrivi quel nome preceduto da una @. La scheda lo va a prendere quando lo script lo chiede, nella misura che lo script chiede, e non conserva nulla.
Apri un’immagine, ritagliala, dipingici sopra, scegli la profondità di colore che il display vuole — e porta via il risultato o come array incollato nello script o come file mandato direttamente alla scheda. Il contatore in basso ti dice in anticipo quanto costerà in byte.
Carica un qualsiasi TTF, scegli quali intervalli di caratteri tenere e sistema a mano, pixel per pixel, il glifo che non ne vuole sapere. La riga in basso conta la memoria che occuperà — e avvisa quando gran parte è spazio vuoto, che è la ragione abituale per cui un carattere non entra.
Porta l’area di lavoro alla misura del tuo display, poi trascinaci sopra etichette, pulsanti, cursori, indicatori, grafici ed elenchi e disponili su una griglia. Premi un pulsante e ottieni lo script che disegna esattamente quello schermo — e rilegge uno script esistente, così una disposizione si può rifare più avanti.
I moduli tracker suonano nel browser come sulla scheda. Aprine uno e avrai la griglia dei pattern con ogni nota e ogni effetto, l’elenco dei canali e tutti i campioni — modificalo qui e quello stesso file suona dal tuo script.
Un filmato diventa una striscia di fotogrammi che puoi modificare uno per uno: disegnare su uno, duplicarlo, ritagliare un tratto. Poi comprimerlo fino a quel che uno schermo piccolo sopporta: bianco e nero a un bit con retinatura, oppure colore compresso.
Lascia cadere un brano e vedi la forma d’onda: selezionare un tratto, tagliarlo, tenere solo il necessario. Poi scegli il bitrate, e la riga sotto ti dice il prezzo in anticipo: un brano di due minuti e mezzo è passato da 15 MB a 1,3, abbastanza piccolo da stare sulla scheda.
Quello che costruisci qui va dritto sulla scheda — oppure resta sul server, dove uno script lo trova per nome.
L'app mobile non è un telecomando aggiunto alla fine: è lo stesso flusso di lavoro del browser. Componi la dashboard, scrivi e modifichi script, sposti file sulla scheda e indietro, apri un terminale, guardi i valori in tempo reale, leggi la documentazione e chiedi aiuto all'assistente. Accedi e tutti i dispositivi del tuo account sono già lì.
Editor
Widget
Terminale Audio e video su un microcontrollore di solito significano codec, buffer e una settimana di schede tecniche. Qui sono comandi. La radio, un flusso dalla telecamera, un canale ricetrasmittente fra schede e telefoni: ognuno è poche righe, e il traffico lo porta la nuvola.
Punta il comando a un file nella flash, a un file tenuto sul server o direttamente a una stazione radio via internet: la scheda decodifica e riproduce. Può anche dirti che cosa sta suonando adesso, perché legge le informazioni sul brano trasmesse dalla stazione.
VAR title$
PLAY_AUDIO("https://mangoradio.stream.laut.fm/mangoradio")
WHILE 1
AUDIO_TITLE(title$)
PRINT "Now playing: " + title$
PAUSE 5000
WEND
Metti più schede nella stessa stanza e si sentono fra loro. Tieni premuto per parlare, rilascia per ascoltare. Anche i telefoni possono entrare in quella stanza, così un dispositivo e una persona finiscono su un unico canale — comodo per un’officina, un cancello, una serra in fondo al terreno.
CONFIG
IN1 4
IN1_PULL UP
END_CONFIG
JOIN_AUDIO_ROOM("myteam", 16)
WHILE 1
IF IN1 = 0 THEN PTT(1)
IF IN1 = 1 THEN PTT(0)
PAUSE 50
WEND
Apri una stanza video e la telecamera va in diretta. Guardala nell’app mobile o nel browser, e una seconda scheda con schermo può entrare nella stessa stanza come spettatrice — un campanello che si mostra da solo sul pannello in cucina, senza un server tuo in mezzo.
CAM_INIT
CAM_RESOLUTION(320, 240)
START_VIDEO_ROOM("frontdoor", 10)
// on the board with the screen:
// JOIN_VIDEO_ROOM("frontdoor")
Voce e video viaggiano su un canale a bassa latenza, con ripiego automatico se viene bloccato. Il suono aggiunge anche la riproduzione di note e melodie, i moduli tracker, la registrazione in WAV e MP3 e un analizzatore di spettro dal vivo.
Tutti i comandi di suono e videoIl firmware si compila per sei bersagli: ESP32-S3, ESP32-P4, ESP32-C6, ESP32-C3, l’ESP32 classico e l’S3 senza PSRAM. Le schede qui sotto sono quelle che abbiamo verificato di persona. Porta una scheda di sviluppo della stessa famiglia e avrà ugualmente il suo blocco CONFIG.
La piattaforma di riferimento: le novità arrivano prima qui
The big-screen one
Wi-Fi 6 in uno spazio minimo
The smallest and cheapest
Si compila anche per l’ESP32 classico (D0WD) e per l’ESP32-S3 senza PSRAM: stesso linguaggio, stessa nuvola, meno periferiche.
L'ecosistema è già pronto per il lavoro commerciale. Costruisci un dispositivo su un ESP32 e lo stesso firmware, lo stesso cloud e le stesse app che fanno girare la prima scheda sulla tua scrivania ne faranno girare cento sul campo. Non c'è nulla da riscrivere il giorno in cui il progetto smette di essere un hobby.
R1BBIT gira su moduli ESP32 standard che i distributori vendono a lotti. Passare da un pezzo a mille è una decisione d'acquisto, non una riprogettazione, e lo stesso script gira su ognuno di essi.
Uno script corretto o una nuova build del firmware parte via etere verso tutte le schede insieme. Nessuno va in impianto con portatile e cavo.
Ogni dispositivo scrive le sue letture nel cloud, tenute per dispositivo e pronte da graficare mesi indietro. Non c'è backend da scrivere né database da gestire.
Le app per iOS e Android sono pubblicate e pronte. Un dispositivo appartiene all'account del proprietario e i suoi widget compaiono lì da soli: nessuno costruisce una seconda app.
Il dispositivo è legato a un account, e tutto ciò che scambia con il cloud — telemetria, comandi, script e firmware — viaggia su un collegamento cifrato.
Il catalogo elenca hardware verificato a mano, ma il firmware si compila per sei target ESP32: una scheda di tua progettazione entra nello stesso ecosistema.
Statistiche da impianti frigoriferi e celle, riscaldamento e climatizzazione degli edifici, monitoraggio di officina e serra: dietro a tutto c'è lo stesso stack.
R1BBIT per le aziendeIl primo giorno con un microcontrollore se ne va quasi tutto in cose che non sono programmare: installare un ambiente, cercare driver, scegliere la scheda in un menu, aspettare la compilazione. R1BBIT toglie di mezzo quel giorno. Un browser, una scheda economica e un cavo USB — e la classe scrive logica nella prima metà dell’ora, non nella terza.
CONFIG
OUT1 2
END_CONFIG
WHILE 1
OUT1 1
PAUSE 500
OUT1 0
PAUSE 500
WEND
CONFIG
I2C_SCL 7
I2C_SDA 6
END_CONFIG
VAR T, H
SI7021_INIT(T, H, 2000)
WHILE 1
PRINT "temp " + T + " hum " + H
PAUSE 2000
WEND
CONFIG
I2C_SCL 7
I2C_SDA 6
END_CONFIG
VAR T, H
SI7021_INIT(T, H, 2000)
VARS_PUBLISH(T, H)
WHILE 1
IF T > 27 THEN
SEND_NOTIFY("Too warm", STR$(T) + " C")
ENDIF
PAUSE 60000
WEND
Ogni script qui è l’intero programma: non c’è un file di configurazione nascosto né un progetto da preparare.
Tutto avviene in un browser: su un computer della scuola senza diritti di amministratore, su un portatile, perfino su un tablet. Niente da scaricare, nessuna licenza, nessuna versione che funzioni solo su una macchina dell’aula.
I comandi dicono ciò che fanno: DHT_INIT, PRINT, PAUSE, IF … THEN. Uno studente legge una riga e la capisce, così la lezione può parlare di cicli e condizioni invece che di punti e virgola e parentesi graffe.
Lo script gira in un interprete isolato. Una riga sbagliata lo ferma e scrive il perché; la scheda continua a funzionare e accetta la correzione un secondo dopo. Nessun hardware rovinato, nessuna lezione persa.
I chip compatibili più piccoli costano pochi dollari, e una scheda con un sensore è già un progetto che funziona. Un corredo per un’intera classe non ha bisogno di un finanziamento.
Nessun diritto di amministratore, nessuna licenza e nessuna immagine d’aula da mantenere.
La documentazione è in inglese, russo, spagnolo, francese e tedesco.
Una scheda entra nel cloud una volta sola, e quella attivazione porta con sé tre mesi di Starter. Poi scegli un piano o resti su Free: la scheda funziona comunque.
Si paga una volta per scheda, non ogni mese. L'attivazione lega la scheda al tuo account e apre tre mesi del piano Starter: l'editor, il cloud, le app mobili e l'assistente, tutto quanto.
Gratis
$6.99 / mese
oppure $69.99 all'anno
$19.99 / mese
oppure $199 all'anno
I prezzi sono per account in dollari statunitensi e arrivano direttamente dal nostro sistema di fatturazione. Pagare a anno costa meno di dodici addebiti mensili. Free non richiede alcuna carta.
Apri la nuvola, leggi la documentazione o chiedi sul forum: la prima scheda richiede una sera, non un fine settimana.
IDE web, galleria dei modelli, cruscotti e un terminale verso ogni scheda — nel browser.
Apri la nuvola16 capitoli, ogni comando con i suoi argomenti e un esempio, in cinque lingue.
Leggi la documentazioneFai una domanda oppure condividi uno script o uno schema di collegamento sul forum.
Entra nel forum