The #PewPew Standalone is pretty much where I wanted it to be in terms of balance between size, simplicity, ease of use, functionality and, last but not least, price. However, if I sacrificed a little bit of convenience and size, maybe I could make something with more functionality and better price?
There is one more option for the button caps that I haven't properly explored yet. I don't have to 3D-print them or have them custom injection-molded if I can use existing parts from a commercial console. Turns out that most popular consoles out there have a lively modding community, and you can easily buy replacement button caps in a variety of colors and styles, very cheaply. Sounds like the perfect solution, right?
There is only one teeny-tiny detail that makes it tricky, and that is the fact that you have to design your thing so that those parts fit it. Of course the shapes of the holes in the laser-cut top plate can be adjusted very easily, but the really crucial dimensions that I don't have much control over are the thickness of the two plates.
There are generally three ways I can make this work: only use plastic caps, and put tact switches under them, like the Pokitto does, only use plastic caps, and put metal domes under them, like the 2DS does, or go full retro and use both the plastic caps and the rubber domes.
There is a number of advantages from doing it this way: the device is still easy to buy from widely available parts, there is no additional cost of making custom molds, the caps are profiled and nice to the touch, and, last but not least, it's probably much cheaper, especially if I get to re-use the rubber domes as well. As with everything, there are disadvantages as well: with time those parts may become harder to get, as new consoles replace the old ones on the market, I might be unable to get the sizes right, it may be necessary to move the buttons around to accommodate the domes, and perhaps even cut those domes (since I use 3 buttons, not 4), and finally, the markings on the buttons will be wrong (I use O, X, Z for the button names, most consoles use A, B, X, Y or some weird symbols).
I happen to have a replacement d-pad and buttons for a Nintendo DS Lite console, so let's see how that fits. They are made so that the part that presses on the dome is flush with the bottom of the top-plate, so I need a switch or dome that is exactly 2.5mm high — the thickness of the middle layer. Looking in my drawer, I found those 3x4x2.5 buttons that I have used in the #D1 Mini UI Shield previously. They are exactly 2.5mm high, and rather small, which makes them perfect for this. I quickly assembled a mock-up to see how they feel:
Funny how the cut-out in my existing plate almost perfectly matches this. Maybe I was influenced byt my NDS when designing it? In any case, the buttons fit and work well, though they are still very clicky.
Problem is, even with just 2mm top plate, the d-pad barely sticks out of it:
Ideally, I would want both plates to be from the same 2.5mm sheet, so this may be a problem? To be honest I'm not entirely sure, because despite being almost flat with the plate, it feels good. I guess more testing will be necessary.
So far so good, let's see how it works with the rubber domes! Unfortunately, I didn't have a spare rubber dome for NDSL, so I had to disassemble my console to get one.
Unfortunately, the rubber dome is exactly 2mm high, which leaves 0.5mm for the d-pad to rattle and makes it sink into the front plate too much. Also, the travel is much larger with the dome than it was with the switches, which makes it feel even worse. This won't work.
I will need a d-pad that is taller, and a rubber dome that is 2.5mm high. The latter might actually be easy, as I had a random rubber dome (left over from the ODROID GO) lying around, and it turns out to be around 2.5-3mm tall. A quick search reveals it's from the Game Boy Color. Fine, how does the d-pad of the Game Boy Color look like? Hmm, looks rather big, not sure how that will fit.
I think I will leave it for now, and see if I can get 6x6 switches with low actuation force, while waiting for the new front plate and caps. If that doesn't work, I guess I will need to order one of each kind of caps for console modding, and see if any of those works. At least...
I decided to make one last attempt at the case and the button caps, and that hopefully will be final. This time the PCB stays the same, I'm only laser-cutting a new front plate. I made everything fit on a single 100x100mm sheet of 2.5mm acrylic:
The D-pad cross is a bit larger and has rounder corners, the fire buttons are round. Both have a cut in them for springiness. The middle layer is split in two, to fit in the sheet — I would love to put one more screw in there, but that would require a change of the PCB, so no.
I will go with the regular 6x6mm tact switches with 6mm high stems, however I will try to find ones that have as small actuation force as possible, to make them softer and less "clicky".
While I wait for the order to complete, I will now need to work on the website for the project, and then try to find a distributor willing to sell it.
Today the new caps arrived from Sculpteo. I have to admit I was a bit unimpressed:
To be fair, they did warn me that I have lines closer than 3mm together, and that there may be singing and other problems, and required me to confirm via e-mail that I'm ready to take the risk. However, how that caused them to lose one of the buttons is a mystery. Good thing I only need three.
Fortunately, that burned and melted thing is just the protective foil on top of the acrylic. After removing it, it looks much better (though I do have bits of the blue foil melted into the part in some places):
Unfortunately, I miscalculated the hole sizes — I made them a little bit smaller than the diameter of the switch, but not enough, and the fit is too loose — they can slide. That makes it also hard to decide if the cutout patter I used gives it enough springiness — which was really the main reason for this experiment.
After some closer examination, I'm afraid there may be one more reason for the caps sliding. Unlike the standard tacts switches, those low-profile switches don't seem to have the plastic part conical — it's the same diameter all along the height. Back to the drawing board, I guess.
I finally had some time to assemble a second unit of the version 6 prototype, this time with the 6x6x6mm switches, and the "springy" caps that have a cut through the hole. It works surprisingly well:
I still need to resolve a few issues: the buttons are too high, making the caps stick too high from the case, the fire buttons rotate and get stuck, and generally look bad, and the D-pad has some sharp corners which are a bit inconvenient.
So I have another set of caps on order from Sculpteo (that was an experiment, but it turns to be very expensive):
Those have less lee-way around the edges and smaller holes for the shorter switches. I'm also testing a different way of making those springy cuts in them — we will see how that works. Hopefully being lower and having less leeway will prevent rotation of the caps.
I also started working on a final version of the laser-cut design, with all the parts on one 100x100x2.5mm sheet of acrylic, for easy cutting. The middle layer of the case had to be split in half for that. Here I used round fire buttons, so the rotation shouldn't be a problem.
The prototype has arrived today, but I only had time to do a quick test during my lunch break. I will assemble it properly later. Note that the protective foil is not removed from the acrylic parts, so they look non-transparent.
It's a bolt nut, which can be soldered into a hole on a PCB. The one on the photo is particularly interesting, because it's exactly 2.5mm high — same as the middle layer of my laser-cut acrylic case.
If I used those in places where I now use screws, there are several advantages. First of all, I use bolts, which are not self-tapping, can be screwed in and out practically infinite number of times, and don't put additional sideways stress on the top layer of the acrylic. Second, if I moved the holes a bit, and maybe added a few more around the buttons, I could get rid of the middle layer entirely — just have empty space there. That would halve the cost of the case.
While @Elecrow is taking their time with the order (still in production after 10 days), all the buttons arrived for testing. I really like the idea of laser-cut button caps, but if that doesn't work, I want to have some other options, so testing continues. The buttons look like this:
From the left: the original 6x6x6 button I used in PewPew, the silicon switch I used in µGame, those horrible 4x4 switches that dig into your fingers, low-profile 6x6x5.5 switch, and ALPS SKRAAME010.
In the back you can see one of the cases I experimented with, with two layers, bottom 2.5mm and top 1mm.
Some immediate conclusions: the metal one will need keycaps one way or the other. The two low-profile buttons might work without (especially the ALPS, that has silicone cap), but seem a bit narrow. The ALPS button is minimally higher than then 2.5mm required to fit under the top layer.
I will need to wait for the prototype to be able to say anything more.
I was actually so excited about the idea with laser-cut button caps, that I scrapped the design for version 5 that I had lying around, waiting for the new buttons to arrive to make sure I have the right footprints, and made a version 6, going back to the standard tact switch buttons, with an SMD piezo:
I also moved the holes a tiny bit away from the edges, to make the acrylic a bit stronger, and added a hole in between the d-pad buttons, so that I can experiment with placing a plastic bead in there, so that the d-pad cross can tilt on it. We will see how that works.
The top plate of the case now has cutouts for the button caps and the caps themselves:
I also included a second version of those caps, with a cut across the hole to increase springiness, in the middle plate design. We will see which one works better. I will probably need to tweak the hole sizes a little bit anyways.
There is also rubberized sticker paper that I can put on top of the caps, to cover the holes and make the surface better for the grip. I will be experimenting with that later on — I'm still toying with the idea of having a sticker in between the layers, then the cap covers could come from that too. Seems like you can get custom 10x10cm die-cut stickers easily.