Building a satellite that actually works feels different from what I expected. DecimalSat is a 1U CubeSat (10 x 10 x 10 cm), and most of the challenge is not physics but convincing four subsystems to trust each other enough to pass data reliably over LoRa. I came in as the embedded software developer and ended up touching more hardware than I planned. That tends to happen.
On the firmware side, I wrote the C++ code running on the OBC: packet framing, radio state machine, telemetry queuing. LoRa is forgiving over distance but not over bad configuration. Getting the spreading factor, bandwidth, and coding rate right without blowing the power budget took more iteration than expected.
On the ground station side, I built the software that receives packets, decodes telemetry frames, and makes them readable. Watching the first clean packet arrive is one of those moments you remember. The video below is that test.
The hardware side was more hands-on than I expected. I did a fair amount of PCB soldering: SMD components on the EPS power board, through-hole connectors on antenna interfaces. At 1U scale there is no room to redo anything, which sharpens your attention considerably.
We built on top of a starter kit with pre-designed PCBs for the core subsystems, which meant we could focus on integration and firmware rather than schematic design from scratch. That was the right call for a project at this scope.
Working across borders on something physical has its own set of challenges. You cannot push a fix and deploy, so things have to be in the same room eventually. We made it work through remote debugging, shared documentation, and a lot of patience across time zones. The team is what made it land.