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; the web flasher ships this build. Ready — tracking, Wi‑Fi, portal, USB Hatire, OpenTrack UDP.
Integrated PCB kicad/Azimuth_Design: ESP32-C3 module, BNO086, RGB, buzzer, button. azimuth_main_pcb. In development — same app; board polish, DRC/ERC, panelization (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.
Settings (Wi‑Fi, OpenTrack, device) http://azimuth.local:8080 — only after the board is on your home network. First time? Connect to Azimuth-Setup and follow the quick start.
Step-by-step: Wi‑Fi → OpenTrack 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-Setup, open http://192.168.4.1, save your home network. Details: quick start.
  • OpenTrack — Use either UDP or Hatire as the input, not both at once. Defaults and axis mapping: Using Azimuth.
  • Board feels warm — Normal when Wi‑Fi is active on a small module. More context: Using Azimuth → Power & heat.

Documentation

Doc Audience
Quick start Fast path from flash to tracking over Wi‑Fi
Using Azimuth Settings portal, OpenTrack (USB + Wi‑Fi), tips & troubleshooting
Development Building firmware, CI, versioning, repo layout
Wiring · Hardware profiles · Parts / BOM · KiCad Pinouts (DIY + PCB), PlatformIO, BOM, KiCad
Roadmap Progress, milestones, future work

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) ~95% RGB LED, buzzer, button — see wiring; production panel still to finalize
Firmware 60–70% Tracking + Wi‑Fi + settings portal + USB Hatire + release flow; board I/O, battery, and polish on roadmap
3D enclosure 0% Not started
Hardware/BOM   [████████████████████] 100%
PCB            [███████████████████░] ~95%
Firmware       [█████████████░░░░░░░] 60–70%
Enclosure      [░░░░░░░░░░░░░░░░░░░░] 0%

Detailed roadmap: docs/roadmap.md

About

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

Resources

Stars

Watchers

Forks

Contributors