For each axis, you'll need
- a Lolin32 lite ESP32 board
- a AS5600 board
- a radial magnetized magnet
- some 3D printed parts
- some 2.5 mm pin connectors (male and female)
AS5600 is connected to ESP32 :
- SCL to pin 33 SDA to pin 27
- VCC to pin 17 // used to power the AS5600
- GND to pin 4 // used to power the AS5600
There is no PCB the sensor is screwed to the 3D printed support, then the ESP32 is plugged on top the sensor.
![](https://cdn.thingiverse.com/assets/7f/f2/6d/99/73/fccf37be-12b4-4a22-941b-a172e2c9b7c3.png)
![](https://cdn.thingiverse.com/assets/a9/ba/86/82/a1/e2431f91-40cc-4b50-9e3e-defdcade6a19.png)
software
Altitude axis ESP32 sends the Altitude angular position to the Azimuth axis ESP32 using ESPnow wifi protocol. It acts as a ESPnow master.
Azimuth axis ESP32 acts as a slave over ESPnow. Its SSID is "Slave_telescope_Az"
- It collects the Alt position from Alt axis ESP32 .
- It senses the Azimuth position from a AS5600
- It generates the Az + Alt message.
- It then communicates with the smartphone application (Skysafari for instance) over Blue Tooth serial using "basic encoder system protocol"
Basic encoder system protocol is based upon a request/answer protocol
- smartphone asks for a posiiton sending a "Q" request
- ESP32 answers with : "+01234-00045" (first 6 digits = Az, second part = Alt in encoders cumulative raw value)
EDIT: I tried it "in real sky" to find the Pons-Brooks 12P comet... A piece of cake. It works flawlessly.
Only minor comment, I found you indeed have to calibrate the axis and give the number of steps per revolution to Skysafari. This is done only once.
![](https://cdn.hackaday.io/images/3526391709475570255.jpg)