ModuLab logo ModuLab Build • Play • Explore
Login Register
ModuLab Workshop

Play

How to Use

Collapse
Expand
⋮⋮Move
Run
Stop
Pause
📖Open Notes

Loading ModuLab help…

User
Not logged in
Saved Work
Build
Log in to save this ModuLab workspace.
Load a Snapshot into the embedded diagram view.
Status Idle
Connection Disconnected
Mode Unknown
Detail
Error
Updated
Columns

Workspace

Your control desk

Picture it: Think of this like the cockpit of your biscuit mission, where you choose speed, tools, and what to test next.

How it works: Workspace settings control how fast the dashboard updates and how quickly edits auto-send to the board, so your testing feels smooth and responsive.

Try this: Set a slower auto-send speed, draw on a display panel, then make it faster and compare how the board reacts.

LED

Light

Picture it: Like a tiny flashlight you can control with code.

How it works: Sends commands that turn the LED on, off, or blinking on the board.

Try this: Send LED On, then LED Off, and watch how fast the board responds.

Traffic Light

Stop, ready, go lights

Three distinct red, amber, and green LEDs on individual GPIO pins for beginner control logic.

Picture it: Like a mini road signal where your program controls each colour.

How it works: PB12 drives red, PB13 drives amber, and PB14 drives green while a shared cathode ties to ground.

Try this: Switch red, amber, and green one by one, then add timing with automation rules.

LED Matrix

A grid of red lights

LED matrix driver used for displaying text and simple graphics.

Picture it: It works like a mini scoreboard where every square can light up.

How it works: The MAX7219 chip looks after the LEDs. The Bluepill sends rows of data and the driver refreshes the lights fast enough to look steady.

Try this: Send a word to the matrix, then change the bitmap rows to make your own 8 by 8 icon.

Pixel Art Editor 8 x 32 pixels
Brightness Auto
Animation
Frame Brightness 8
Preview in Browser Preview the frames locally on browser.
Run on Device Read copies the device animation into the editor. Send uploads to device RAM and saves to flash. Play starts, Pause holds the current frame, and Stop ends playback.
No animation frames yet. Draw a bitmap, then add it as frame 1.

Colourful Matrix

A colour pixel party

Addressable 8x8 colour LED matrix driven from PA8 with timer DMA.

Picture it: Imagine 64 tiny stage lights, and each one can pick its own colour.

How it works: The LEDs are chained together. The Bluepill sends a timed stream of colour numbers, and each LED keeps the colour meant for it.

Try this: Make one pixel red, then fill a row, then animate a rainbow travelling across the grid.

Pixel Art Editor 8 x 8 pixels
Selected #ff3366
RGB Animation Builder
Preview in Browser Preview the frames locally on browser.
Run on Device Read copies the device animation into the editor. Send uploads to device RAM. Play starts, Pause holds the current frame, and Stop ends playback.
No RGB frames yet. Paint the panel, then add frame 1.

Motion Sensor

The balance and wobble sensor

Accelerometer and gyroscope breakout used for tilt and motion sensing.

Picture it: It feels movement a bit like your inner ear helps you know when you tilt.

How it works: The accelerometer senses pull and tilt, while the gyroscope senses turning. The Bluepill reads those numbers over I2C.

Try this: Tilt the board and watch pitch and roll change, then use the tilt to control lights or an animation.

Pitch
Roll
Yaw

Sonar

The echo distance finder

Distance sensor with separate transmitter and receiver transducers on the front face.

Picture it: It measures distance like a bat using echoes.

How it works: One round transducer sends a tiny sound ping. The other listens for the echo, and the Bluepill times how long the trip took.

Try this: Move your hand closer and farther away, then use the distance number to change a light, tone, or display message.

Forward Distance
Near Front of device Far
Range

Clock

Time

Picture it: Like a kitchen timer that keeps track of passing seconds.

How it works: Controls timing modes used by other panel features and board behaviors.

Try this: Start a timed mode and observe how other panels react over time.

Time

Clipboard

LED Matrix
RGB Matrix
OLED

Text Display

Words

Picture it: Like a message board where your code writes short notes.

How it works: Sends text commands so connected displays can show words or short status messages.

Try this: Send your name or a short phrase and check it appears correctly.

Text

Automation

Auto

Picture it: Like setting up dominoes so one action triggers the next.

How it works: Lets you build trigger and action rules that run without manual button presses.

Try this: Create one simple trigger-action rule and test it with the board connected.

Example Routines
Expression Help
Use plain expressions throughout automation. Quote string literals in actions.
Variablesdistance_cm, pitch, roll, yaw, mode_number, mode_name, error_code, time_hour, time_minute, time_second, time_hhmm, display_text, display_text_length, scroll_mode, animation_current_frame, animation_frame_count, animation_interval_ms, animation_playing, bluetooth_name, bluetooth_uart_baud, elapsed_ms
Helpersclamp, round, floor, ceil, abs, min, max, int
Condition expressions
abs(pitch)
                                    roll
                                    distance_cm / 10
                                    mode_name
                                    pitch > roll
Action expressions
DISPLAY_ANIMATION_FRAME {{ clamp(round(distance_cm / 10), 0, 7) }}
                                      P {pitch} R {roll}
                                      {mode_name}
                                      HELLO {bluetooth_name}
Distance
Pitch
Roll
Yaw
Mode
Mode #
Error
Text
Text Len
Scroll
Frame
Frames
Frame ms
Playing
BT Name
BT Baud
Hour
Minute
Second
HH:MM
Elapsed ms
Automation Routine Add blocks, watch live values, then run or step through.

Motor

Spin Power Control

PWM driver pins for Brushed motor control

Picture it: Like a toy car trigger that can gently creep or race, PWM gives the motor tiny bursts of power to control speed.

How it works: A brushed DC motor driver switches power on and off very quickly using PWM. The duty cycle sets average power, so higher duty means faster spin, while direction pins choose forward or reverse through the H-bridge.

Try this: Start at 20% duty, then step to 40%, 60%, and 80% and watch the speed change. Next keep duty at 50% and flip direction to reverse the motor.

Speed / Direction 0%

Live Feed

Feed

Picture it: Like a news ticker that turns updates into moving messages.

How it works: Fetches data from selected feeds, formats it into short text, and sends it to matrix display workflows.

Try this: Pick a preset feed, run Execute, and watch the Feed Text update before sending it to the device.

Video Feed To RGB 8x8 Sample camera or video into the RGB matrix editor and optionally auto send.
Idle. Choose source and press Start.
Feed Text
Feed StatusIdle
Pick a friendly RSS source, or use a CORS-friendly JSON endpoint. RSS feeds use latest_title; weather feeds use values like current.temperature_2m.

The Terminal

Reference

Schema Status: checking...

Click a command name to fill the Raw Command box. Bitmap rows use eight uppercase hexadecimal values, one per display row. Animation frame indexes start at 0.