So a long time ago, around 2017, at a small business I was working at, I was able to upgrade our cad system from Solidworks to Onshape. I am not going to cover why we switched to Onshape as this would turn into a rant on how amazing it is, basically it’s google docs for cad. Once we switched, I found the lack of customizable keyboard shortcuts severely missing from Onshape. They have some but they are hard-coded, and coming from working in Solidworks for the past four years I got very used to my previous macro set. I decided a quick and dirty macropad was the best way to remedy this.
I designed the whole assembly in Onshape, purchased the key switches, and keycaps, and quickly got too busy to print and assembly it. After using Inventor for the past two and a half years and only using Onshape for small personal projects, I am now using it daily and need the macropad.
I built my initial proof of concept to show that it works physically and electronically close enough. I am now spec’ing out what it would take to build a more polished system that could be sold as a product as an example for the steps a device takes to be brought to market.
I recently saw this beautiful macropad on the Adafruit Blog and thought it was an awesome system. I really liked the enclosure but noticed that the cost of the whole system was going to end up around 75$ plus a lot of soldering. While the price was high, I liked the use of the separate micro controller as I had seen that they made a similar one that used the rp2040 with the same footprint. I researched and found that it supported micropython and HID input so that it shows up as a normal keyboard on all systems. Mircropython allows for the easy reprogramming via a text file with no need for a firmware programmer. The rp2040 was created by the Raspberry Pi foundation recently and supports a great educational company.
After figuring out what I wanted, a sixteen key macropad that had a nice enclosure (metal vs plastic or 3d printed) which runs micropython for easy reprogramming, I started looking for any that were on the market already. I quickly found Adafruit’s version and Pimoroni’s as well.
I then took a look at Tindie for other small run electronics projects. On there, I found the Hub16 that looks like it is no longer built and the Raspberry Pi Pico 4×4. The Hub16 runs an Atmega324 but has usb-c and rgb leds. The Pico 4×4 uses a separate Pi Pico board and requires the components to be soldered by the customer.
I then tracked down the enclosure source to be Kprepublic and saw that it was only $23. I then browsed around and found their customizable macropads. They have two different versions, a usb-C 4×4 and a micro-usb board which uses choc switches. Both of these require a separate firmware uploader. They also end up being around the same cost as the Pimoroni assembly once you add on switches and keycaps.
Once I found and compared all options listed previously, I toyed with designing my own pcb board similar to Adafruits break-apart one but as I have only built electronic prototypes with nothing near production, I scrapped that idea. If I had more experience I would have taken that direction and used either OSHpark or Seeed Fusion to build them.
After looking at all those options, I narrowed it down to the Pimoroni Pibow as it has usb-c, 16 key, rgb leds, and includes switches and keycaps all for a decent price.
One of my earlier asks was for a metal enclosure. I found a few on amazon and tracked one down to its website were it offers online quotes for machining. The box itself is cast aluminum so it will have a satisfying weight to it versus a plastic enclosure. When in production the CNC cost wouldn’t be prohibitive either at roughly 10$. But with a custom enclosure it would then require a way to mount the board internally with some standoffs with adhesive.
With the cost of the original enclosure from the source, it is a better option than to go the custom route. It is much less to keep up with in the long run. They also have the benefit of offering free shipping (which probably means it will take a while to get here from china).
The total cost of the system so far is 23$ for the enclosure and 56$ for the board, keyswitches, and keycaps. Throw in a cardboard box for the product for probably 5$ and it would probably cost around 85$ total. There would be minimal assembly and packaging time so markup could be 20$ to make it roughly $100 pretaxes.
There will be a part two covering the programming of it to get the colors and keyboard shortcuts that I wanted.