Cloud ecosystem for ESP32

Everything you need to build on ESP32 — in one cloud

Go from a blank ESP32 to a device that streams to your phone in one sitting — plain-language scripts instead of C, no toolchain, no server of your own, no rebuilds. Quick enough to test an idea, simple enough for a first lesson.

First flash from the browser over USB. After that, everything is over the air.

Board, firmware, cloud, app one stack — you only write the script
What is R1BBIT

One ecosystem, four tools, zero glue code

R1BBIT turns an ESP32 board into a finished connected device — with no toolchain, no server of your own and not a line of C.

Three kinds of work suit it especially well: getting a product to its first working version fast, testing whether an idea holds up before you commit to building it properly, and learning electronics and robotics — that last one above all if you are starting from scratch.

The boards in our catalog are hardware we have verified by hand, but the ecosystem runs on almost any ESP32.

01

Firmware + R1BBIT-BASIC

The firmware carries an interpreter, so the board runs a plain text file instead of a compiled binary. Its 298 commands cover pins, sensors, displays, sound, camera and networking — no C, no toolchain, no compiling.

298 commands6 ESP32 families15 parallel tasks
02

Web IDE

Write in the browser with autocomplete for every command and a checker that catches mistakes as you type. An assistant can write or fix the script for you, and a gallery of ready examples saves you the blank page. Even the very first flashing happens here, over a USB cable.

AutocompleteAI assistantReady examples
03

R1BBIT Cloud

Boards connect to it on their own over an encrypted channel. Readings are kept and drawn as charts, new scripts and firmware arrive over the air, and every device has a console and a file browser you can open from anywhere.

ChartsRemote consoleWireless updates
04

iOS & Android apps

A value the board publishes becomes a tile on your phone; move a slider there and the board reacts. The app also carries the editor, the console, the documentation and the same assistant — and it can ring you when something goes wrong.

App StoreGoogle PlayPush notifications
greenhouse.bas
CONFIG — hardware, applied before the script starts
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
Your logic — run by the interpreter
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
Real CONFIG block from an ESP32-S3 weather-station demo. Change the block, keep the logic, run on other hardware.
One file

Hardware and logic live in the same script

  • CONFIG names the wiring Display driver, pins, buses, codec, camera, SD card — 184 directives, one syntax. The block is parsed before the first line of logic runs.
  • Swap hardware in two lines Replace an ILI9341 with an ST7789: change the driver and the size, keep the rest of the script untouched.
  • A mistake never bricks the board A wrong CONFIG stops the script from starting with a clear message. The firmware and the connection stay up.
  • Widgets on the screen and the phone DISPLAY_WIDGET draws on the device; VARS_PUBLISH streams the same values to your dashboard and mobile app once a second.
How a script reaches the board

Flash once. Then never touch a cable again.

Flash once

The web flasher writes the firmware from the browser over USB. No toolchain, no drivers to hunt for.

Browser + USB

Write

In the web IDE or the mobile app — with autocomplete, inline parameter hints and a linter that checks argument types as you type.

Web IDEMobile app

Send to the board

Press Run and the script is on the board in seconds — over the air, over an encrypted link, no cable. It can also come from an SD card or the console. The board keeps it in flash, and AUTOSTART runs it again on the next power-up.

Over the cloudSD_IMPORTAUTOSTART

Watch it run

Now you can see it working: readings reach the dashboard and your phone about once a second, and the terminal shows whatever the script prints. Something wrong — fix the line and send it again. Meanwhile the board keeps gaining commands, because firmware updates arrive over the air too.

VARS_PUBLISHTerminalOver-the-air updates
Why R1BBIT

Built for the part of the job that usually hurts

If you came to ESP32 through the Arduino IDE, you know the price of every change: recompile, plug in the cable, reflash, repeat until the logic settles. Blynk and Arduino Cloud hand you a dashboard and a cloud, but the logic underneath is still C++ that has to be rebuilt and uploaded again for every edit. R1BBIT keeps the control and drops the rebuild: the logic is a text script the board reads, and the dashboard is simply the variables it publishes.

No rebuild

Change the logic, not the firmware

Your program is a text file the board reads and runs. Edit a line in the browser, send it to the board, and it takes effect — the firmware itself never changes. Even the wiring is described in text: switching displays or moving a sensor to other pins is an edit, not a new build.

  • First flash from the browser over USB — no toolchain, no IDE to install
  • Scripts run in an isolated interpreter: a bug stops the script, the board stays online
  • Firmware updates arrive over the air, encrypted with AES-256-GCM

With the Arduino IDE every change is a compile-and-reflash cycle over a cable.

Change the logic, not the firmware
No server to run

The cloud is already running

