一套生态,四件工具,零粘合代码
R1BBIT 把一块 ESP32 开发板变成一台成品联网设备——不需要工具链,不需要自建服务器,也不用写一行 C。
它特别适合三件事:让产品快速做到第一个能用的版本;在真正投入之前先验证想法是否成立;学习电子与机器人技术——尤其适合从零开始的人。
目录里列的是我们逐块验证过的硬件,但整套生态几乎可以跑在任何 ESP32 上。
固件 + R1BBIT-BASIC
固件里带着一个解释器,所以板子运行的是一份纯文本文件,而不是编译好的二进制。它的 298 条命令涵盖引脚、传感器、显示屏、声音、摄像头和网络——没有 C,没有工具链,也不用编译。
网页 IDE
在浏览器里写,每条命令都有自动补全,还有边打字边发现错误的检查器。助手能替你写脚本或修脚本,现成示例库让你不必面对空白页。就连第一次烧录也在这里完成,用一根 USB 线。
R1BBIT 云端
开发板会自己通过加密通道连上来。读数被保存下来并画成图表,新的脚本和固件通过无线送达,每台设备都有一个你随时随地都能打开的控制台和文件管理器。
iOS 与 Android 应用
开发板发布的数值会变成手机上的一块磁贴;在那里拖动滑块,开发板就会响应。应用里还带着编辑器、控制台、文档和同一个助手——出问题时它还能给你打招呼。
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
硬件和逻辑写在同一个脚本里
- CONFIG 说明接线Display driver, pins, buses, codec, camera, SD card — 184 directives, one syntax. The block is read before the script starts, so the hardware is ready by the first line of logic.
- 两行就能换掉硬件Replace an ILI9341 with an ST7789: change the driver and the size, keep the rest of the script. Moving a sensor to other pins is one number.
- 出错永远不会把板子变砖A wrong CONFIG stops the script from starting with a clear message. The firmware and the cloud link stay up, so the fix goes out over the air.
- The dashboard comes freeVARS_PUBLISH makes a variable visible in the cloud and on the phone. No API to write, no endpoint to register — the value is simply there.
只烧录一次
The web flasher writes the firmware from the browser over USB. No toolchain, no drivers to hunt down, no IDE to install.
编写
In the web IDE or the mobile app — with autocomplete, inline parameter hints and a linter that catches mistakes before the board sees them.
发送到开发板
Press Run and the script is on the board in seconds — over the air, over an encrypted link. From an SD card or on boot, if you prefer.
看着它运行
Now you can see it working: readings reach the dashboard and your phone about once a second, and the console answers from wherever the board is.
专为通常最难受的那部分而做
如果你是从 Arduino IDE 进入 ESP32 的,你清楚每一次改动的代价:重新编译、插上数据线、重新烧录,来回折腾直到逻辑稳定。Blynk 和 Arduino Cloud 给了你面板和云端,但底下的逻辑仍然是 C++,每改一次都要重新构建、重新上传。R1BBIT 把控制权留给你,同时去掉了重新构建:逻辑是开发板读取的一个文本脚本,而面板不过是它发布的那些变量。
可以放心试错
解释器与固件相互隔离。运行时出错只会停下脚本;板子保持连接,并通过无线接收你的修正。
语言本身支持多任务
除主循环外最多 15 个后台任务,共享变量,协作式调度——不用写 RTOS 代码。
蜂窝网络备份
接上一个 SIM 模块,Wi-Fi 断线时遥测、终端和脚本下发照样不中断。
音频、摄像头、视频房间
播放 MP3 和音轨音乐、录音、做 FFT、把摄像头画面推到浏览器或另一块板子。
整个项目都在一个标签页里
嵌入式开发很少只是写代码。文件要传到板子上,图片要转成屏幕真正读得懂的格式,字体要塞进 Flash——还有很多东西根本不该落到板子上。这些都在与编辑器同一个浏览器标签页里:不用另装工具,也不用来回插拔 SD 卡。
不是一串名字,而是真能干活的编辑器

