A tiny MicroPython operating system from Hull
If you've ever wanted the lights on your robot to flash while it moves around, this system is for you. If you want to make messages appear on a display alongside a ticking clock on top of an animated display, this system is for you. If you want to remotely command a device, or use one device to control another, or make a pair of servo-driven googly eyes track a face — this system is for you. It greatly simplifies the creation of connected devices that must run multiple simultaneous behaviours.
You can use the supplied managers to control WiFi, MQTT, clock, pixels, stepper and servo motors, audio playback, buttons, tilt sensors, and more. You can also create your own managers which provide services and generate events. The whole system is underpinned by an extensible JSON-based settings mechanism. There is also a serial interface for developing and testing which lets you issue commands to managers and view system status.
The system runs on Raspberry Pi Pico and ESP32 devices. A compatibility layer abstracts the timer functions used by stepper motors.
- Getting Started
- Application Definition - Creating and selecting device applications with
appsandselect-app - Settings Management
- CLB Manager Development Guide
- CLB Messaging Guide
- CLB Compatibility Layer
- WiFi Manager - Network connectivity
- MQTT Manager - IoT messaging and file transfer
- UART Manager - Serial communication
- Blink Manager - Control GPIO pins with blinking patterns
- GPIO Manager - General-purpose I/O control
- Stepper Manager - Stepper motor control and movement
- Pixel Manager - NeoPixel LED strip control
- Indicator Manager - Individual NeoPixel indicators with fading and colour sequences
- PCA9685 Manager - 16-channel I2C PWM/servo controller with orchestration
- Eye Manager - Servo-driven googly eyes with look, blink, pose, and idle animation
- Rotary Encoder Manager - User input via rotary encoders
- Tap Manager - Button tap detection (single, double, triple, long-press)
- Tilt Manager - Tilt-sensor gesture detection (tip, pulse, sequence)
- HC-SR04 Manager - Ultrasonic distance sensing with threshold crossing events
- DFPlayer Manager - DFPlayer Mini MP3 audio playback over UART
- Display Manager - LCD and e-ink display support
- Lamp Manager - Lamp control template
- Clock Manager - Time synchronisation and events
- Updater Manager - Firmware update management
- HullOS Manager - Task scheduling
- SX-70R Manager - Polaroid SX-70R camera control via BLE
- WordSearch Manager - Word search clock and puzzle display
Have Fun!