SkillAgentSearch skills...

Orbigator

Analog orbit propagator.

Install / Use

/learn @wyolum/Orbigator
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

🌍 Orbigator: The Analog Orbit Propagator

Platform: Pico 2 Language: MicroPython License: MIT As seen on Hackaday

"What hardware hacker doesn’t have a soft spot for transparent cases? ... [wyojustin] has done a fantastic job of documenting the hardware and software aspects of the build." — Hackaday (Full Feature Archive)

The Orbigator is an open-source, physical satellite tracker that turns complex orbital mechanics into a desk-side companion. Powered by the Raspberry Pi Pico 2 and precision DYNAMIXEL servos, it physically points to the ISS (or any satellite) in real-time with zero drift.


🚀 Why the Orbigator?

Inspired by Will’s Builds ISS tracker, the Orbigator introduces several key technical innovations to the DIY tracker space:

🔄 Continuous, Uninterrupted Motion

Unlike traditional trackers that use static globes (requiring wire unwinding every orbit), the Orbigator features a rotating globe. This allows for smooth, continuous tracking across multiple revolutions without ever needing to reset or "unwind."

🎯 LVLH Attitude Control

The orbital mechanics are implemented directly in the hardware geometry (inclination angle). This ensures the satellite pointer maintains a true LVLH (Local Vertical, Local Horizontal) attitude throughout the entire pass—exactly how real satellites orient themselves.

🧩 Zero-Drift absolute Positioning

Leveraging the 32-bit absolute resolvers in DYNAMIXEL XL330-M288-T motors, the system recovers its orientation instantly after power cycles. No homing, no limits, and no drift—just persistent, mathematical accuracy.


🛠️ Technical Deep Dive

Full Assembly Complete Mechanical Assembly: Precision motion and integrated control.

Lightweight, High-Performance Propagator

The heart of the Orbigator is a custom, lightweight SGP4 implementation running natively on the Pico 2's RISC-V cores. Eschewing heavy ports, it was rolled specifically to provide mathematical accuracy within the visual tolerances of the physical hardware, handling real-time TLE propagation and J2 perturbation effects entirely in MicroPython.

Split-Screen Radar UI

A custom SH1106 OLED driver provides a powerful command center:

  • Live Radar Plot: A dynamic "Sky Plot" of the current satellite pass.
  • Localized World Map: High-speed bitmask rendering provides a 90° ground track view centered on your observer location.

Smart Persistence

The system monitors its own state and saves to Flash/SRAM only during ideal intervals (e.g., at equator crossings) to maximize flash lifespan while ensuring a perfect "instant-on" recovery.


📦 Repository Structure

| Path | Description | |------|-------------| | micropython/ | Firmware: SGP4 propagator, UI stacks, and motor drivers. | | fabricate/ | Mechanical design: OpenSCAD files for 3D printing and assembly. | | kicad/ | Electronics: PCB designs and schematics. | | web/ | Dashboard: Real-time control and configuration via web interface. |


⚡ Quick Start

  1. 3D Print: High-quality production STLs are located in fabricate/stls/Production/.
  2. Assemble: Follow our step-by-step Assembly Instructions.
  3. Flash MicroPython: Install the Pico 2 firmware.
  4. Upload Code: Use Thonny or mpremote to copy the micropython/ files to the board.
  5. Track!: Power up and select your satellite from the "SGP4" menu.

🧾 Bill of Materials (BOM)

Electronics

Hardware & Mechanical


📐 3D Printing (Production Parts)

The following parts are required for the full assembly and can be found in fabricate/stls/Production/. The leading number in the filename indicates the required print quantity.

  • 1_drive_gear.stl - Main EQX drive
  • 1_flex_aov_arm.stl - Satellite pointer arm
  • 1_globe_interface.stl - Secure mount for the globe
  • 1_inclination_aov_mount.stl - Hardware-implemented inclination bracket
  • 1_sled_3.stl - Electronic housing and base
  • 1_full_assembly.stl - Reference model (not for printing)
  • 3_swingarm.stl - Differential assembly components
  • 3_shim.stl - Insert for the skate bearings (see misc.scad for 13mm dims)
  • 3_washer.stl - Vertical stop for the ring gear

📸 Media: As Seen on WyoLum Blog

| Earthrise Shot | World Map Tracking | |:---:|:---:| | Earthrise | World Map | | ISS Tracking with Lunar Projection. | Real-time World Map Context. |

System Details

| UI & Setup | Electronics | Mechanical Assembly | Technical Render | |:---:|:---:|:---:|:---:| | Setup | Circuit | Globe | Technical View | | Real-time status | Pico 2 & Buffers | Internal Hardware | Mathematical precision |

"A beautiful mix of technical precision and mechanical elegance."


⚖️ License

Distributed under the MIT License.


Developed with ❤️ by wyojustin GitHub

View on GitHub
GitHub Stars18
CategoryDevelopment
Updated10h ago
Forks0

Languages

HTML

Security Score

75/100

Audited on Apr 6, 2026

No findings