LPD3806 incremental encoder 600 P/R (A/B) with ESP32
Supply 5-24 V
Bus GPIO
Measures rotation, position, speed
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| VCC | Power | 3V3 | Red wire. Needs 5 to 24 V: use VIN (5 V) |
| GND | Ground | GND | Black wire |
| A | Output (the part drives it) | D25 | Green wire. NPN open collector: use INPUT_PULLUP or 4.7 kΩ to 3V3, never to VCC |
| B | Output (the part drives it) | D26 | White wire. NPN open collector: use INPUT_PULLUP or 4.7 kΩ to 3V3, never to VCC |
| SHIELD | Not wired to the ESP32 | — | Bare wire. Leave unconnected or tie to GND |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
Starter code (Arduino)
void setup() {
Serial.begin(115200);
pinMode(25, INPUT); // A
}
void loop() {
Serial.println(digitalRead(25));
delay(100);
}
Sources
- LPD3806-600BM-G5-24C seller datasheet, Supply 5 to 24 V DC; NPN open-collector A/B outputs; 600 pulses per revolution
Try it in 3D in BoardPilot
Related parts
1x4 membrane keypad (4 keys)433 MHz receiver (XY-MK-5V)4x3 membrane keypad (12 keys)4x4 membrane keypad5-way navigation button module74HC165 input shift register
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.