This week I worked on implementing multiple connections with the central receiver. I managed to get 4 keys working since we only had 4 batteries in total. I also figured out the layout of the battery, switch, and board. Originally, we planned to have the battery sandwiched between the two boards (the Seeed and the single switch PCB). However, after some consideration, I determined it would be too difficult to solder consistently while keeping everything in place. Thus, I modified the design to have the Seeed flipped with the single switch PCB stacked on the back of the board and the battery on the front. This allowed easier access to the reset switch and protected the battery connection. Using this design, I soldered together 2 boards. I also soldered the Mill Max sockets onto the PCBs, which allowed hot-swapping of the switches. On the software side, I managed to get interrupt based signaling working. This means that the peripherals will only attempt to send data over if a key is pressed, and sleep otherwise, thus saving power. Additionally, I set the rest of the pins on the board to be input pullup to reduce power draw further. Finally, on the receiver side, I managed to get reconnection working. However, this reconnection is very slow, taking up to 30 seconds in some cases. To test sizing and consistency. Overall, this design ended up with a thickness of 15mm, which gives us 7mm of space for the wireless charging module.
I believe my progress is on schedule, since this week I was slated to work on the connection of multiple switches and the housing. I have the rough dimensions of the housing finalized thanks to finally having the height of entire assembly set, and I have also managed to connect 4 separate boards to the central receiver.
Next week I hope to assemble more boards and reduce the latency of reconnection and optimize the interrupts more. Currently the interrupts occasionally lock up the board, requiring a reset. I hope to figure out how to resolve this issue next week as well.