A comprehensive Bluetooth communication library for Arduino and ESP32 that communicates with the DIYables Bluetooth STEM mobile app on Android and iOS.
📲 Download the app:
- Android: Google Play Store
- iOS: App Store (coming soon)
This library provides clean architecture with platform abstraction supporting both BLE (Bluetooth Low Energy) and Classic Bluetooth. Upload an Arduino sketch, connect via the mobile app, and start interacting with your hardware project — no mobile coding required.
- Multiple App Types: Joystick, Plotter, Pin Control/Monitor, Chat, and Monitor
- Clean Architecture: SOLID principles with platform abstraction layer
- Extensible Design: Easy to add custom app types
- BLE & Classic Support: Works with ArduinoBLE, ESP32, and more
- Ready Examples: Complete working examples for each app type
- Type-Safe API: Clear interfaces with callback-based event handling
| Board | BLE | Classic Bluetooth | Tested |
|---|---|---|---|
| Arduino Uno R4 WiFi | ✅ | ❌ | ✅ |
| Arduino Giga | ✅ | ❌ | ✅ |
| DIYables STEM V4 IoT Board | ✅ | ❌ | ✅ |
| DIYables ESP32 | ✅ | ✅ | ✅ |
| DIYables ESP32 Uno-form | ✅ | ✅ | ✅ |
| DIYables ESP32-S3 Uno-form | ✅ | ✅ | ✅ |
| Arduino Nano 33 BLE | ✅ | ❌ | Not yet |
| Arduino Nano 33 BLE Sense | ✅ | ❌ | Not yet |
| Arduino Nano 33 IoT | ✅ | ❌ | Not yet |
| Arduino Nano ESP32 | ✅ | ✅ | Not yet |
| Arduino Nano RP2040 Connect | ✅ | ❌ | Not yet |
| ESP32-S3 | ✅ | ✅ | Not yet |
| ESP32-C3 | ✅ | ❌ | Not yet |
| Any ArduinoBLE-compatible board | ✅ | ❌ | Not yet |
- 📊 Monitor — Real-time serial monitor, view Bluetooth messages and send commands
- 💬 Chat — Interactive chat interface with Arduino
- 🔌 Digital Pin Control — Control and monitor digital/analog pins
- 🕹️ Joystick — Two-axis joystick for robotics and vehicle control
- 🎚️ Sliders — Dual analog sliders for PWM and analog control
- 📈 Plotter — Real-time data visualization with up to 8 data series
- ⏲️ Analog Gauge — Circular gauge for sensor monitoring
- 🔄 Rotator — Rotary angle control for servos and stepper motors
- 🌡️ Temperature — Visual thermometer display for temperature sensors
- 🕐 RTC — Real-time clock synchronization between phone and Arduino
- 📋 Data Table — Structured attribute-value data display
- Arduino UNO R4 WiFi - Bluetooth Analog Gauge
- Arduino UNO R4 WiFi - Bluetooth Chat
- Arduino UNO R4 WiFi - Bluetooth Digital Pins
- Arduino UNO R4 WiFi - Bluetooth Joystick
- Arduino UNO R4 WiFi - Bluetooth Monitor
- Arduino UNO R4 WiFi - Bluetooth Multiple Apps
- Arduino UNO R4 WiFi - Bluetooth Plotter
- Arduino UNO R4 WiFi - Bluetooth Rotator
- Arduino UNO R4 WiFi - Bluetooth RTC
- Arduino UNO R4 WiFi - Bluetooth Slider
- Arduino UNO R4 WiFi - Bluetooth Table
- Arduino UNO R4 WiFi - Bluetooth Temperature
- ESP32 - Bluetooth Analog Gauge
- ESP32 - Bluetooth Chat
- ESP32 - Bluetooth Digital Pins
- ESP32 - Bluetooth Joystick
- ESP32 - Bluetooth Monitor
- ESP32 - Bluetooth Multiple Apps
- ESP32 - Bluetooth Plotter
- ESP32 - Bluetooth Rotator
- ESP32 - Bluetooth Slider
- ESP32 - Bluetooth Table
- ESP32 - Bluetooth Temperature
