ESP32 setup
ServoMote provides three sample Arduino sketches for different hardware setups. All implement the same BLE protocol, so the app works identically with each one.
Choosing a sketch
| Sketch | Hardware | Channels | Best for |
|---|---|---|---|
| Direct GPIO | ESP32 + servos on GPIO pins | 3 | Simple projects with a few servos |
| PCA9685 | ESP32 + Adafruit PCA9685 PWM driver | 16 | Projects needing many servos |
| M5Stack 8Servo | ESP32 + M5Stack 8Servo unit | 8 | Compact setup with M5Stack ecosystem |
Requirements
- Arduino IDE — to compile and upload the sketches
- ESP32 board support — install via Arduino Board Manager
- An ESP32 development board (any variant with BLE support)
General setup
- Install the Arduino IDE
- Add ESP32 board support (search for "esp32" in the Board Manager)
- Download the sketch for your hardware from GitHub
- Open the sketch in Arduino IDE
- Select your ESP32 board and port
- Upload the sketch
Once uploaded, the ESP32 starts advertising as "ServoMote" over BLE and is ready to accept connections.
Custom implementations
The BLE protocol is straightforward — see the BLE protocol reference for details. You can implement it on any ESP32 with BLE support, using any servo driver hardware.
