Helmholtz coils Testbed

Overview

A unified MATLAB application built for the NanoSat Lab three-axis Helmholtz coil Testbed. It integrates hardware control, orbit simulation, attitude measurement and data logging into a single interface, replacing a fragmented workflow of independent scripts and manual coordination between subsystems.

The goal is to let a researcher select an orbital scenario, run the experiment and export the results without switching between tools.

MATLAB App Designer Helmholtz coils ADCS Computer Vision SGP4 / IGRF Hardware control

Context

The Testbed

A three-axis Helmholtz coil system can generate a controlled, near-uniform magnetic field at its centre by driving independent current through three pairs of orthogonal coils. The NanoSat Lab Testbed places a satellite mockup at that centre and exposes it to any target field vector, including time-varying ones that follow a real orbital profile. A BK Precision power supply drives the coils and an microcontroller relay board switches current polarity to cover all field directions.

Three-axis Helmholtz coil Testbed at NanoSat Lab
NanoSat Lab three-axis Helmholtz coil Testbed.
(Credits: Nanoavionics)

What I built

Camera-based attitude measurement

I built a computer-vision module that uses a USB camera to track AprilTag markers attached to the satellite mockup and estimate its angular position and rate throughout the experiment. This provides an independent, optical measurement channel that complements any onboard ADCS sensors.

Orbit simulation and field control

I modernised, optimised and integrated the existing simulation and hardware-control codebase into the application. This covered the SGP4 orbit propagator and IGRF magnetic field model, as well as the coil current control routines that translate the computed field vector into the correct current commands for each coil axis. The result is a unified, real-time pipeline that replaces a set of standalone scripts with a single interface handling both simulation and hardware in lockstep. A static mode is also available for single-point calibration tests where a fixed, known field is needed.

Highlights

← PoCAT-Lektron Mission Illumination System for Solar Simulation →