Introduction
RadioKit is an open-source alternative to RemoteXY that lets you define your UI in C++ and control it from a native Flutter companion app over BLE, Serial, WiFi, or Cloud relay.
What is RadioKit?
Section titled “What is RadioKit?”RadioKit is a powerful, object-oriented Arduino library that bridges your hardware and a highly customizable mobile dashboard. It allows you to build industrial-grade control interfaces using simple C++ structures.
Key Features
Section titled “Key Features”- Hardware Agnostic: Supports ESP32 (NimBLE), Nordic nRF52, STM32, and any board with a Hardware Serial port
- Tailored Memory Model: Each widget only consumes the RAM it needs — no dynamic allocation
- Zero Configuration: The UI is defined in your Arduino code; the app dynamically builds the dashboard upon connection
- Reliable Communication: Built-in sequence tracking and retransmission for critical commands
- Spring Physics: High-fidelity spring simulations for sliders, knobs, and joysticks
- Multiple Transports: BLE (NimBLE), Serial (USB CDC, FTDI, CP210x, CH340), WiFi, and Cloud relay
Architecture
Section titled “Architecture”RadioKit consists of two main components:
- Arduino Library (
rk-arduino) — Define your UI widgets in C++ and manage transport connections - Flutter App (
radiokit-app) — Native companion app that renders the UI and communicates with your device
Communication Flow
Section titled “Communication Flow”Arduino Device <--BLE/Serial/WiFi/Cloud--> Flutter App | | +-- Widgets (C++ structs) +-- Dynamic UI Rendering +-- Transport Layer +-- Real-time Control +-- Protocol v5 +-- Protocol v5Next Steps
Section titled “Next Steps”- Installation — Set up RadioKit in your project
- Quick Start — Build your first RadioKit project
- Arduino Library — Learn about the Arduino library
- Flutter App — Explore the companion app