Tilt-compensated antenna compass: azimuth and elevation on the AtomS3 display and in your browser over WiFi. Flash it straight from this page — no IDE, no drivers.
Browser — Chrome, Edge, or Brave on a desktop or laptop. Web Serial doesn't exist in Safari or Firefox, and not at all on iPhone or iPad.
Cable — a USB-C cable that carries data, not a charge-only one.
Board — M5Stack AtomS3 (the version with the display).
Sensor — GY-511 on the Grove port, or QMC5883L on the G38/G39 header pins. It is detected automatically and can be connected after flashing.
Connect & flash
This browser can't flash over USB. Open this page in Chrome, Edge, or Brave on a computer instead.
This page needs to be loaded over HTTPS for the browser to allow a USB connection.
Click connect and choose the AtomS3 serial port from the browser prompt.
Updating? Leave “Erase device” unchecked: erasing removes the saved WiFi networks and the sensor calibration.
If the device does not connect
Keep the AtomS3 plugged in.
Hold the reset button on the side for about 2 seconds, until the green LED lights up.
Release it: the AtomS3 is now in download mode.
Click “Connect device” above and pick the port.
After flashing, press the reset button once to start the firmware.
After flashing
WiFi: without a known network the AtomS3 opens the access point Compass_Setup. Connect to it with a phone and pick your network on the setup page. Then open http://compass.local.
Calibrate: hold the button under the display for 2–5 seconds. Turn the sensor in all directions for 30 seconds, then place it on a level surface.
In the field: hold the button under the display while pressing reset to start with WiFi off and save battery.