-
Log 1: Design parameters, early prototyping
01/09/2024 at 00:16 • 0 commentsBefore I flesh out the physical design, I am going to establish some design parameters so I (hopefully) don't add too many features that I'll never use, and to see if what I want to make can be bought somewhere for cheaper. The Adafruit MacroPad kit runs 50 dollars as of right now, so I am hoping I can keep my design under that price. I was thinking about buying the Adafruit kit for this project, but couldn't justify having 12 switches for what ultimately amounts to being a fancy volume knob. I made a rough sketch of the features I want, with a little wiggle room for additional functions down the road.
This is a poorly drawn out representation of the functions I would like to implement. At the very least the OLED will report the current application and its volume level. It would be nice to show the previous and next applications that can be scrolled to, and animate the application names scrolling. What would be cool to add is a little speaker icon that shows the relative volume level, sort of like what you'd see from the Windows volume icon in the task bar tray. Maybe it also does a little volume increase/decrease animation when changing the volume. If memory becomes an issue I will probably switch to an RP2040 based board.
I was thinking of using two rotary encoders with a push button for controlling the app selection and volume. The push button on the volume control knob will be a mute, but I am not sure exactly what to use the other encoder push button for. I don't want the project to be too large physically, so I am thinking of only including 2 or 3 macro buttons, and using the remaining encoder push button to swap between button profiles. If I do go this route, I'll need the OLED to also report what button profile it is on. For the macro buttons I'll use some cherry-MX profile switches that I have extras of. I have an extra set of keycaps not being used, but it might be nice to buy some PBT blanks.
When looking at the Maxmix and the deej, they both use a separate windows application to interface with the arduino. I will have to learn how to write, or at least modify windows applications. Functionality wise, I think the maxmix software is pretty complete in regards to the features I want. YaMoef's fork of deej is also similar to how I'd approach building off the deej software.
For now, I am going to learn how to use the OLED screen and look at the code of the other two projects I mentioned earlier. When I first came up with this idea I didn't anticipate needing to write software, but I suppose this is an easy project to learn on.