KidsBlock
Documentation

KidsBlock Documentation

Everything you need to know about KidsBlock β€” from installation to advanced hardware programming.

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:

HardwareLanguageRealtime
Arduino SeriesGraphical Programmingβœ…
Micro:bit V2Graphical Programmingβœ…
ESP8266Graphical Programming❌
ESP32Graphical Programmingβœ…
KidsbitsGraphical Programmingβœ…

Connect your hardware via USB cable and KidsBlock will automatically detect the device type.

Interface Overview

KidsBlock 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

Animation Mode Overview

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

Move Sprite

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)

Select Hardware

Step 2: Select the correct COM serial port and connect

Select Port

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

Realtime Editor

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

Upload Firmware

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

Uploading

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'

Upload Mode Switch

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

Upload Progress

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

Upload Done

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

Extension ButtonExtension Library

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

Select HardwareHardware ListSelect Serial Port

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 ProgressUpload Done

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).