When I first discovered the NyanSat project on a Discord channel during my Hack-a-Sat journey, it felt like a spark. I had already been captivated by satellite hacking and space technology, but the idea of building a low-cost, open-source ground station to listen to satellites was irresistible. Enter Antenny, a compact, DIY satellite communication platform developed by Red Balloon Security as part of their mission to democratize space access.
This post dives into my hands-on experience assembling, programming, and using an Antenny ground station to connect with satellites in Low Earth Orbit.
What Is Antenny?
Antenny is more than just a hardware kit—it’s an invitation to explore the cosmos. Designed as part of the broader NyanSat project, Antenny offers a modular and accessible way to track and communicate with satellites. The kit combines off-the-shelf components with a custom-designed PCB to deliver functionality typically reserved for high-cost professional systems.
Key features include: - IMU Orientation: An inertial measurement unit (IMU) keeps the antenna pointed in the right direction without expensive motors or controls. - Antenny-MK7 Board: A custom PCB integrating an ESP32 microcontroller and motor driver for seamless operation. - Gimbal System: Enables azimuth and elevation adjustments to track satellites dynamically. - Micropython Firmware: Open-source code powers the entire system, offering flexibility and customization.
With Antenny, you don’t just observe satellites—you actively interact with them.
The Build
The kit arrived with a mix of excitement and intimidation. A pan/tilt gimbal, the Antenny-MK7 board, an IMU, and various jumpers and components filled the box. Here’s how I turned those pieces into a functioning ground station:
Step 1: Setting Up the Hardware
- Positioning the IMU: The IMU’s placement on the gimbal arm was critical for accurate orientation. I followed the recommended setup but made minor adjustments for stability.
- Mounting the Antenny Board: Ensuring no pins touched metal was crucial. I used a non-conductive base and hot glue for extra security.
- Connecting the Jumpers: The Antenny-MK7 includes optional jumpers for IMU power and Wi-Fi connectivity. Soldering these jumpers was straightforward, but attention to detail was essential to avoid errors.
Step 2: Wiring and Calibration
- Wiring Communication Lines: The IMU and servo communication lines needed precise matching between the PCB and board headers. A quick check with the manual confirmed the connections.
- Servo Calibration: The elevation and azimuth servos were wired to the PWM controller. I configured them using the
api.platform_set_coordinates
method to ensure smooth movement.
Step 3: Flashing the Firmware
- I flashed Micropython onto the ESP32 using esptool. Following the documentation, I:
- Erased the flash memory.
- Uploaded the Micropython firmware.
- Installed the Antenny software using MPFShell, a Python-based tool for ESP32 development.
Programming the Ground Station
The heart of the Antenny system is its Python API, which provides high-level methods for controlling the platform. Here’s what I did:
-
Initialization:
python api.antenny_init_components()
This step initialized the gimbal, IMU, and servos based on my configuration. -
Calibration:
python api.antenny_calibrate()
Running this routine aligned the IMU with the servos, ensuring accurate movement. -
Testing Movement:
python api.platform_set_coordinates(az=90, el=45)
This command pointed the antenna to a specific azimuth and elevation, confirming everything worked as expected. -
Data Reception: Once calibrated, I used the API to point the antenna at NOAA weather satellites and began receiving real-time data.
What I Learned
This project was more than just assembling a kit. It was an exercise in patience, problem-solving, and discovery. Here are some key takeaways:
- DIY Doesn’t Mean Simple: While the kit is beginner-friendly, understanding the hardware-software interaction took effort.
- Open Source Is Powerful: The flexibility of Micropython and the transparency of the Antenny firmware made debugging and customization straightforward.
- Community Is Key: The NyanSat Discord was invaluable. From troubleshooting wiring issues to brainstorming upgrades, the community provided guidance and inspiration.
Applications and Future Plans
Antenny opens up a world of possibilities:
-
Satellite Tracking: Listen to transmissions from weather, communication, and amateur satellites.
-
Collaborative Research: Join a network of Antenny users to triangulate signals and study satellite debris.
-
Upgrades: I’m already planning enhancements, like integrating a better IMU for improved orientation accuracy and automating satellite tracking.