画出来,再变成代码
打开一张图,裁剪、涂改,选好屏幕需要的色深——结果既可以作为数组贴进脚本,也可以作为文件直接发到板子上。下方的计数器会在你动手前就告诉你它要花多少字节。

只留下用得到的字符
载入任意 TTF 字体,挑选要保留的字符范围,再逐像素手工修好那个别扭的字形。下方那行会统计它将占用的内存——当其中大部分是空白时还会提醒你,而这正是字体塞不下的常见原因。

亲手排出这块屏幕
把画布设成你屏幕的尺寸,然后把标签、按钮、滑块、仪表盘、图表和列表拖上去,在网格上排好。按一下按钮,就得到画出这块屏幕的脚本——它还能反过来读取已有脚本,所以布局以后还能再改。
芯片音乐,一个音符一个音符地做
音轨模块在浏览器里和在板子上一样能放。打开一个,你会看到带全部音符和效果的音序网格、通道列表和所有采样——在这里改好,同一个文件就能从你的脚本里放出来。

一帧一帧,直到只剩一位
一段视频会变成一条可以逐帧编辑的胶片:在某一帧上涂画、复制它、剪掉一段。然后压缩到小屏幕吃得下的程度:带抖动的一位黑白,或者压缩后的彩色。

剪短、压小、放出来
把一段音频拖进来就能看到波形:选一段、剪掉、只留需要的部分。然后选码率,下面那行会提前告诉你代价——一首两分半的曲子从 15 MB 降到 1.3 MB,小到可以直接存在板子上。
你在这里做出来的东西,要么直接送到板子上,要么留在服务器上,让脚本按名字去取。
整间工坊装进口袋
手机应用不是最后加上去的遥控器,而是和浏览器一样完整的工作流。搭建面板、编写和修改脚本、在开发板和手机之间搬运文件、打开终端、查看实时数值、阅读文档、向助手提问。登录之后,账号下的所有设备都已经在那里。
编辑器
控件
终端三行就能写完的多媒体
Audio and video on a microcontroller usually mean codecs, buffers and a week of reading datasheets. Here they are commands: play a station, join a voice room, start a camera. The firmware carries the decoders, the cloud carries the channel.
播放音乐和电台
让命令指向 Flash 里的文件、服务器上保存的文件,或者直接指向一个网络电台——板子会解码并播放。它还能告诉你此刻正在播什么,因为它读得到电台的曲目信息。
VAR title$
PLAY_AUDIO("https://mangoradio.stream.laut.fm/mangoradio")
WHILE 1
AUDIO_TITLE(title$)
PRINT "Now playing: " + title$
PAUSE 5000
WEND
设备之间的对讲机
把几块板子放进同一个房间,它们就能互相听见。按住说话,松开收听。手机也能进同一个房间,于是设备和人落在同一条通道上——工坊、大门、地块尽头的温室,都用得上。
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
摄像头画面送到手机——或者送到另一块板子
开一个视频房间,摄像头就上线了。可以在手机应用或浏览器里观看,另一块带屏幕的板子也能以观众身份进入同一个房间——门铃把自己显示在厨房的面板上,中间不需要你自己的服务器。
CAM_INIT
CAM_RESOLUTION(320, 240)
START_VIDEO_ROOM("frontdoor", 10)
// on the board with the screen:
// JOIN_VIDEO_ROOM("frontdoor")
语音和视频走低延迟通道,被阻断时会自动切换备用路径。声音这边还提供音符与旋律播放、音轨模块、WAV 和 MP3 录音,以及实时频谱分析。
全部音频与视频命令几乎任意一块 ESP32
固件面向六个目标编译:ESP32-S3、ESP32-P4、ESP32-C6、ESP32-C3、经典 ESP32,以及不带 PSRAM 的 S3。下面这些开发板是我们亲手验证过的。带一块同系列的开发板来,它照样有自己的 CONFIG 配置块。
ESP32-S3
9 boards参考平台——新功能最先出现在这里
- SPI displays and capacitive touch
- DVP camera, audio, FFT, tracker music
- HTTP feeds, cellular fallback
- 没有 MIPI-DSI / CSI,也没有以太网
ESP32-P4
6 boardsThe 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 经由 C6 协处理器——轻度睡眠会断开链路
ESP32-C6
5 boards极小体积里的 Wi-Fi 6
- OLED / TFT displays, sensors, PWM, UART
- Audio playback and internet radio
- Deep sleep and wake on GPIO
- 不支持 HTTP 数据源,没有电容触摸引脚
ESP32-C3
2 boardsThe smallest and cheapest
- OLED / TFT displays, sensors, PWM, UART
- Deep sleep and wake on GPIO
- Cloud telemetry and remote terminal
- 没有音频和 FFT,不支持 HTTP 数据源,也没有触摸引脚
Also builds for the classic ESP32 (D0WD) and the ESP32-S3 without PSRAM — same language, smaller set of commands.
从一个原型到量产产品
这套生态今天就可以用于商业项目。在 ESP32 上做出一台设备,桌上第一块板所用的固件、云端和应用,同样能撑起现场的一百台。项目不再只是爱好的那一天,没有任何东西需要重写。
随手就能买到的硬件
R1BBIT 跑在普通分销商成批供货的标准 ESP32 模组上。从一台到一千台是采购问题,不是重新设计,而且同一个脚本在每一台上都能跑。
修的是整个机群,不是一台机器
改好的脚本或新构建的固件通过空中升级一次发给所有开发板。没有人需要带着笔记本和数据线跑现场。
遥测数据已经存好
每台设备都把读数写入云端,按设备分开保存,随时可以画出几个月前的曲线。不用写后端,也不用运维数据库。
你的客户直接拿到应用
iOS 和 Android 应用已经上架、随时可用。设备归属于机主的账号,它的组件会自动出现在那里——没人需要再做第二个应用。
每块板都有归属
设备绑定到账号,它与云端交换的一切——遥测、命令、脚本和固件——都走加密链路。
也可以带自己的板子来
目录里是我们逐块验证过的硬件,但固件可以编译到六个 ESP32 目标上,所以你自研的板子同样能加入这套生态。
Refrigeration and cold-store statistics, building heating and air conditioning, workshop and greenhouse monitoring, access control, information panels — the same stack covers all of it.
R1BBIT 商业方案第一块一节课就能跑起来的开发板
初学者与单片机相处的第一天,大半时间都花在与编程无关的事上:装环境、找驱动、在菜单里选板子、等编译。R1BBIT 把这一天去掉了。一个浏览器、一块便宜的开发板和一根 USB 线——这一节课的前半段学生就在写逻辑,而不是等到第三节课。
三步:从闪烁的 LED 到手机上的曲线图
先让它动起来
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
这里的每个脚本都是完整的程序——没有隐藏的配置文件,也没有工程需要设置。
什么都不用装
Everything happens in a browser — on a school computer with no admin rights, on a laptop, on a tablet. There is no environment to roll out across a lab and nothing to keep updated.
读得懂的语言
Commands say what they do: DHT_INIT, PRINT, PAUSE, IF … THEN. A student reads a line and understands it, instead of copying a template nobody has explained yet.
出错不需要付出代价
The script runs in an isolated interpreter. A wrong line stops the script and prints why; the board stays online and takes the next version straight away.
学校负担得起的硬件
The smallest supported chips cost a few dollars, and one board with a sensor is already a working lesson. A class set does not need a budget request.
一个班真正需要的东西
- 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
不需要管理员权限,不需要授权,也没有需要谁去维护的机房镜像。
文档提供英语、俄语、西班牙语、法语和德语版本。
准备开工了吗?
Open the cloud, read the docs or ask the forum — the first board takes an evening, not a weekend.














