!!! This project is for archival purpose as the current version (and last one before Supercon) unfortunately still has problems !!!
Project files : on GitHub
This is my first attempt at making an SAO. The goal for this SAO was to look like the Hubble space telescope :) The features on the SAO are supposed to correspond to the features on the actual telescope.
Features
The main features of the SAO are :
- An optical sensor : a VEML3328 to provide a 1x1 pixel RGB+IR camera
- An IMU (accel + gyro) : an LSM6DSO, because every good telescope needs to know its orientation (note that only one remaining gyroscope is working correctly on Hubble, so my SAO has the same number of gyroscope, nice !)
- 4 photodiodes : they represent the solar panels of Hubble. I'm using BPW34s (the IR version, to be precise). They are wired to the ADC of the microcontroller.
- An IR LED : to provide a way to send wireless data
- An microcontroller : I used a ATmega328PB
On top of that, there are :
- A standard yellow LED, because an SAO would be nothing without some blinky LEDs
- A button
Current state
I have received the PCB and soldered most of the components on 3 of them. I still have to determine the final resistor and capacitors values for the OpAmps that amplify the photodiodes signals.
There are known problems that I've discovered recently. Unfortunately, I won't have time to do a respin of the PCBs before Supercon :(
Problems
Small problems :
- I did a mistake on the driver for the IR LED : drain and source are reversed on my schematic (and PCB). This can be fixed quite easily by soldering the p-MSOFET on its back and rotated at a 120° angle.
- I used the wrong footprint for the SAO connector : I used a plain-old 3x2 pins header footprint instead of the shrouded header. This means that I placed a decoupling cap and a few resistors too close to the connector. There are two way to fix this : 1. use a classical pin header (without the shrouding) or 2. go back to the design and move around the offending components (there is enough space to do this in this part of the PCB)
Bigger problem :
- I incorrectly assumed that the SPI pins used for programming the ATmega328PB were the same ones used for general SPI use. This is not the case ... This means that the only way to actually program the ATmega328PB is to solder some fine wires directly on its pins. I haven't actually tested this yet.
Conclusion
This was a fun project, even thought I spent way too much time on it. I also think I was way too ambitious for a first SAO. It was only my second time soldering SMDs (first time was some uFL connectors ...), but I managed to solder 1206s, 0805s, SOIC-8s, 32pins TQFP and even some LGA packages ! So it was a huge confidence boost regarding soldering for future projects !
Finally, even though I'm little bummed that they won't work in time for Supercon, I'm quite happy about it.
And I do think that they look quite pretty, so there's that ! :)