IRIS is an advanced flight computer designed for controlling guided model rockets. It is specifiacally designed for aerodynamic control, but is also capable of thrust vector control.
IRIS has 6 pyrotechnic channels with a shared arming circuit. The continuity of each channel may be individually sensed. Each pyro channel may be independently controlled. There is also a physical arming switch for safety.
It has 4 servo output channels, on the main microcontroller's dedicated pwm output pins so they incur no extra cpu load.
It has a controlled output camera power header, to lower power draw while idling on the pad or waiting for recovery.
There is a UART broken out from each microcontroller for debugging purposes, just in case the USB doesn't work.
Finally, IRIS has a high performance lora transceiver onboard for long range telemetry, ensuring that even the highest flights may be safely flown and recovered.
IRIS has 2 high performance imus, one for lower range higher precision sensing, and one for higher range lower precision sensing. By having dedicated imus for each range, IRIS can maintain a high precision across the entire flight envelope.
IRIS also includes an ultra high g accelerometer (which will not be populated on the prototype boards for cost reasons), a high performance high sensitivity magnetometer, and an ultra high sensitivity barometer. There is additionally a GPS for stable position updates.
By fusing all of its sensors IRIS can create an accurate vehicle position esitmate across a wide range of flight profiles. This position estimate may then be used in GNC (Guidance, Navigation, and Control) algorithms to control the flight of a vehicle.
IRIS uses 2 microcontrollers, one main processor and one auxilary processor. By using this architecture, one fast processor with lots of ram (the STM32U585 in this case) can handle all of the complex GNC logic that needs super consistent loop times to work. The main processor is in charge of all flight logic and servo control, as well as the sensors. However, we need to also be able to handle very inconsistent actions like telemetry and datalogging. To do that, we use the auxilary processor (the STM32U073 in this case). The auxilary processor is in charge of the pyrotechnic channels (not controlling them, basically just acting as an I/O expander), as well as datalogging to both flash and micro sd, plus sending telemetry.
IRIS switches both the high and low side of the pyro channels, which is entirely about safety - that way there can be a device level digital and physical arm. You can never be too safe with pyrotechnics.
IRIS uses a very comprehensive suite of sensors, including some quite high quality ones. This is to ensure that at least one sensor of each type is never out of range, which would lead to the position estimate being off, thus the GNC going out of control. I don't think I need to say this, but an out of control rocket is not a good thing.
Everything that I chose was chosen for safety or so that IRIS could actually fulfil its intended purpose.
I'm working on designing a rocket with some of my friends, and I needed a flight computer for it, one capable of stabilization.
The testing firmware can be installed with platformio, board configs are in firmware/processor/FC_PROCESSOR. Install those configs then flash with platformio.
This project was made for blueprint, an event ran by Hack Club. Hack Club is a global nonprofit that runs events like this, where teenagers learn valuable skills, like hardware design and programming. You can learn more about my project on the blueprint site, at my project page.
No more firmware development will be done on this repository, we don't want to take the risk of ITAR applying here.
The 22uf decoupling cap for the battery has too low of a voltage rating and should instead be populated with one of the 10uf ones.
The wrong footprint was used for one of the inductors on the lr2021, it should be 0402.
The oscillator loading caps may need to be changed depending on what parasitic capacitance you assume, these are for roughly 4pf parasitic.
| Mouser Cart | Digikey Cart | LCSC Cart |
| $89.52 | $51.34 | $38.44 |
| Component Total | ||
| $179.30 | ||
| JLC Cart | ||
| $42.85 | note: not included in above table | |
| Final Total | ||
| $222.15 |