There is nothing to install or host. Devices connect to cloud.r1bbit.com out of the box, telemetry lands in a time-series database and charts itself, and every device gets a remote terminal and file manager. Need data from the internet? HTTP_GET fetches it straight from the board — no middleman.

  • Readings go up once a second over an encrypted channel and are kept for you
  • A console, a file browser and firmware updates for every board you own
  • The board can fetch data from any web API by itself — nothing to host in between

With Blynk or Arduino Cloud the dashboard is ready, but the sketch behind it is still C++ you rebuild and upload for every change.

The cloud is already running
Say it in plain language

An assistant that knows the language

Describe what the device should do and the built-in assistant writes R1BBIT-BASIC for it. It sees the script you already have, so it can extend it, explain a command or hunt down the error you cannot find. It lives in the web IDE and in the mobile app alike.

  • Write from a description, change an existing script, fix errors, explain the language
  • Answers are checked against the real command reference before they reach you
  • Invented constructs are flagged instead of quietly handed over as working code

A general-purpose chatbot happily invents commands this language has never had.

An assistant that knows the language
UI without a backend

On the screen and in your pocket

27 widget types render on the device’s own display — charts, gauges, sliders, even OpenStreetMap tiles. Publish a variable and it becomes a widget in the mobile app; move a slider there and ON_VAR fires on the board. A push notification is one command.

  • 27 kinds of on-screen element, from a label to a chart or a gauge
  • iOS and Android apps — tiles bound to the values your board publishes
  • One command sends a push notification, even with the app closed

In practice it is one step: add a widget in the mobile app and point it at a variable — the device subscribes to it automatically and starts sending the data.

On the screen and in your pocket

Safe to experiment

The interpreter is isolated from the firmware. A runtime error stops the script; the board keeps its connection and takes the fix over the air.

Multitasking in the language

Up to 15 background tasks plus the main loop, with shared variables and a cooperative scheduler — no RTOS code.

Cellular fallback

Add a SIM module and the board keeps telemetry, terminal and script delivery alive when Wi-Fi drops.

Audio, camera, video rooms

Play MP3 and tracker music, record, run an FFT, stream a camera to a browser or to another board.

Docs in 5 languages

16 sections, every command with its arguments and an example — in English, Russian, Spanish, French and German.

Templates & community

An official template gallery inside the IDE and a forum where scripts and wiring are shared.

Inside the editor

The whole project lives in one tab

Embedded work is rarely just code. There are files to get onto the board, images the display can actually read, fonts that have to fit in flash — and a lot that is better off never landing on the board at all. All of it sits in the same browser tab as the editor: no separate utilities, no SD-card shuffling.

Remote filesystem

The board’s files, from wherever you are

Open the device files dialog and you are looking at the flash of a board that may be in another building. Browse it, drop a file into the window to upload, pull one back down, rename, delete, make folders — and save the script you are editing straight onto the device. The free-space meter shows what is left before you push a big font or a sound.

  • Internal flash and an SD card in the same dialog
  • Drag a file into the window to upload; download or delete any file back
  • Save the open script to the board without leaving the editor
  • It all rides the cloud connection — no cable, no card reader
/flash/sdUploadDownloadNew folderFree space
The board’s files, from wherever you are
Media on the server

Pictures and sound the board never has to store

A board has under a megabyte of flash — a single photo can eat half of it. So keep the media in the cloud instead: upload a file once, give it a short name, and write that name with an @ in front of it. The board fetches it when the script asks for it, at the size the script asks for, and stores nothing.

  • Show a picture: DISPLAY_WIDGET(1, "image", 0, 0, 320, 240, "@logo")
  • Swap it for the next frame with UI_IMAGE(1, "@frame2") — animation without touching flash
  • Play sound or a radio stream with PLAY_AUDIO("@intro"), video with VIDEO_PLAY("@clip")
  • Change the picture on the server and every board shows the new one — nothing to reflash
ImagesAudioVideoFontsRadio streams2 GB of storage
Pictures and sound the board never has to store
The tools themselves

Not a menu of names — working editors

Draw it, then turn it into code

Draw it, then turn it into code

Open a picture, crop it, paint over it, pick the colour depth the display wants — and take the result out either as an array pasted into your script or as a file sent straight to the board. The counter at the bottom tells you what it will cost in bytes before you commit.

Crop and redrawRGB565 and monoLive previewByte countSend to the board

Whatever you make here goes straight to the board — or stays on the server, where a script reaches it by name.

iOS & Android

The whole workshop in your pocket

The mobile app is not a remote control bolted on at the end — it is the same workflow as the browser. Build the dashboard, write and edit scripts, move files on and off the board, open a terminal, watch live values, read the docs and ask the assistant for help. Sign in and every device on your account is already there.

