This is my first hackclub project, so I wanted to challenge myself a little bit by combining aspects from two of my high school classes, physics, and compsci. I made this whole thing in 2 sessions, so it’s a little rough around the edges.
After looking at the parts list again, I’ve just been going back and forth about what design I’m going to choose. At first I thought of just piling together everything and making the most kitted out macropad possible but quickly ran into the problem of not having enough GPIO slots. I know I want a lot of functionality out of this, but I also want it to look cool. I’ve also been thinking about having LEDs underneath the keys that change color to dynamically convey what they do, but no I’m stuck between keeping the OLED for coolness or 3 more keys for functionality.
Finally after a marathon session of work, I’m all done. It took me a while to figure out what layout I wanted to go with, as there were 3 key things I wanted to balance, functionality, “coolness”, and dynamism. I wanted something that had a lot of inputs so I decided to go with a 3x3 matrix of buttons and a rotary encoder with pushdown enabled. By having a large number of inputs I have lots of freedom and don’t feel as constrained about what I chose to use the inputs for. I also decided to have LEDs under each of the keys, this served two purposes. Firstly, the LEDs add to the “coolness” factor of the macropad, this is also by I tried to create a sleek and minimalist design. Secondly, they can be independently controlled and will light up in different colors depending on what the key does. This adds to the dynamism as I plan on making the macro pad aware of what’s on my screen and able to adapt its actions based on that. The LEDs will also change color to adapt to the new set of actions. I’m also thinking of making the colors semantic, so certain types of actions across apps can be the same color, but this idea still needs some thought. In terms of hardware, I am now all done, and I just need to submit my project for funding. As of now I’m going to use the QMK firmware once I’m done building and then start building either a custom firmware or a software layer above QMK to add in the adaptive feature.
This is something that looked really cool to me, so I started building. In practice, however, it’s a little more difficult than anticipated. Of course, I’m still gonna keep trying. Right now, I’ve pretty much followed the tutorial perfectly to get a hang of things like KiCad and the whole PCB process, but now i want to move forward and experiment a little bit by customizing my macro pad. I’m gonna add some more buttons and a rotary encoder for sure, but I also intent on looking at others projects and actual products for inspiration. The end goal is to have a variety of inputs, and a smart software layer that can change the actions of each input depending on what app or program I’m using.
So I’ve decided to make a bunch of changed to my design. Through the tutorial page, I know have a fair grasp of KiCad which was my biggest issue up to this point. More importantly I now have a full list of parts that I can request. I’m still working out exactly how big I want to make my hackpad. I’m thinking 9 keys and 2 rotary encoders for now, this means I can have enough inputs for any situation. This leads to my next point, I previously discussed the idea of making my hackpad adapt to what I’m currently doing. After some thinking and research I plan on doing this by having it talk via serial with my laptop and having some kind of interpretation layer (likely in python) to check what I’m currently doing and then carry out the intended action. I’ve also seen some others add backlighting to their hackpads and it looks like a good idea so I’ll probably try and implement that as well.
Finally after a marathon session of work, I’m all done. It took me a while to figure out what layout I wanted to go with, as there were 3 key things I wanted to balance, functionality, “coolness”, and dynamism. I wanted something that had a lot of inputs so I decided to go with a 3x3 matrix of buttons and a rotary encoder with pushdown enabled. By having a large number of inputs I have lots of freedom and don’t feel as constrained about what I chose to use the inputs for. I also decided to have LEDs under each of the keys, this served two purposes. Firstly, the LEDs add to the “coolness” factor of the macropad, this is also by I tried to create a sleek and minimalist design. Secondly, they can be independently controlled and will light up in different colors depending on what the key does. This adds to the dynamism as I plan on making the macro pad aware of what’s on my screen and able to adapt its actions based on that. The LEDs will also change color to adapt to the new set of actions. I’m also thinking of making the colors semantic, so certain types of actions across apps can be the same color, but this idea still needs some thought. In terms of hardware, I am now all done, and I just need to submit my project for funding. As of now I’m going to use the QMK firmware once I’m done building and then start building either a custom firmware or a software layer above QMK to add in the adaptive feature.
After looking at the parts list again, I’ve just been going back and forth about what design I’m going to choose. At first I thought of just piling together everything and making the most kitted out macropad possible but quickly ran into the problem of not having enough GPIO slots. I know I want a lot of functionality out of this, but I also want it to look cool. I’ve also been thinking about having LEDs underneath the keys that change color to dynamically convey what they do, but no I’m stuck between keeping the OLED for coolness or 3 more keys for functionality.
So I’ve decided to make a bunch of changed to my design. Through the tutorial page, I know have a fair grasp of KiCad which was my biggest issue up to this point. More importantly I now have a full list of parts that I can request. I’m still working out exactly how big I want to make my hackpad. I’m thinking 9 keys and 2 rotary encoders for now, this means I can have enough inputs for any situation. This leads to my next point, I previously discussed the idea of making my hackpad adapt to what I’m currently doing. After some thinking and research I plan on doing this by having it talk via serial with my laptop and having some kind of interpretation layer (likely in python) to check what I’m currently doing and then carry out the intended action. I’ve also seen some others add backlighting to their hackpads and it looks like a good idea so I’ll probably try and implement that as well.
This is something that looked really cool to me, so I started building. In practice, however, it’s a little more difficult than anticipated. Of course, I’m still gonna keep trying. Right now, I’ve pretty much followed the tutorial perfectly to get a hang of things like KiCad and the whole PCB process, but now i want to move forward and experiment a little bit by customizing my macro pad. I’m gonna add some more buttons and a rotary encoder for sure, but I also intent on looking at others projects and actual products for inspiration. The end goal is to have a variety of inputs, and a smart software layer that can change the actions of each input depending on what app or program I’m using.
This is my first hackclub project, so I wanted to challenge myself a little bit by combining aspects from two of my high school classes, physics, and compsci. I made this whole thing in 2 sessions, so it’s a little rough around the edges.