Over the next year, one of the side projects I’d like to build is a prototype star tracker for cubesats.
While I worked at The Aerospace Corporation, one of my ongoing cubesat projects was development of the star-tracker first used on OCSD (AeroCube-7). In short, it was an FPGA board that could take in video streams from several cameras and do various things with the data: such as store an entire frame as RAW or JPEG, capture a video stream, co-add consecutive frames, apply adaptive thresholds to detect bright objects, etc.
I was never fully satisfied with the performance of that system. In particular, baseline power consumption was always higher than I would like, but there was never time or money to re-architect it. The system could execute very demanding tasks (e.g., full uncompressed video capture of multiple concurrent HD video streams), but the inherent hardware overhead made it unwieldy for for a lighter workload.
More recently, I had some ideas for a streamlined system design that would substantially reduce size, weight, and power when operating as a star-tracker. Ideally, the complete package wouldn’t be much larger than the sensor and optics.
Building such a prototype seems like a good way to keep my skills fresh between client projects. To stay focused on the digital electronics, the prototype will be built around a pre-assembled SiOnyx camera module with a lens. Just maybe, if the prototype works well and I can find a buyer, it might make a good standalone product line.
The general idea is to cut the features down to the bare essentials and integrate the electronics, focal plane, and optics tightly into a single compact package.
Cutting features would allow a massive simplification to the video-processing pipeline. Most importantly, routine operation shouldn’t require a full-frame buffer. If the only real-time processing step is to apply a luminance threshold, then buffer requirements drop from megabytes to kilobytes, eliminating the need for external DRAM. If PCB space allows, a much smaller SRAM or PSRAM would still be useful for full-frame diagnostics, but that subsystem could be shut down to save power.
An FPGA will still be required for camera interface glue logic, but coupling to a single sensor reduces pin-count requirements. Combined with the simplified video-processing pipeline, this allows use of a much smaller FPGA. (i.e., Think iCE40 or MAX10, not Kintex.) This reduces both size and power for the entire system. Ideally, the FPGA/DSP board should fit comfortably within the footprint of the focal plane and optics assembly, either as a single PCB or wrapping around the lens using rigid-flex panels.
To minimize burden on the host vehicle, it should use a single upstream data port, with a daisy-chainable downstream port to add additional star-tracker modules as needed. SatCat5 is a natural fit for this requirement, forming a small Ethernet LAN to direct packets as needed. A shared serial link at 10 Mbps is likely sufficient for a handful of cameras, though 20-100 Mbps might be more future-proof for other potential products.
The next star tracker post will discuss major component selection.