LM393 slotted optical speed sensor (FC-03) with ESP32
Supply 3.3-5 V
Bus GPIO
Measures rotation, speed
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| VCC | Power | 3V3 | Use 3V3 so DO stays at 3.3 V |
| GND | Ground | GND | |
| DO | Output (the part drives it) | D25 | Pulse each time the slot is blocked. Count with an interrupt |
| AO | Analog output | D34 | Raw 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
- Texas Instruments LM393 datasheet, Comparator output (open collector with pull-up on the module)
Try it in 3D in BoardPilot
Related parts
A02YYUW waterproof ultrasonic distance (UART)A3144 hall effect switchAM312 mini PIR motion sensorATGM336H GPS/BeiDou moduleBeitian BN-220 GPS moduleBenewake TF-Luna LiDAR (UART mode)
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.