Previously I had not received my custom PCBs and had to do with experimental boards. Now I have the boards, did some mandatory error fixes, and finally got it working!
I found a few issues in the design on the way:
- I should have chosen through hole for the button, since they are more readily available and a lot cheaper. I simply bent the legs to solve it for now.
- VDD was by mistake not connected to the Communication Board header (I need it for the level shifter of the UART signals). Fixed with a small wire.
- Communication Board failed, since the Weather Station Board regulator was not powerful enough to power the MAX3218 chips. I ended up cutting some traces and adding an Adafruit level shifter in between.
- I should have used a micro USB connector for the 5 volts on the Communication Board, instead of pin header (what was I thinking?)
All the parts were solderable with a regular soldering iron, except the BL600 Bluetooth transceiver. My first attempt was to use a heat gun from below. Didn't work very well... I placed some solder to see when it melted (see picture below), but even on the highest temperature of the gun, it didn't happen.
Instead I borrowed a hot plate from work, and when it reached the set temperature I carefully slid the PCB with the BL600 and some solder paste onto the plate, and as soon as everything seemed to have melted (a few seconds only) I slid it away again (no picture on this I'm afraid).
So far I've only tested the UART communication and the reset button, but that works reliably. Note that there still might be errors on the Weather Station Board, since I have not tried out all the sensor circuitry yet.
So, here are the boards connected, and working:
My next step is to try out bluepy on the client side, as an alternative to the messy gatttool/pexpect combination I'm currently using.