Rocket - Devlog 1
Of all challenges I have to face in order to acheive a functionnal rocket flight computer, one of the hardest is for sure PCB assembly.
I’ve almost written the software in like 2 month, but the PCB part (design but also assembly) is stil in progress after 6 months.
Of course I cannot work all the time on this project, but stil, it’s a long road. I was really stucked and defeated after my first PCB prototype was untestable because of a lack of proper verification and common sense while designing it.
For exemple, I used a connector footprint (Tag connect) that require a special (50$) connector, that I didn’t own. Very clever of me. I was left with a board that I can connect to. Although I included an USB connector for USB Firmware Upgrade (STM32), it just didn’t work.
So for my second board prototype I decided to use some simple 1.25 pitch headers. This time it’s working great.
Current situation
The board include two sensors:
- LSM6DSO32TR | IMU
- BMP581 | Pressure and temperature sensor
LSM6DSO32TR
For now I’m unable to test it because I’ve miss read the datasheet and inverted SDA and SCL traces to the sensor. (yeah yeah …) I’ll plan to use the existing driver provided by ST.
BMP581
I learned that using an hotplate (to heat up all the copper inside the PCB) is a far better option to solder tiny components like the BMP581.
For the driver I use the offcial Bosh driver, which is well written IMO.
Tests
So far i managed to get the BMP581 to work for multiple hours, until I (again) destroyed it while soldering new component use the hot air gun.
Using the interrupt provided i’m able to capture data really fast without doing polling on the I2C bus.
I plan to use DMA in the future iteration. While the sensor was stil alive, I did not know how to configure DMA properly (which I later did with the ADCs), so I’ve not tested the driver with DMA.
It should pretty straightforward as the driver want fonction pointer to read and write the sensor registers.
Radio transmission
The board use an NRF24L01+ module from Nordic.
I used it in combinaison with an RFX2401C, which is the exact setup on the module sold as “NRF24 LNA + PA”. The RFX2401C uses the VDD_PA and CE signal from the NRF24 to switch between LNA (Rx mode) and PA (Tx mode)
Tests
I’ve managed to get successful radio transmission from the board to a ground reception board that I’d previouly built, but after switching the power output of the NRF24 to 20dBm, it stopped working. The VDDA_PA pin give me 0V
I replaced the RFX2401C but with no success. I think the chip burnt. I’ve got a spare on but I really need to keep the last one for the next board prototype, and in the mean time find out what happened !
What’s next
For the next day I plan to test the GNSS receiver, and the SD Card reader for data logging.
I’m also reworking the power supply, removing unnecessary safetys and using a better battery connector.