Look ma, no stencil!
I went cheap and didn't order a stencil for the TL2 prototype. After hand-placing the solder paste, chips, and passive components on the board, I was pretty sure it wouldn't work. Take a look at the badly spread paste around the ATtiny816 to the right:
It had a few bridges after it came out of the frying pan/skillet. I did the best I could with some solder wick and had no visible bridges. Everything else looked fine courtesy of using 0402 passives instead of TL1's 0201 which were a nightmare.
My first UPDI
The problem here was that I have to use UPDI to program the ATtiny816. It's a new thing for me and if it didn't work I wouldn't be sure if it's the soldering or a setup problem. The UPDI only needs three connections: GND, VCC, and ... UPDI. I had designed those in with a set of surface pads which are tiny so they won't be confused with the data-download connector.
To use UPDI you have to have the Atmel-ICE programmer, which I did. There are some projects out there to bring UPDI to cheaper programmers but I haven't really looked into that.
The surface pads on the TL2 are 0.1" apart in a 90° configuration so there's no orientation confusion. I made an adaptor to connect the 6-pin ISP connector to this board. The ICE uses the MISO wire for the UPDI line.
And it just worked! (phew)
I went to Atmel Start, set up a basic project with the ATtiny816, opened it on Atmel Studio and just added a couple of lines to initialize and toggle the LED on PA4. I had already been able to read the device's ID but it was nice to upload the firmware and see it work:
This is an entirely new chip for me. Even though it's still AVR, programming is a little different from the familiar ATmegas. I'm also trying to learn embedded C++ so I'll be experimenting with that. My first goals are to connect to the also new (for me) temperature sensor (Si7051) and see how low I can get the system's power consumption to.
In terms of hardware, I want to add a small low-power accelerometer near the temperature sensor. This will allow us to see exactly when the hatchlings start moving in the nests. I'd also like to connect some more pins to break-out headers, which will allow the option to connect SPI and I2C to add-on boards for additional sensors and a LoRa transmitter.