Skip to content
Jessica Janiuk edited this page Jul 26, 2026 · 1 revision

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.


Why This Exists

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.


Available Roles

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

Configuration

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.


Example

Say you don't need the PPM receiver input on your build and would rather have a 5th servo channel:

  1. Open Pins from the home page
  2. Find the pin currently assigned PPM In (GPIO47 by default)
  3. Change its role to Servo
  4. Restart the board — you now have 5 servo channels instead of 4, and no PPM input

Defaults

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.

Clone this wiki locally