I built one of the most magnificent modules, a meticulous mechanical masterpiece. Made in the memorable Minty tin, this marvelous machine mesmerizes many. Meet the Mint board. As with any project, I started off by giving myself some baseline parameters to know what limitations I had to work with in. I knew that I wanted the entire build to fit inside an Alt-Toyd's tin, so the first logical step would be to figure out what the size of the tin is. I found that I had approximately 91 x 56 x 21mm to work with. Now that I knew the dimensions of the tin, I did some research to try to figure out what kind of switches I could potentially use that would fit in that space. I looked at many options, but in the end I decided on using these ones. Looking at the outline, I found that the switches used only 4.5 x 4.5mm of space, which looked really promising. However, when I opened up the datasheet, I found that the metal contact points actually stick out beyond that at 6.5mm, meaning that with proper tolerances between switches, I could have a minimum key spacing of around 7mm. With this in mind, I was originally hoping to be able to fit a full 60% in the tin, but I realized that I would need even smaller switches, and most of the smaller switches that I found did not look very promising. Now I decided to settle for a 40% layout. Knowing that a typical 40% has a width of 12 keys, I then did the math to see if these switches would fit. Running the numbers, I knew that I wanted a rough key spacing of 7mm, so I multiplied that by 12 to give me a width of 84mm, which fits well within the 91mm of space in the tin. At this point, I could have simply settled for 7mm key spacing, but I decided to maximize the space by increasing the key spacing to 7.3mm, which when multiplied by 12 equals 87.6, which would fill the space slightly nicer than the 7mm space. Now that I had settled on the layout and the physical spacing of all the keys, the next step was to get started on creating the PCB. I drew up this schematic including the full 40% matrix, and set it up to be wired into an Arduino Pro micro. Once this schematic was done, I created the actual PCB. There's a lot going on here, but what's important is that you can see the footprints for all the tiny switches along with diodes for every switch. Additionally, there's space for the microcontroller and an on-off switch that I will be implementing. Even though at this point the PCB will be fully functional, it is never finished without some personalization. I added a simple design by Flair Pulse on the back, but it still felt a little empty. I decided to draw up a quick logo on Procreate, so I made a little mint leaf on a keycap which I thought looked pretty cool. Once I finished a logo, I imported it back into keycad as a footprint to place on the PCB, and I think it fits pretty well. At this point, all I had to do was create some manufacturing files for the PCB to be made. Once I submitted the files to be manufactured, it takes a few days before I can receive them. During this time, I went ahead and started work on the 3D print files. I started with creating the base outline for the plate and key cutouts to be extruded, then added the rest of the volume to fill up the tin after that. I didn't finish the 3D files yet because I didn't have the physical PCBs in hand to test fit, so I decided to start working on the firmware. For this project, I decided to use a nice nano as the microcontroller. For most of my other smaller keyboard projects, I've either used Arduino Pro micros or Elite C controllers because they are very cost effective and easy to program. For this project, however, I decided on using a nice nano because it supports Bluetooth connections unlike the firmware too. But that also comes with drawbacks. Most custom keyboards are built off of a form of QMK firmware. QMK is awesome, it's full featured, easy to use and understand, and widely compatible. But it lacks Bluetooth support, meaning that if I wanted Bluetooth connections with a nice nano, I would have to use a different firmware. This is where ZMK comes in. I'm not the expert on it yet, but the main difference with ZMK is that it's wireless first, meaning that supporting Bluetooth and wireless connections is its main priority and features come second to that. This project was my first experience with ZMK, so it was a bit of a learning curve for me. Fortunately for me, because I have so much experience with QMK, a lot of my knowledge carried over to ZMK. Even though files are arranged differently, and there's an entirely different system when it comes to initializing the project, compiling and flashing, many of the baseline concepts are very similar. Regardless of if you're using QMK or ZMK, building keyboard for more follows the same basic structure. For example, initializing the project involves defining the key details about the keyboard, such as how many rows and columns the keyboard's matrix will have, and which pins they will be connected to. Then once you have the matrix set up, the next step is to define the base key map and other important settings. Once you have the keys bound and the settings configured, the firmware can then be compiled into a small file to flash onto the microcontroller. When the PCBs finally arrived, I was now able to solder everything together. Soldering the nice nano to the PCB was a little different than typical though, because traditionally microcontrollers are mounted to the PCBs with headers. What this means is that there's typically a set of pins running through the PCB to the other side. This makes an easy to solder and mechanically strong setup for most cases. In my case however, I wasn't able to use standard headers because the pins would collide with the switches on the other side. So I instead was able to simply surface mount the nice nano to avoid conflicts. It isn't as easy to solder because there is no physical pins holding everything in place, but once it's all set up, it functions the same. Once the nice nano was all soldered in, I went ahead and tested everything and after a couple of run-throughs with the firmware, I knew it was functioning properly, so I went ahead and soldered the battery and the on-off switch. Now that I had a fully functional PCB setup, I was able to finish up my 3D files and print the first prototype of the mintboard. During assembly, everything went smooth, but when I finally screwed everything together, I found that I didn't put a proper amount of tolerance between the keycaps and the switches, so the keycaps would sit too tightly and permanently press down the switches. So I went back to CAD to redesign some of the parts. I redesigned the top piece a little to help the keycaps slide up and down a little more freely, as well as adjusted the tolerance's a tad bit more. In the end, I still did not get the height exactly perfect though, and it just so happened that I also ran out of my red filament, because I couldn't reprint the piece anymore, I ended up just stacking a few layers of blue tape to get it to sit at the perfect height. Now that I had all the internals of the mintboard fully set up, I could finally test fit them in the Altwoods tin. This first tin I had, I ended up carrying around with me for several months as I was working on the project, and ended up getting pretty beat up. So I decided to use it as a test fit piece to see how everything would feel all together. I quickly cut some holes in the tin without bothering to make them too nice, to provide access to the USB port and the on-off switch. After it was all cut and filed down, I mounted the entire mintboard assembly to the inside with some double-sided tape, and my first prototype was finally completed. At this point, the mintboard was functionally complete, but it was still missing a few key details that would complete the build. I wanted to add some legends to the keycaps, so I would actually be able to know which keys are which. I thought about how I might go about doing this for a long time, and I ended up going with what I think was the best solution for the problem. I designed some legends in Illustrator with some basic letters and icons for the modifiers, and then got them cut by my buddy who has a cricket machine. Using these decals, along with some UV-curring, nail top coat, I was able to create some really good looking keycaps. For the final build, I also bought a fresh alt-twid's tin and re-did the cutouts much cleaner than the first time. After all this time, the mintboard was finally finished. I'm really proud of how it turned out, and it exceeded all my expectations. The keycaps especially turned out way better than I was hoping. There were many hoops and hurdles to overcome, like figuring out how to mount the nice nano to the PCB, and learning a different keyboard firmware. But in the end, the final product more than paid off the effort. For me, as someone who was burnt out on keyboards for quite a while now, it was just so fresh and fulfilling to work on a project like this again. Watching the fruits of my labor ripen and flourish with creative inspiration was a feeling that I've been missing for a long time. With that being said, hope you'll have a wonderful day, and thanks for watching.