Repository navigation
Releases
ThingBlock v0.6.0-preview-20261104
Preview build for testing. The stable release is v0.5.0.
New
- Simulator — run your program on an on-screen ThingBot without a robot: LEDs, buttons, the OLED screen, servos, motors, the buzzer, a distance slider for the ultrasonic sensor and a virtual PS2 gamepad.
- 14 graded lessons — the Lessons menu opens step-by-step lessons that check each step on the simulator and remember your progress.
- 36 example projects under File → Examples: 20 classroom projects (including FTC and FanRoc starters), 6 music projects and 10 simulator projects.
- Save to a file you choose — Save asks where to save the first time, then writes back to the same file; Save As always asks. Opening a project uses the same file, and the window title shows its name.
- The app asks before replacing a project with unsaved changes.
- Hardware blocks, menus, dialogs and lessons are in Vietnamese.
- The app remembers your language and board; new projects are named "ThingBlock Project".
- The code and serial panes can be collapsed.
Fixed
- One motor direction everywhere — "forward" turns ThingBot's wheels the same way in uploaded programs, Live mode and phone control.
- M3 backward no longer twitches servo S5.
- Live mode: motors can run backwards with a negative speed, and pressing Stop stops every motor and the buzzer.
- Live mode: the set pin mode block works, and the ultrasonic setup block defaults to TRIG 0 / ECHO 4, clear of the PS2 and display pins.
- PS2 controller: the init PS2 receiver block defaults to ThingBot's PS2 port, and
init PS2 on ThingBotno longer freezes the robot when no controller is found — it gives up after about 10 seconds and the program runs on. - Phone control: servos reach their full 0–180° range without straining at the ends.
- Upload always sends the program on screen, not the previous one.
- Number inputs accept variables, and custom-block parameters work.
- Decimal variables stay decimal after reopening a project.
- The RGB LED strip and Servo blocks build for ESP32 boards again.
- Servo motions started without waiting keep moving.
- The editor connects without waiting for Bluetooth to finish searching.
- The set buzzer to N pulse block now uses its value.
- reset timer now restarts the timer from zero.
- The start servo … over N seconds block explains that the servo moves while a "wait for servos" block runs.
Removed
- The board list shows ThingBot and VIA Bánh Mì only. Arduino Uno, Arduino Nano, ESP32 and ESP32-C3 are hidden; projects saved on them still open and build.
Good to know
- Install the Live mode firmware again before using Live mode: plug the robot in with a USB cable and press Install in the Live mode connection window. Re-upload programs that use phone control.
- If your robot drives backwards when told to go forward, please tell us — wheel direction has not been checked on every robot yet.
- Installers are not signed yet: Windows SmartScreen and macOS Gatekeeper will warn — choose to open anyway.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64) .deb / .rpm.
ThingBlock v0.5.0
New
- 1.3" OLED displays — the OLED init block now has a chip option. Choose SH1106 for the common 1.3" screens that stayed dark before. Existing projects keep working as they were.
- Rotary encoder — a new peripheral with blocks to read the knob position in clicks, reset it, and check whether its button is pressed. Turns aren't missed while your program is waiting.
Removed
- Opening a project from a Scratch project link (
#<number>in the address) no longer loads it from the Scratch website.
Good to know
- Installers are not signed yet: Windows SmartScreen and macOS Gatekeeper will warn — choose to open anyway.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64) .deb / .rpm.
Full technical details: CHANGELOG
ThingBlock v0.4.0
New (ThingBot and ThingBot Telemetrix)
- Control your robot from your phone — add the Phone control peripheral and its
allow phone controlblock. The ThingBot Remote app can then drive motors, servos, buzzer and LEDs while your program runs. Disconnect Live mode in ThingBlock before connecting from the phone. - Servos in degrees — set servo angles from 0–180° over a duration, move several servos at once, and release a servo to stop it buzzing.
- Play music on the buzzer — new blocks take note names and lengths.
- Back to Live mode in one click — after uploading your own program, reinstall the live-mode firmware with Update my Device in the Connect ThingBot dialog.
Fixed
- Saved projects with board blocks now reopen correctly.
- The OLED display now shows text.
- Programs compile even without the
init ThingBotblock. - Comparing numbers no longer produces wrong code.
- The board list no longer comes up empty when the app starts slowly.
- Uploading while the Serial Monitor is open no longer fails with "port busy".
Removed
Sprites, costumes, backdrops, sounds, the backpack, and the Scratch extensions pen, music, text-to-speech, translate, speech-to-text and Makey Makey. ThingBlock now focuses on programming boards.
Good to know
- On ThingBot, music and servo movement can't run at the same time.
- With phone control, if the phone disconnects the robot keeps its last movement.
- Installers are not signed yet: Windows SmartScreen and macOS Gatekeeper will warn — choose to open anyway.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64) .deb / .rpm. Linux ARM installers are no longer provided.
Full technical details: CHANGELOG
ThingBlock v0.3.3-preview.2
Preview build for testing. The stable release is v0.3.2.
Same as preview.1, plus one fix.
Fixed
- The Phone control card in the peripheral library now has an icon, so it's easy to find.
How to try it
Pick the ThingBot board → peripheral library → add Phone control → put the allow phone control, board name [ThingBot] block at the top of your program → upload. Open the ThingBot Remote app and connect to the board name you chose.
Good to know
- A board accepts one Bluetooth connection at a time: press Disconnect in ThingBlock's Live mode before scanning from the phone.
- If the phone and your program both drive the motors, the last command wins.
- If the phone disconnects, the robot keeps its last movement.
- Installers are not signed yet: Windows SmartScreen and macOS Gatekeeper will warn — choose to open anyway.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64 and ARM64) .deb / .rpm.
ThingBlock v0.3.3-preview.1
Preview build for testing. The stable release is v0.3.2.
New
- Control your robot from your phone — add the
allow phone control, board name [ThingBot]block (Phone peripheral) at the top of your program. The ThingBot Remote app can then drive motors, servos, buzzer and LEDs while your program runs — even duringwaitblocks. - Servos in degrees — set servo angles from 0–180°, and move several servos at once.
- Play music on the buzzer — new blocks take note names.
- Back to Live mode from the board menu — reinstall the live-mode firmware after uploading your own program.
Fixed
- Saved
.tbprojects now reopen correctly. - The OLED display now shows text.
Good to know
- If the phone and your program both drive the motors, the last command wins.
- If the phone disconnects, the robot keeps its last movement.
- Installers are not signed yet: Windows SmartScreen and macOS Gatekeeper will warn — choose to open anyway.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64 and ARM64) .deb / .rpm.
ThingBlock v0.3.2
Fixed
- Installing on Windows no longer requires the Visual C++ Redistributable.
- DHT sensor readings are now reliable on fast boards such as ESP32.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64 and ARM64) .deb / .rpm.
ThingBlock v0.3.1
Fixed
- Boards and peripherals failed to load on Windows — they now load correctly.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64 and ARM64) .deb / .rpm.
ThingBlock v0.3.0
Changed
- Updated board and peripheral packs.
- The project moved to the ThingEdu organization on GitHub.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64 and ARM64) .deb / .rpm.
ThingBlock v0.2.1
New
- Linux ARM64 installers — for 64-bit ARM Linux computers such as the Raspberry Pi 5.
Fixed
- ESP32 programs failed to compile on Windows — they now compile.
Good to know
- Coming from v0.2.0 with the ESP32 platform installed? Delete the old
%LOCALAPPDATA%\com.thingblock.desktop\arduinofolder (or the equivalent on macOS/Linux) to free about 1 GB. ThingBlock will ask to reinstall ESP32 support on your first upload. - On Raspberry Pi OS / Debian / Ubuntu, install with
sudo apt install ./ThingBlock_0.2.1_arm64.deb. - Installers are not signed yet: Windows SmartScreen and macOS Gatekeeper will warn — choose to open anyway.
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64 and ARM64) .deb / .rpm.
ThingBlock v0.2.0
Preview release for testing and feedback. Please report problems via Issues.
ThingBlock lets you program Arduino-compatible boards with Scratch blocks. Snap blocks together, see the Arduino code as you build, then upload it to your board — all offline, with nothing else to install.
New
- Block programming for hardware — motors, servos, sensors and LEDs, no C++ needed.
- Live code view — see the Arduino code your blocks produce.
- Serial Monitor — see what your board prints.
- USB and Bluetooth connection for supported boards.
- Works offline for Arduino Uno and Nano; ESP32 support downloads on first use (about 1 GB).
- Boards: Arduino Uno, Arduino Nano, ESP32, ESP32-C3, ThingBot, VIA BanhMi.
- New app icon.
Fixed
- Compiling and uploading now works on a fresh computer.
- Closing the app now shuts down the background helper cleanly.
Removed
- The Linux AppImage — use
.debor.rpminstead.
Good to know
- Installers are not signed yet. Windows: More info → Run anyway. macOS: right-click the app → Open.
- The first launch takes a moment while ThingBlock sets up its tools.
- The cloud option in Settings is not available yet.
- No macOS Intel build yet (Apple Silicon only).
Downloads
Windows (x64) .exe, macOS (Apple Silicon) .dmg, Linux (x64) .deb / .rpm.