Skip to content

FugLong/Azimuth

Repository files navigation

Azimuth Azimuth

Azimuth

Azimuth is a DIY head tracker for flight sims, racing, and anything that works with OpenTrack. It pairs a small ESP32 board with a BNO08x-class IMU so you get stable orientation without a closed commercial device. This repo has firmware, PCB designs, 3D plans, and documentation—build it, change it, or fix it yourself.

Hardware paths

Two supported builds—same core tracker firmware where both apply; use the row that matches what you assembled.

Path What it is Status
DIY (XIAO + BNO08x) Seeed XIAO ESP32-C3 + BNO08x breakout on SPI — breadboard or hand-wired. Default azimuth_main_diy; selected by default in the web flasher. Ready — tracking, Wi‑Fi, portal, USB Hatire, OpenTrack UDP.
Integrated PCB kicad/Azimuth_Design: ESP32-C3 module, BNO086, RGB, buzzer, button. azimuth_main_pcb; available in the web flasher hardware selector. V0.1 — KiCad ERC/DRC clean; assembled boards in hand, bring-up and testing in progress. Same app as DIY — roadmap.

docs/wiring.md (pinouts) · docs/hardware-profiles.md (PlatformIO / GPIO) · docs/parts-list.md (sourcing — DIY store links + PCB BOM)


Get started

Install or update firmware (USB) Azimuth web flasher — use Chrome or Edge and a data USB cable.
Update firmware over Wi‑Fi Open the portal, hit Install over Wi‑Fi in the Device card or update banner — or hold FUNC for ~2 s on the PCB. The chip pulls the latest official build from the same GitHub Pages release URL (HTTPS) and reboots into the standby OTA slot. See User Guide → Updates.
Settings (Wi‑Fi, OpenTrack, device) http://azimuth.local:8080 — only after the board is on your home network. First time? Connect to Azimuth-Tracker (Offline Mode) and follow the quick start.
Manual (how to use the device) docs/user-guide.md
Short Wi‑Fi → OpenTrack path docs/quickstart.md

PCB top PCB bottom

Overview

  • OpenTrack-first — Send motion over Wi‑Fi (UDP) or USB (Hatire); configure most things in the on-device web UI.
  • Affordable, open stack — Sensible parts list, KiCad project, and firmware you can build with PlatformIO.
  • No cloud — No account or hosted service; setup and tracking stay on your network.
  • Successor to Nano33_PC_Head_Tracker: same DIY spirit, but rebuilt around ESP32 and an external fusion IMU for better results than the old Nano 33 BLE + LSM9DS1 path.

Need to know

  • Flashing — Browser install needs Chrome or Edge (Web Serial). If the installer offers erase flash, use it for a clean device (same effect as a full settings reset).
  • First Wi‑Fi setup — Join Azimuth-Tracker (Offline Mode), open http://192.168.4.1, save your home network. Details: quick start · full walkthrough: User Guide.
  • OpenTrack — Use either UDP or Hatire as the input, not both at once. Defaults and axis mapping: Using Azimuth.
  • Power, heat, tuning — Normal for Wi‑Fi on a small module; portal Tracking & radio settings; full behavior + battery notes: Power, heat, and battery (firmware).

Documentation

Doc Audience
User Guide Manual — Wi‑Fi, portal, FUNC, OpenTrack, updates, battery, troubleshooting
Quick start Fast path from flash to tracking over Wi‑Fi
Using Azimuth Settings portal reference, OpenTrack (USB + Wi‑Fi), tips
Power, heat, and battery (firmware) Wi‑Fi power saving, portal polling, defaults; battery runtime / PCB pack polarity
Development Building firmware, CI, versioning, repo layout
Firmware architecture plan Maintainers — module layout (network split done), CI, remaining refactors
I/O experience plan LED / buzzer / FUNC — pause/stasis, layered overrides, wireless OTA
Implementation handoff Copy-paste prompt + ordered tasks for agents / new contributors
Wiring · Hardware profiles · Parts / BOM · KiCad Pinouts (DIY + PCB), PlatformIO, BOM, KiCad
Roadmap Progress, milestones, future work
Enclosure (Onshape CAD) Interactive 3D model — print/fit validation still in progress (roadmap)

Goals

  • Performance — Low latency and stable orientation for games and desktop use.
  • Accessibility — Easy-to-source parts and open tooling so people can build and modify their own trackers.
  • Interop — First-class support for the same OpenTrack pipelines games and sims already use.
  • Evolvability — Room for better calibration, on-device UX, and companion apps without legacy platform limits.

Progress (toward V1)

Area Progress Notes
Hardware / BOM 100% Parts list
Azimuth custom PCB (Azimuth_Design) — V0.1 100% (layout) · units received Assembled boards under test. RGB / buzzer / FUNC in firmware for bring-up — see wiring / parts-listroadmap
Firmware ~90% Tracking + Wi‑Fi + portal + Hatire + wireless OTA + modular track_network_*; battery ADC polish and optional main layering remain — roadmap
3D enclosure ~90%+ Design nearly completeOnshape CAD (interactive); print / fit validation still ahead
Hardware/BOM   [████████████████████] 100%
PCB (V0.1)     [████████████████████] 100% design · boards received · testing
Firmware       [██████████████████░░] ~90%
Enclosure      [██████████████████░░] ~90%+ (design)

Detailed roadmap: docs/roadmap.md

About

Open PC head tracking — ESP32-C3 + BNO08x, OpenTrack / Hatire

Resources

Stars

Watchers

Forks

Contributors