AS5048A magnetic angle encoder (SPI) with ESP32

Supply 3.3 V Bus SPI Measures angle, rotation
3V35VGNDCSNCLKMOSIMISOPWM

Pins and ESP32 wiring

PinRoleESP32 pinNotes
3V3Power3V3Use this pin with the ESP32. Pin order differs between adapter boards
5VNot wired to the ESP32—Only for 5 V systems. Leave unconnected when you use 3V3
GNDGroundGND
CSNSPI chip selectD5
CLKSPI clockD18
MOSISPI MOSID23
MISOSPI MISOD19
PWMOutput (the part drives it)D25Angle as PWM duty cycle. Optional

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

void loop() {
  Serial.println(digitalRead(25));
  delay(100);
}

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.