Build the dashboard here Create and edit widgets right in the app: add a tile, point it at a variable, pick a number, gauge, chart, switch or slider, and drag it into place. The layout is shared with the device and the web dashboard.
Write and edit scripts A real editor on the phone: coloured syntax, autocomplete, hints for every argument and the same mistake-checking as in the browser. Open a script that is already on the board, change a line, send it back and start it from the toolbar.
Files on the board Browse the device storage from the app — download a script, a log or a recorded data file to the phone, and upload files back to the board.
Terminal to the board The same console as in the browser, over the cloud. Send a command, watch the output, restart the script — from anywhere with a signal.
History, not just the latest value Every published value is kept. Open a chart full screen and scroll back — the range runs from live to three months.
AI assistant Ask it to write a script from a description, change one you already have, or explain a command. Answers are checked against the real command reference first.
Push notifications One line in your script and the phone buzzes — a leak, a door, a temperature over the limit. It arrives even when the app is closed.
Docs offline The full command reference travels with the app in five languages — searchable, no connection needed.
Push-to-talk & video Join an audio room with your boards, or watch a camera stream from a device — the app is a client for both.
R1BBIT app — script editor with syntax highlighting Editor
R1BBIT app — live widgets and charts from a device Widgets
R1BBIT app — terminal streaming telemetry from the board Terminal
Sound and video

Multimedia that fits in three lines

Audio and video on a microcontroller usually mean codecs, buffers and a week of reading datasheets. Here they are commands. Radio, a camera stream, a walkie-talkie channel between boards and phones — each is a handful of lines, and the cloud carries the traffic.

Play music and radio

Point the command at a file in flash, at a file you keep on the server, or straight at an internet radio station — the board decodes it and plays. It can also tell you what is playing right now, because it reads the station’s track info.

radio.bas
VAR title$
PLAY_AUDIO("https://mangoradio.stream.laut.fm/mangoradio")

WHILE 1
    AUDIO_TITLE(title$)
    PRINT "Now playing: " + title$
    PAUSE 5000
WEND
MP3 and WAVInternet radioTracker music5-band equaliserRecording

A walkie-talkie between devices

Put several boards in the same room and they hear each other. Hold a button to talk, release to listen. Phones can join the same room, so a device and a person end up on one channel — useful for a workshop, a gate, a greenhouse at the far end of the plot.

walkie.bas
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
Opus voicePress to talkSeveral boards at oncePhones in the same room

Camera to a phone — or to another board

Start a video room and the camera goes live. Watch it in the mobile app or in a browser, and a second board with a screen can join the same room as a viewer — a doorbell showing itself on the panel in the kitchen, with no server of your own in between.

camera.bas
CAM_INIT
CAM_RESOLUTION(320, 240)
START_VIDEO_ROOM("frontdoor", 10)

// on the board with the screen:
// JOIN_VIDEO_ROOM("frontdoor")
Camera streamWatch in the appWatch in a browserBoard-to-board

Voice and video ride a low-latency channel with an automatic fallback if it is blocked. Sound also gives you note and melody playback, tracker modules, WAV and MP3 recording and a live spectrum analyser.

All sound and video commands
Supported devices

Almost any ESP32

The firmware builds for six targets — ESP32-S3, ESP32-P4, ESP32-C6, ESP32-C3, the classic ESP32 and the S3 without PSRAM. The boards below are the ones we have verified hands-on. Bring a dev board of the same family and it gets its own CONFIG block just the same.

ESP32-S3

6 boards

The reference platform — new features land here first

  • SPI displays and capacitive touch
  • DVP camera, audio, FFT, tracker music
  • HTTP feeds, cellular fallback
  • No MIPI-DSI / CSI, no Ethernet

ESP32-P4

6 boards

The big-screen one

  • MIPI-DSI panels up to 1280 px, CSI cameras
  • Ethernet, H.264 video viewer, OpenStreetMap
  • 32 MB PSRAM — room for large UIs
  • Wi-Fi goes through a C6 co-processor — light sleep drops the link

ESP32-C6

5 boards

Wi-Fi 6 in a tiny footprint

  • OLED / TFT displays, sensors, PWM, UART
  • Audio playback and internet radio
  • Deep sleep and wake on GPIO
  • No HTTP feeds, no capacitive-touch pins

ESP32-C3

2 boards

The smallest and cheapest

  • OLED / TFT displays, sensors, PWM, UART
  • Deep sleep and wake on GPIO
  • Cloud telemetry and remote terminal
  • No audio or FFT, no HTTP feeds, no touch pins

Also builds for the classic ESP32 (D0WD) and the ESP32-S3 without PSRAM — same language, same cloud, fewer peripherals.

For business

From one prototype to a product line

The ecosystem is ready for commercial work today. Build a device on an ESP32, and the same firmware, the same cloud and the same apps that run the first board on your desk will run a hundred of them in the field — nothing has to be rewritten the day a project stops being a hobby.

Hardware you can just buy

