This week, I first worked on modifying the evaluation boards that arrived from amazon with Korene, desoldering the inductors from a pair of them and measuring the inductance by scraping off the inductive coating and using an LCR meter. Additionally, we also characterized the oscillation frequency the transmitter board was at (around 64kHz). We also tried to follow the traces and figure out which capacitors and resistors were contributing to what, which we mostly figured out, and then we tried to measure the relevant onboard capacitors with the LCR meter to find the ideal resonance frequency, but the calculations ended up way off from the actual operating frequency of 64kHz, so more investigation next week is necessary.
Next, I worked on updating the keyboard driver code on the main microcontroller to accommodate features including:
- modifier keys (keys that are not visible letters like Ctrl and Shift)
- multiple key presses at the same time
- long key presses typing multiple letters (like aaaaaaaa for holding down ‘a’)
- preliminary different layer support (different ‘layers’ have different keybinds)
Lastly, I started work on a basic GUI for the keyboard configuration software using pyqt6. I ran into some problems with my python installation location and had to spend some time finding where different versions of python were installed in my windows system and editing my path until the installed pyqt6 could be used (I was missing a python3.dll file). After that I created this preliminary GUI:
It functions as you would expect: Configurate configures the keyboard shortcuts typed into the keys (by generating an arduino code file), and to differentiate between the keys, when you click a physical key, the corresponding digital key changes color/lights up. Additionally, I plan to have the keys be draggable to different locations in the UI for users to mimic their current layout if they would like.
However, most of these functionalities are not yet implemented.
I am on schedule.
Next week, I hope to work with Korene to get a pair of evaluation boards to work with our small inductors. This will likely take a long time. If I have more time, I will finish implementing essential features for the configuration GUI.