A student society of undergraduates and PhD students dedicated to pushing the limits of high power rocketry and high altitude ballooning. We are based out of the Cambridge University Engineering Department and hold regular meetings.
The flight computer PCBs have been collected from Cambridge Circuit! As ever they’ve done a fantastic job. We had a quick tour of their facility when we collected these PCBs which was great to see. Thanks again Cambridge Circuit! The renderings of the PCB above were generated by GerbLook, click the link to check out the other layers.
All the orders have now been placed for the various electronic components for these PCBs (the bill of materials for one flight computer alone is around £150!). We also have stencils and stencilling jigs in-hand so soldering should take place next week, after which all that’s left is to write the firmware that will operate the avionics. This firmware is responsible for deciding when the moment is right to fire the various pyrotechnics and let the ground crew know what’s going on.
Martlet 2 is powered by an O-8000 Pro150 Cesaroni motor. This is the largest certified motor available and, over the course of its 5.12s burn time, produces an average thrust of 8000N. We purchased the motor last weekend from Animal Motor Works and will be meeting it for the first time at BALLS.
In other exciting news all the aluminium stock is now out of the basement lab and being machined. WPPE are machining the various couplers, fins and the aft cone whilst the CUED workshop are kindly machining the fin can ( at a length of 480mm and with a diameter of 186mm it is Martlet 2’s biggest metal component).
Today Cambridge Circuit Company finished manufacture of the PCBs for M2R, the radio board on Martlet 2. We drove over to pick them up this afternoon and they’re looking good! Hopefully we’ll have the designs for the flight computer finished soon and then we’ll get both boards assembled and start on the firmware.
A big thank you to Cambridge Circuit Company for their continued support of CUSF; they’ve now been sponsoring us since 2012 and have always given us fantastic PCBs very quickly.
The radio modules we’ll be using on the M2R radio boards arrived from Radiometrix today. They’re generously sponsoring Martlet 2 with these radios, thanks! We’ve been using their radios for many years now, starting with the venerable NTX2 for some early high altitude balloon payloads, and they’ve always performed perfectly. We’re excited to try out these very new MTX2 modules — they are much smaller than the NTX2 and should have excellent frequency stability thanks to a temperature compensated crystal, plus they are in-flight frequency reprogrammable in case we find frequency clashes in the field.
Today we finished the PCB design for the radio system on Martlet 2.
You can read more about the board here, or check out the schematic here. Our designs are made using KiCAD and as ever you can view all the gory details on our GitHub.
A big thank you to our sponsor Cambridge Circuit who are making these PCBs for us! If you need any PCBs made be sure to check them out — the first time they sponsored us, we had a whole panel of perfect PCBs only a few hours after giving them the files (and a few hours after that, the PCBs were in the stratosphere!). Highly recommended.
A couple of weeks ago we received the first components of the Martlet 2 airframe. These roll wrapped carbon fibre tubes have an inner diameter of 182mm and a 2mm wall thickness. They were bought ‘off-the-shelf’ from a UK company and look great!
Both need facing off to ensure the top and bottom surfaces are perpendicular to the rocket axis. One of the tubes needs to be cut down to 750mm for the motor section whilst the other is already at just about the correct length for the parachute section. If time allows then a thin layer of epoxy will be applied to the outside in order to get a nice smooth aerodynamic surface.
In addition to the carbon fibre tubes we have also got, as of this morning, most of the aluminium stock from which various parts of the airframe are being machined out of.
The raw aluminium stock consists of:
A length of 7.5″ OD x 3/4″ tube from which the fin can and the body tube coupler will be machined
A length of 7.5″ OD x 1″ tube from which the nose cone coupler will be machined. The extra 1/4″ is required to proved a surface that the Metron protractors located in the nose cone can push off from.
500 x 1000 8mm thick aluminium plate which will be used to machine the rocket’s three fins.
We still need to get stock for machining the nose cone tip and the mirror shroud – though as these are much smaller parts the stock for these will most likely be obtained from CUED stores.
Now that we have the stock we can start getting components machined. Once the body tube and nose cone coupler are machined they can be sent straight to the anodisers. The fin can and fins, however, have to be welded together before a further set of machining operations can be performed on the combined unit. These machining operations are done in order to ensure that some of the machined features inside the fin can (such as the all important thrust ring!) have the correct dimension and aren’t warped during the welding process. After this has been done the whole lot is sent to the anodiser for hard anodising. Hopefully this will all go smoothly and we’ll soon have pictures of the machined parts.
After many weeks of careful planning and design, lots of simulations and calculations, and pages upon pages of datasheets, the first revision of the design for the flight computers aboard Martlet 2 are complete.
You can check them out here: m2fc is the main flight computer and m2r is the radio board. Since the radio board is the simpler of the two, we’ll talk about that first.
m2r: The Radio Board
This board is responsible for receiving GPS positions and transmitting them and additional data from the main flight computer over a radio link and a satellite link back to the ground station. At its core is an STM32F303 microcontroller, a powerful ARM-based chip that has several useful peripherals such as a digital-to-analogue converter which we use to drive the radio’s modulator, and three serial ports. It’s also speedy and has plenty of memory, which will come in useful for using error correction codes on the radio data. A handful of LEDs for monitoring, a programming connector, and standard µC support circuitry round out the basics.
For the GPS, we use a uBlox Max-7Q, a very compact and high-performance GPS receiver. A low now amplifier and GPS filter, the ALM-2712, increases sensitivity.
The radio downlink uses a Radiometrix MTX2 unit, generously sponsored by Radiometrix (thank you!). This tiny and high performance radio is the successor to ones we have used on our high altitude balloons, where the 10mW transmit power is enough to receive a balloon from 700km away. It has an FM input that maps to a narrowband output, so we can use it for FSK when received with an SSB receiver, or with any baseband signal when used with an FM receiver (at the cost of some signal to noise ratio). Additionally the MTX2 can be programmed to operate over a wide range of frequencies, so we can resolve any potential clashes or avoid local noise sources.
Following the MTX2 is an optional amplifier stage. In the UK this won’t be legal to fly, so we can bypass it for testing, but in the USA it would be OK to operate under an amateur radio licence. The amplifier boosts the output power up to 500mW, which should help it punch through the rocket and reach the ground station. This is the most careful part of the board design, where the best bet is following the ADL5324 datasheet’s recommendation as closely as possible.
To talk to the main flight computer we use the ADuM1201, a more modern version of the optoisolators of the past. This chip provides galvanic isolation via an in-silicon transformer, so that anything upsetting that might come in the cable is prevented from affecting the rest of the board.
For the satellite modem we connect to a RockBLOCK unit, which uses the Iridium network to provide worldwide coverage (so long as the antenna is pointing up!). This is a backup to the MTX2 in case the rocket goes out of radio range or we experience a radio failure. It sends less data and does so slower, but should be useful for getting a final GPS position after landing.
m2fc: Flight Computer
The main PCB has a longer list of responsibilities:
Measure rocket acceleration, rotation, altitude and bearing
Fire pyrotechnic devices at appropriate moments in the flight
Measure strain gauges to determine fin loading
Log data to SD card
Communicate with the radio board to have key telemetry (altitude and flight status) sent back to the ground station
To get all this done we start with an even beefier microcontroller, the STM32F405VGT7. In addition to having 100 pins (compare to 48 for the radio board), we get a bump in clock speed (up to 168MHz) and a lot of peripherals (we’ll be using 3 SPIs, 2 I²Cs, 2 USARTs, the SDIO peripheral, 7 ADC inputs, and a bunch of GPIOs). As before, LEDs, programming interface, a voltage regulator and parts like the clock crystal come as standard.
The SD card here uses the SDIO interface rather than the commonly used SPI interface. The SDIO interface is faster, and on microSD cards can transfer a nibble at each clock, rather than just one bit. Additionally this means we can use the SPI peripherals for other things.
For the inertial sensing, we have a full suite of MEMS sensors. ADXL345 and ADXL375 provide low- and high-G acceleration sensing over SPI, with an output data rate of 3200Hz. The L3G4200D measures the rate of rotation at 800Hz, the HMC5883L measures the magnetic field strength which we can use to estimate a bearing, and MS5611 measures absolute barometric pressure, from which we can derive the current altitude. We’ve hooked each sensor to its own communication peripheral on the STM32 to help avoid bus contention, simplify programming, and ensure maximum data rates. Other than that there’s nothing particularly exotic going on here — the joy of highly integrated sensors.
The serial interface uses a variant on the ADuM1201 on the radio board: the ADuM5201, which in addition to data isolation provides an isolated 5V power output, which we use to power the radio’s ADuM1201. This handy feature means there is complete isolation between the two circuit boards. A second ADuM5201 is provided for futureproofing and connection to a computer for debug and development purposes.
An external red/green LED lets the user know in the field that everything is OK with the set up. The flight computer can check that all the sensors are working, run self tests, verify that the SD card is recording data, communicate with the radio board, ensure satellite and GPS lock, detect the pyrotechnic devices are installed correctly, and ensure all the sensor values are close to nominal before asserting that everything is ready to fly.
The two pyro channels are able to drive 1A into a Metron protractor unit, a small pyrotechnic device which we use for staging and parachute deployment. Continuity detection is provided so the microcontroller can verify that the connections to the devices are OK, and a large capacitor provides the energy to blow the pyro.
The thermocouple design starts veering into actual analogue work. Thermocouples are temperature sensors that operate on the Seebeck effect, producing a very small voltage proportional to the temperature difference between two metal-metal junctions. One junction is at the sensor, measuring the temperature of the fin leading edge, for example. The other junction is at the PCB. Here a speciality thermocouple amplifier, the AD8495, is used to provide both amplification of the very small voltages from the sensor and cold junction compensation. Before the amp is an input RC filter to reject any radio noise picked up on the long leads to the thermocouple. After the amplifier is a two-stage, fourth-order Butterworth antialiasing filter, to ensure that no frequency content above the Nyquist frequency of the ADC is present.
Finally the strain gauges. These sensors are affixed to structural elements of the rocket and change resistance in proportion to the material strain. The change in resistance is detected using a bridge circuit, and the very small voltage amplified up with an AD8226 instrumentation amplifier. Extra care has to be taken that the references are precise and temperature effects are controlled and compensated for, as they are usually of the same magnitude (or larger!) than the voltages due to strain. Here, one half of a Wheatstone bridge is formed of two high-precision and low-temperature-coefficient resistors on the PCB, providing an accurate Vcc/2 reference. The other half of the bridge is on the fin, with one strain gauge and one 120R completion resistor. They should both be at the same temperature, which helps remove that influence. Some factors are not controlled for — the wires leading to the strain gauge will have a resistance, for example, and that will change with temperature. This would lower the voltage across the bridge, and affect the calculations of the strain from the measured voltage. However, some simulations suggest that this impact should be very small as the wires are short and reasonably well behaved. As with the thermocouples, an RF filter is present on the front end, and a fourth-order antialias filter completes the setup.
The next stage is to design the printed circuit boards for both of these schematics. Many other considerations apply here, as component layout and routing can have a big impact on performance. Hopefully no big changes will have to be made to the schematic once work is underway on the PCBs!