Space is hard, especially if you haven’t done it before. A growing number of CubeSats are launched by small, inexperienced teams every year, and a number of them fail due to missing some small but critical hardware or software problem. Researchers from the Robotic Exploration Lab (REx) at Carnegie Melon University have learned some of these lessons the hard way and created PyCubed, an open-source hardware and software framework for future CubeSats.
Most satellites, including CubeSats, require the same basic building blocks. These include ADCS (Attitude Determination and Control System), TT&C (telemetry, track, and command), C&DH (command and data handling), and an EPS (electrical power system). Each of these building blocks is integrated into a single PC/104 size PCB. The main microcontroller is an ATSAMD51, also used on a couple of Adafruit dev boards, and runs Circuit Python. Communications are handled by a LoRa radio module, and there is also an unpopulated footprint for a second radio. An LSM9DS1 IMU and an optional GPS handle navigation and attitude determination, and a flash chip and micro SD card provide RAM and data storage. The EPS consists of an energy harvester and battery charger, power monitor, and regular, that can connect to external Li-Ion batteries and solar panels. Two power relays and a series of MOSFETs connected to burn wires are used to deploy the CubeSat and its antennas.
On the PCB there are standardized footprints for up to four unique payloads for the specific missions. The hardware and software are documented on GitHub, including testing and a complete document on all the design decisions and their justifications. The PyCubed was also presented at the 2019 AIAA/USU Conference on Small Satellites. The platform has already been flight-tested as part of the Kicksat-2 mission, and will also be used in the upcoming V-R3X, Pandasat, and Pycubed-1 projects.
This is not the first open-source CubeSat we’ve seen, and we expect these platforms to become more common. Tracking a CubeSat is a lot less expensive than sending one to space, and can be done for as little as $25.