LM393 slotted optical speed sensor (FC-03) with ESP32

Supply 3.3-5 V Bus GPIO Measures rotation, speed
VCCGNDDOAO

Pins and ESP32 wiring

PinRoleESP32 pinNotes
VCCPower3V3Use 3V3 so DO stays at 3.3 V
GNDGroundGND
DOOutput (the part drives it)D25Pulse each time the slot is blocked. Count with an interrupt
AOAnalog outputD34Raw light level. Optional. To an ADC pin (prefer ADC1: GPIO 32 to 39)

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); }

void loop() {
  int mv = analogReadMilliVolts(34);  // AO on GPIO 34
  Serial.println(mv);
  delay(200);
}

Sources

Try it in 3D in BoardPilot

BoardPilot Part data (JSON)

Related parts

Part data: CC BY 4.0, free to reuse with credit to BoardPilot.