This is my Bluetooth Low Energy(BLE) Human Interface Device(HID) Keyboard.
This was a big jump coming from an AVR development environment on Linux. The Nordic Semi Conductor environment was a trip, I understand now why so many of my mentors have told me “new doesn’t mean better”. I know that the Nordic chip are vastly superior to the simple chips I was using, but I knew how to use those ones. Nordic is still figuring out their stuff and I’ve been in the Nordic space for 3 year now and they’re changing things constantly.
This was an awesome experience in that I got to design a keyboard and learn the Bluetooth protocol along with the USB specification. I also got to design a PCB that is a keyboard, I dirtied my hands with setting up testing environments for my hardware.
The thing about this project is that I did everything, choosing the micro-controller, the circuit, PCB design, and writing the code just to name a few. Implementation has been done on a number of Open Source Keyboard projects, more specifically revision of the corne keyboard by Foostan. I have taken the dimensions of their design and used that as a starting point for this projects PCB.