-
Notifications
You must be signed in to change notification settings - Fork 1
Pins
The Pins page lets you reassign the purpose of each of the 11 header pins already broken out on the Amidala PCB, without rewiring anything or re-flashing firmware.
The PCB ships with a default allocation — 4 servo headers, 4 digital outputs, 2 analog inputs, 1 PPM input. But not every build needs that exact mix. Maybe you only need 2 digital outputs but want a 6th servo channel, or you don't use the PPM receiver input at all and would rather have it as a digital output. The Pins page lets you trade any of the 11 pins between roles instead of being stuck with the fixed default split.
| Role | Description | Ceiling |
|---|---|---|
| Digital Out | On/off output, controllable via serial command or button/gesture action | No limit beyond the 11-pin pool |
| Analog In | Analog voltage input | ADC1-capable pins only (a subset of the 11) |
| Servo | LEDC PWM servo output | 8 channels max — the ESP32-S3's hardware PWM ceiling |
| PPM In | Single-wire RC receiver input | 1 pin max — there's only one PPM decoder |
| Hall Sensor | Dome hall-effect sensor input | 1 pin max, and only meaningful with a RoboClaw dome — see Dome Drive — RoboClaw |
Each of the 11 pins gets its own dropdown, labeled by GPIO number, offering whichever roles are electrically valid for that specific pin (e.g. only ADC1-capable pins offer the Analog In role) and not already at a hardware ceiling. A live usage summary at the top of the page shows how many pins currently have each role, and highlights any role that's at its ceiling.
A restart is required after changing a pin's role for it to take effect.
Say you don't need the PPM receiver input on your build and would rather have a 5th servo channel:
- Open Pins from the home page
- Find the pin currently assigned PPM In (GPIO47 by default)
- Change its role to Servo
- Restart the board — you now have 5 servo channels instead of 4, and no PPM input
Out of the box, the 11 pins reproduce the PCB's original fixed wiring exactly — 4 servo, 4 digital out (3 on a RoboClaw dome build, since one of those slots defaults to Hall Sensor instead), 2 analog in, 1 PPM in. Upgrading firmware never silently changes your existing pin assignments.