Princeton Cubesat Kit (all PC104!)

Structure (Frame)

1U and 2U structure
3U structure

Michael Hauge ('21) designed and fabricated our first CubeSat structures (1U, 2U & 3U) as his junior Independent Work project.  The structure is compliant to the CubeSat Design Specification, including compliant spring plunger separation springs and vacuum-rated deployment switches. 

The structure is novel in that its threaded rods are not stainless steel, but instead more conductive aluminum, and are themselves electrically isolated, such that power and I2C signals can be routed through them from our flight computer module (below), thereby alleviating the need for students to incorporate (and solder!) the cumbersome PC104 connector on some of the more simple modules in the electronics stack (for which PC104 might be overkill).  Simpler electronics cards can just pull power and I2C signals straight from the threaded rods! (see above-right for example)

The machined parts were designed to be "auto-millable" (with only one button-press) on our Roland MDX-540 CNC, using its automatic toolchanger and rotary axis unit.  The inner braces are designed to be cuttable in one pass on our Wazer desktop waterjet!

Michael performed considerable finite element analysis (FEA) to confirm that these lightweight structures (~150-300g; 1U-3U) are still robust under a wide range of common launch loads and boundary constraints within their deployers. . 

The structure can accommodate either our own DIY solar panels (below) or our favorite EnduroSat space-grade panels (or even a tailored mix), depending on our power budget for a particular mission. 


Flight Computer/IMU/SD Card

Flight computer

Douglas Chin ('21) designed our flight computer/IMU/SD card module.  As our flight processor, we chose the Teensy 3.2, in the interest of small footprint, with adequate pins/EEPROM/flash memory, and ultra-low power consumption (for more forgiving overall power budgets & solar panel efficiency requirements, see below!).  Note to other labs: we are already wishing we had more Teensy pins available... 

A Teensy (i.e., Arduino) flight microcontroller allows our students to program our CubeSat flight software in the familiar Arduino IDE and programming language (a C/C++ variant), synergizing well with a lot of other Arduino work they do in their undergrad classes and clubs.  While the limited performance of an Arduino indeed limits the scope of missions available to us, we are actually more interested in ideating, finding, or tailoring less processor-intensive missions to be achievable with an Arduino flight computer, rather than letting more advanced mission concepts box us into a less undergrad-friendly, less synergistic computing/programming environments.  

Most of the Teensy pins are routed out to the PC104 connector, with a PC104 pinout that "plays nice" with many of the other PC104 CubeSat kits on the COTS market.  Wired directly to the Teensy is our Adafruit 9DOF Absolute-Orientation Fusion IMU (BNO055).  While the absolute-orientation feature will unfortunately be unusable in zero-g (due to no gravity vector available for initialization), this unit remains one of the more advanced and capable student-level MEMS IMUs we've seen on the market.   See more about this in our ThinSat poster from CDW '21!

Also wired directly to the Teensy is a separate microSD card reader/writer for onboard storage.  We chose a separate SD card reader (rather than a Teensy with an integral one) simply because it was a late addition to Douglas' semester project.  

Our PC104 power bus and Teensy I2C lines are also tied directly to the conductive threaded rods of our novel structure (see above!) in order to pass power and I2C signals directly up and down the rods. Other simpler electronics cards in the electronics stack can just pull their power and I2C signals straight from the threaded rods, thereby alleviating the need for students to incorporate (and solder!) the cumbersome PC104 connector on some of the more simple modules in the stack (for which PC104 might be overkill).  

Douglas even tried milling this module himself on a PCB milling machine like our Bantam mill, but found that the full copper-clad removal (rather than "quick-and-dirty" isolation milling) proved to be cumbersome, especially for a double-sided board.  Regardless, see his great results below! These days, we assemble several different versions of this module using inexpensive, professionally-fabbed PCBs (the above unit was redesigned, assembled and soldered by Kyle Ikuma, '23).  Our (admittedly limited) modules cost ~$80 each total, versus often $3K+++ for more advanced COTS flight computers!

Milled flight computer

Comm System

PC104 EyeStar Board


As our uplink/downlink comm system, we use NSL's EyeStar-S4 Iridium uplink/downlink radio.  The radio is quite bandwidth-limited (and requires an Iridium data plan), but, as mentioned above, we prefer to try to ideate low-bandwidth (undergrad-friendly) missions, rather than box our undergrads into more complicated computing/comm/ground station architectures. The EyeStar downlinks live data continuously through the near-global Iridium satellite network, to NSL's own cloud-based "ground station", thereby alleviating the need for us to buffer science data, wait until overpasses of NJ, and design/build our own local ground station (yet...).

We integrate the EyeSat onto our custom PC104 "motherboard" (breakout board).  The breakout board was designed as part of Kyle Ikuma's ('23) award-winning EduSat project, and thus includes a few additional harness breakout connectors (rainbow harnesses above) that need not be used by simple PC104-based CubeSat builders.  You can download the design files for our EyeStar breakout board here!  We have the EyeStar pushed way out towards the edge of the board, to make room for a large, special power supply (unique to the EduSat architecture), but if you are savvy with PCB design, you can relocate the EyeStar (and delete or replace the harness breakouts) as-needed.

Gravity Stabilization Boom (w/ example imaging payload)

Gravity boom deployed
Gravity boom as-built
Gravity boom stowed




An extensible gravity boom takes advantage of the gravity-gradient effect to self-orient your CubeSat along the local vertical vector, thereby enabling Earth-pointing (or zenith-pointing) missions. It is one of the most straightforward schemes for implementing (passive) attitude control at the undergrad level.

Michael Hauge ('21) designed and fabricated our gravity boom module as part of his award-winning senior thesis.  It's a dense brass end mass at the end of a simple tape measure boom. During launch, the stowed end mass is restrained by a strong, preloaded Spectra filament, which is severed by a burn wire once on orbit.  The module detects release of the end mass. 

Unlike many CubeSat gravity boom concepts, ours wraps around the entire CubeSat, using the whole CubeSat as a "spool" rather than using an internal spooling mechanism.  This scheme admittedly requires careful installation to keep the wrapped tape measure inside the official CubeSat stay-in zones, but it's doable, and is quite a bit simpler than many of the more elaborate internal spooling mechanisms.  It also aligns better with our standard PC104 kit orientation than would most of the other existing "side-ejecting" inner spool concepts.  

Our boom (along with hysteresis rods, below) can theoretically point our CubeSat towards Earth within +/-10deg.  Michael sized and simulated our boom with his own homebrew Attitude Stabilization Design & Simulation Tool, which you too can download and use to size your boom (or entire passive attitude stabilization system)!  It's a free extension to the commercial (but affordable) CubeSat Toolbox (from local vendor Princeton Satellite Systems).  Much more info about Michael's gravity boom and simulation tool are available in his full thesis upon request.

Watch a video here of Michael testing our boom at home! (in 1g...)  We'll need a more proper gravity-offload fixture to further investigate whether buckling, overshoot, oscillation, or "respooling" might be problematic in zero-g (to Princeton MAE students: come build this for us!) But we think it's likely that the tape measure will indeed prove to settle into its low-energy state (i.e., straightened) in orbit. 

The PC104 boom card must be the most outboard card in the electronics stack, but it has a large aperture through which some advanced payload module underneath it can view through.  Or, a small, simple payload (like the simple Adafruit "Miniature TTL Serial JPEG Camera" below) can be integrated directly onto the boom card (where the aperture would usually be). 

One of the headaches of a gravity boom is that it is indeterminate whether it will self-orient towards nadir or zenith.  Some gravity-gradient-stabilized spacecraft include a separate, complicated actuator (reaction wheel, torque rod, etc.) to "kick" the spacecraft 180deg if it initially self-orients in the wrong direction, but we choose instead to just include identical payloads on both sides of our CubeSat!

Boom with imager

Magnetic Hysteresis Rods (for detumbling)

Hysteresis rods

Still in the design phase is our magnetic hysteresis rod module (to Princeton MAE students: come help us build/characterize these!)

Hysteresis rods are made from a "Mu metal" (like HyMu-80) with hysteretic magnetization properties that--if sized and oriented correctly--serve to effectively damp out the rotation of an initally-tumbling CubeSat (after ejection from a deployer). 

We assumed a rod design based on here, and packaged them into a modular PC104 card.  The card has an optional large aperture that can enable passthrough or viewthrough by payload and other components, and low-profile interleaving within the electronics stack (see example below).  The card is modular and can be interleaved at multiple heights throughout the stack (usually multiple well-spaced rod pairs are required for efficient detumbling). 

Our rods were also sized, arranged, and simulated by Michael Hauge ('21) with his homebrew Attitude Stabilization & Simulation Tool  (see more about this above!)

Hysteresis rods stacked

Solar Panels

1U solar panel


Our 2021 SPRE summer intern Alexander Haywood ('24) designed, fabricated and tested our own inexpensive DIY cubesat solar panels.  We integrated very inexpensive monocrystalline silicon solar cells (from ANYSOLAR's IXOLAR product line) into a 1U solar panel PCB (along with simple blocking diodes to prevent current reversal).   Our cells are specified as "high-efficiency" for silicon (supposedly ~25% efficiency; we are still testing...).  While certainly not as powerful as ~30%-efficient space-grade GaAs cells (nor as rad-hardened), we think they'll still be sufficient to power many undergrad-level, Arduino-based missions.  And their ultra-low cost and relaxed handling requirements make them very enabling for student CubeSat projects (even if only as temporary "placeholder" panels for lab use and ground handling only).  Each of our 1U panels costs us ~$50 total (versus often $2K+ for a space-grade COTS panel), and each can theoretically generate ~1.6W peak power in LEO (versus ~2.4W for space-grade panels).  Our CubeSat structure (above) and power supply can accept either our panels or our favorite EnduroSat space-grade panels (or even a tailored mix), depending on our power budget for a particular mission. 

Power Supply

Endurosat EPS

For a variety of reasons, we chose not to try to DIY our own power supply.  We use our favorite EnduroSat EPS because it is scalable (EPS I and II), self-heated. user-friendly, well-documented, I2C-commandable, sturdy, has a PC104 form factor (like the rest of our kit), and--especially--is comparatively affordable...

As a bonus, the nonconductive anodize finish of its case appears to prevent it from shorting out our novel conductive threaded rod scheme (see more about this in "Structure" and "Flight Computer" above)..

Reaction Wheels

Reaction Wheels

For her award-winning senior thesis, Shannen Prindle ('23) designed, built, and tested a ground prototype of our own PC104 reaction wheel module (the topmost card only in the PC104 stack shown above), for potential future use in CubeSat attitude stabilization and pointing. 

The reaction wheel module (as-is) is decidedly not space-ready, but a few upgrades could get it there (notably, an upgrade from brushed to brushless motors, and machined rather than 3D-printed bracketry).  As-is, the cost of Shannen's modules is comprised primarily of ~$300 worth of 3 high-performance motors, and ~$300 worth of machined brass wheels (brass chosen for high-density/mass/MOI). 

Shannen proved out the performance of her reaction wheel module on our new air-bearing-based attitude control testbed!

Horizon Sensor

In progress.  Stay tuned! To Princeton MAE students: come build this for us! See our progress so far!