Introduction
KidsBlock is a graphical programming editor based on Scratch 3.0, designed for children to learn programming through interactive block-based coding.
Key capabilities:
- Drag-and-drop block programming (Scratch 3.0 compatible)
- Real-time hardware control via USB
- Blocks auto-generate hardware control code
- Supports Arduino, Micro:bit, ESP32 and more
- 200+ sensor and module library
Hardware Support
KidsBlock supports the following hardware platforms:
| Hardware | Language | Realtime |
|---|---|---|
| Arduino Series | Graphical Programming | β |
| Micro:bit V2 | Graphical Programming | β |
| ESP8266 | Graphical Programming | β |
| ESP32 | Graphical Programming | β |
| Kidsbits | Graphical Programming | β |
Connect your hardware via USB cable and KidsBlock will automatically detect the device type.
Interface Overview

The KidsBlock interface consists of several key areas:
Stage Area (Left): Shows the Scratch animation stage with sprites and backgrounds.
Block Palette (Center): Contains all available programming blocks organized by category:
- Motion, Looks, Sound (Scratch blocks)
- Events, Control, Sensing, Operators
- Variables, My Blocks
- Hardware-specific extension blocks
Script Area (Right): The main coding workspace where you drag and connect blocks.
Toolbar (Top): File management, tutorial access, plugin selection, and device connection controls.
Code View: Click the code icon to preview the auto-generated hardware control code in real-time.
Programming Modes
1Animation Mode (Scratch Block Programming)
No hardware needed. Drag and drop blocks to control sprites with motion, sound, color and interactions β fully compatible with Scratch 3.0.
Animation mode overview β block palette, stage, and sprite list

Drag a 'move 10 steps' block and click the green flag to animate

2Realtime Mode
Integrates animation and hardware programming. When conditions are met, sprites and hardware respond simultaneously. Firmware must be uploaded on first use.
Step 1: Select your hardware board (e.g. UNO Plus)

Step 2: Select the correct COM serial port and connect

Step 3: Enter the editor and enable the Realtime mode switch

Step 4: First-time use requires uploading firmware to enable communication

Step 5: Wait for firmware upload to reach 100%, then start coding

3Upload Mode
Programs are permanently burned to the main control board and run independently even after disconnecting from the computer.
Step 1: Switch the mode to 'Upload Mode'

Step 2: Write your program and click 'Upload', wait for progress

Step 3: Upload successful! Program is permanently saved on the board

KidsBlock supports three programming modes:
1. Animation Mode (Scratch)
Create interactive animations and games using Scratch sprites. Perfect for beginners learning loops, conditions, and events.
2. Realtime Mode
Control hardware in real-time over a USB connection. When you click a block, the hardware responds immediately.
3. Upload Mode
Write a complete program and upload it to the hardware. The program runs independently without a computer connection.
Quick Start Guide
Get started with KidsBlock in 5 minutes:
Step 1: Install KidsBlock
Download and install KidsBlock from the Download page.
Step 2: Connect Hardware (Optional)
Connect your Arduino or other hardware via USB.
Step 3: Select Your Board
Click the Select Plugin button and choose your hardware platform.
Step 4: Write Your First Program
Drag blocks from the palette to the script area.
Step 5: Run or Upload
- In Animation mode: Click the green flag to run
- In Realtime mode: Click individual blocks to test
- In Upload mode: Click the Upload button
Extensions & Modules


KidsBlock includes a rich extension library:
How to add extensions:
1. Click the extension icon in the bottom-left of the block palette
2. Browse available extensions by category
3. Click an extension to add its blocks to your palette
Extension categories:
- Sensors (temperature, humidity, light, ultrasonic, etc.)
- Actuators (motors, servos, buzzers, LEDs)
- Displays (OLED, LCD, LED matrix)
- Communication (Bluetooth, WiFi, IR)
- Learning kits and robot sets
Code View
KidsBlock shows the generated code alongside your blocks:
Viewing the code:
Click the </> button to open the code panel. The code updates in real-time.
Code language:
Blocks auto-generate control code for the target hardware platform.
Editing code:
Switch to Edit Code mode to directly modify the auto-generated code.
Important: Only blocks connected to a main program block will generate code.
Device Connection



Connecting your hardware to KidsBlock:
USB Connection:
1. Connect your device via USB cable
2. Click Connect Device in the toolbar
3. Select the correct COM port (Windows) or /dev/tty port (macOS)
4. Click Connect
Troubleshooting:
- Install the USB driver if the device is not recognized
- Try a different USB cable or port
- Restart KidsBlock after installing drivers
Uploading Programs


Upload your program to run on hardware independently:
Upload process:
1. Switch to Upload Mode
2. Write your program using setup and loop blocks
3. Connect your device
4. Click the Upload button
5. Wait for the upload to complete
6. The program starts running automatically
Upload tips:
- Make sure the correct board and port are selected
- Some boards require holding BOOT button during upload (ESP32)
Settings & Configuration
Configure KidsBlock for your needs:
Language: Change the language in Settings > Language.
Theme: Switch between light and dark themes in Settings > Theme.
Board Manager: Add support for additional hardware boards.
Serial Monitor: Access the built-in serial monitor for debugging.
Baud Rate: Configure the serial communication speed (default: 9600).
