Open Source Modular Rocket Avionics Package

Cambridge postgraduate student [Adam Greig] helped design a rocket avionics system consisting of a series of disc-shaped PCBs arranged in a stack. There’s a lot that went into the system and you can get a good look at it all through the flickr album.

Built with the help of Cambridge University Spaceflight, the Martlet is a 3-staging sounding rocket that lifts to 15km/50K feet on Cesaroni Pro98 engines. [Adam]’s control system uses several Arm Cortex M4s on various boards rather than having just one brain controlling everything.

Each disc is a module that plays a specific role in the system. There are a couple of power supply boards sporting twin LTC2975 able to supply custom power to a dozen different circuits. The power system has a master control board also sporting an M4. There’s an IMU board with the guidance system — accelerometer, magnetometer, gyroscope, and barometer, all monitored by an algorithm that computes the rocket’s position and attitude in-flight. There’s a radio board with a GPS receiver and an ISM band radio transceiver for telemetry, as well as a datalogger with 10 thermocouple measurement channels. Engines are controlled by the pyro board which controls firing currents on four different channels. The vertical spacers also serve to transmit power and data to neighboring boards.

If you’re interested in learning more, check out the project’s code and schematics on [Adam]’s GitHub repository.

[Adam] is no stranger to these pages, with his Nerf Vulcan turret published a few years back, as well as his balloon tracking rig published more recently. Photos are CC-SA and can be found in [Adam]’s Flickr feed.

20 thoughts on “Open Source Modular Rocket Avionics Package

  1. I built something similar for my under grad dissertation project 4 years ago, Used an Mbed with a cortex M3, on a 2 stage rocket. Pretty much as i’d finished, the Raspberry Pi compute module came out and i thought how much easier it would have been if that had of come out 6 months prior. I’m curious as to why this doesn’t have some form of SBC with a real time OS or a cut down linux distro instead of a micro, given the tiny form factor and documentation you can easily obtain now? Would have made my life a of a lot easier back then. Dev time would be a fraction of what it was for me and what it would have been for this. You can do a hell of a lot more with an SBC than you can with a micro.
    Nostalgia though!

    1. Might just be that the broadcom or allwinner chip sets on your average SBC aren’t geared towards the same level of reliability than an industrial control market cortex-M.

      Also, there’s beauty in the fact that these actually are separate ICs – a lockup of one’s software doesn’t influence the working of another.

      Not sure about cortex-m vs Arm A-series application processors, but at least cortex-r has rocket-critical core features like very deterministic constraints on interrupt latency that you’d miss on the arm in an SBC.

      1. nothing wrong with the core module having a OS and then actual control be bare metal arm, allowing standard data capture tools at the os end, web even but you can fine tune and customize the flight control boards if your skill set allows.

        1. You’re confused.

          You are confusing a data acquisition system that sits on the ground and is part of mission control with the flight control hardware/software. Two very separate things.

      2. Modularity allows for flight control and DAQ to be independent (as it should be).

        Don’t get me wrong: there are plenty of thin RTOS options which would run well in this application.
        But hardware design is a critical factor. An RPi is not mission critical rated hardware.

    2. Just came across my original comment! I think you guys are massively over estimating the time constraints of the system. The only flight control is stage ignition, and +- 20 ms here or there doesn’t matter.

  2. A few years back, I got started with an open-source rocketry group. It was a lot of fun until we learned about ITAR. Make sure you know about it before you publish rocket or avionics designs online if you’re in the US. It’s a stupid law, but for now it’s the law; make sure not to get yourself into trouble while open-sourcing.

  3. They could have used of-the-shelf altimeters for 200-300$ to do the same, a Telemega for example. You do not need compute power for such a rocket, a 20 MHz Xmega does the job too. But space invents all things always anew to spend money. Nice project, but really overrated for the job.

    1. You’ve no idea what they’re trying to measure, record, or calculate onboard though, so you can’t speculate as to what is sufficient for ‘the job’. What a silly comment.

  4. This is great, I make a ballistic impact avionics bay that has survived when everything from the nose cone to the motor case has been destroyed but the avionics survives (I got tired of replacing electronics). I think of it as my rocket ‘black box’ to recover and retrieve flight data. My smallest design was for 100 mm minimum diameter rockets but had a provision for a 14 mm all thread rod up the center to support and adjust the board spacing.

  5. You are puzzling a data acquirement system of rules that sits on the flat coat and is office of military mission control with the flight control ironware/software program. My smallest excogitation was for 100 mm minimum diameter rockets but had a supply for a 14 mm all screw thread gat up the center field to documentation and align the circuit board spacing.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.