R1BBIT runs on standard ESP32 modules sold in quantity by ordinary distributors. Going from one unit to a thousand is a purchasing decision, not a redesign, and the same script runs on every one of them.

Fix a fleet, not a device

A corrected script or a new firmware build goes out over the air to every board at once. Nobody drives to a site with a laptop and a cable.

Telemetry already stored

Every device writes its readings to the cloud, kept per device and ready to chart months back. There is no backend to write and no database to run.

Your customers get the app

The iOS and Android apps are published and ready. A device belongs to its owner’s account, and its widgets show up there without anyone building a second app.

Each board has an owner

A device is bound to an account, and everything it exchanges with the cloud — telemetry, commands, scripts and firmware — travels over an encrypted link.

Or bring your own board

The catalog lists hardware we verified by hand, but the firmware builds for six ESP32 targets — so a board of your own design can join the same ecosystem.

Refrigeration and cold-store statistics, building heating and air conditioning, workshop and greenhouse monitoring — the same stack sits behind all of them.

R1BBIT for business
For teaching

A first board that works in one lesson

Most of a beginner’s first day with a microcontroller is spent on things that are not programming: installing an environment, hunting for drivers, picking a board in a menu, waiting for a build. R1BBIT removes that day. A browser, a cheap board and a USB cable — and the class is writing logic in the first half of the lesson, not the third.

Three steps: from a blinking LED to a chart on the phone

1
The first script

Make something happen

blink.bas
CONFIG
  OUT1 2
END_CONFIG

WHILE 1
  OUT1 1
  PAUSE 500
  OUT1 0
  PAUSE 500
WEND
Eight lines and the board answers back. Nothing was installed and nothing was compiled — the script goes over the air.
Teaches
A program is a sequenceA loop repeatsTime is in milliseconds
2
Add a sensor

Measure the room

room.bas
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
The sensor writes into T and H on its own every two seconds. The student only decides what to do with the numbers.
Teaches
VariablesA sensor fills themReading the output
3
Add the phone

Let it tell you itself

alarm.bas
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
One line draws the chart in the app, another rings the phone. Nobody wrote a backend, a database or an API.
Teaches
A conditionA push to the phoneA chart with no server

Every script here is the whole program — there is no hidden setup file and no project to configure.

Nothing to install

Everything happens in a browser — on a school computer with no admin rights, on a laptop, even on a tablet. Nothing to download, no licences, no version that only works on one machine in the room.

A language you can read

Commands say what they do: DHT_INIT, PRINT, PAUSE, IF … THEN. A student reads a line and understands it, so a lesson can be about loops and conditions rather than about semicolons and braces.

A mistake costs nothing

The script runs in an isolated interpreter. A wrong line stops the script and prints why; the board keeps working and takes the fix a second later. No bricked hardware, no lost lesson.

Hardware a school can afford

The smallest supported chips cost a few dollars, and one board with a sensor is already a working project. A set for a whole class does not need a grant.

What a class actually needs

  • A browser on any machine in the room
  • An ESP32 board from a few dollars
  • One USB cable for the very first flash
  • An LED or a sensor to point it at

No admin rights, no licences, and no lab image for anyone to maintain.

Where it fits
STEM and electronics lessonsRobotics clubsScience experiments with sensorsAfter-school and summer programmesHackathons and maker daysFinal-year and capstone projects
For educators

Documentation comes in English, Russian, Spanish, French and German.

Pricing

One payment to start, three months included

A board joins the cloud once, and that activation carries three months of Starter with it. After that you choose a plan or stay on Free — the board keeps working either way.

$9.99 One-time, per board

Activate a board

Paid once per board, not every month. It ties the board to your account and opens three months of the Starter plan — the editor, the cloud, the mobile apps and the assistant, all of it.

Activate a board

And afterwards

Free

Free

  • 3 devices
  • 3 days of history
  • 100 notifications a month
  • No AI assistant
  • Readings as often as every 60s
Choose

Starter

$6.99 / month

or $69.99 a year

  • 5 devices
  • 90 days of history
  • 1,000 notifications a month
  • AI assistant
  • Readings as often as every 60s
Choose

Professional

$19.99 / month

or $199 a year

  • 15 devices
  • 365 days of history
  • 5,000 notifications a month
  • AI assistant
  • Readings as often as every 20s
Choose

Prices are per account in US dollars and come straight from our billing system. Paying yearly costs less than twelve monthly charges. Free needs no card at all.

Ready to build?

Open the cloud, read the docs or ask the forum — the first board takes an evening, not a weekend.

R1BBIT Cloud

Web IDE, template gallery, dashboards and a terminal to every board — in the browser.

Open the Cloud

Documentation

16 sections, every command with its arguments and an example — in five languages.

Read the docs

Community

Ask a question, share a script or a wiring diagram on the forum.

Join the forum