PewPew M4

A PewPew with a display.

Similar projects worth following

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?

  • Prototype 6 on Order

    de∫hipu4 days ago 0 comments

    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.

  • Laser-cutting Button Caps

    de∫hipu5 days ago 0 comments

    As mentioned earlier, I either need to find a way to have a thicker front plate on the case, or a better way to attach the thin front plate, that won't make it break at the screw holes. Last time I experimented a bit with gluing the front plate, but that doesn't look good. I could try another approach: replace the acrylic plate with a transparent sticker. But before I go there, there are also several ways I can use a thicker plate.

    I already have several different kinds of button switches on order — ones that are more clicky that the current ones, but also have their business end sticking higher, while having their base still fit in the 2.5mm space I have under the front plate. This is actually the biggest problem, as most tact switches out there have their base 3.5mm high. But even if those new switches work fine, there are still some problems with this approach: the surface area of the place where you press your finger is not very large, and those special switches will probably be difficult to source — that will hurt the reproducibility of the project.

    Another approach is to use standard tact switches, but have button caps on top of them, that will make them both higher and wider. They could also cover the hole that would need to be cut in the top plate for their 3.5mm high bases. So I also have two kinds of such caps on order, and we will see how well those work.

    The last possibility is the most interesting one: those button caps are nothing more than pieces of plastic with a hole in them for sticking on top of those switches. The hole is slightly conical, and the plastic a bit springy, so once you push them in there, they stay. What if we laser-cut out button caps from the same material as the case? We have a large hole for the display, we could put some additional shapes in there. And we could make them in the shapes we actually need — a cross for the d-pad, and some rounded rectangles for the fire buttons. The only problem is that they would have this hole where the switch goes, but that might actually not be that bad (adding extra texture for grip), and if it is, I could put some rubberized stickers on top, maybe? Also, the laser-cut holes are naturally a little bit conical (because of the laser's colimation).

    Since I don't have an easy access to a laser-cutter, I decided to make a quick test by manually drilling a hole of the right size in a piece of acrylic, and sticking it on a tact switch. The closest size of the drill I have is 4mm, which turned out to be ever so slightly too small, so I used a reamer tool to make the hole a bit larger (and conical).

    The first observation: since acrylic is not as malleable and elastic as ABS, the switch didn't stick in the hole. I could probably improve it by having a small cut in there, to make the hole more springy. But instead I just put a drop of acrylic glue on the top of the hole, and it sticks. There is enough wiggle room to make it work properly, and I might add a bead in the center of the d-pad cross to make it work like a real d-pad.

    The hole on top doesn't feel unpleasant to touch, and I could probably add some more holes around it for a more consistent texture. I think this is an interesting direction, and I might give it a try.

  • Screws Again

    de∫hipu09/04/2019 at 19:46 0 comments

    The screws have arrived, and they are good. The 4mm long ones are just the right size to go into the middle layer, and the 5mm ones are perfect for holding both layers. Of course now I am in the process of rethinking that front layer anyways, but if I keep using screws, I know where to get them.

    From the left, the original screw I used, the same kind with its tip cut off to make it not stick out of the case, the new 5mm screws, and the new 4mm screw.

  • Playing with Glue

    de∫hipu09/02/2019 at 16:50 7 comments

    Since I still have a couple of the laser-cut parts left from prototype 3, I decided to make a simple experiment to see how bad they would look like if I simply glued them together with instant glue. Here are two attempts:

    The first is using gelled glue, and applying only a little bit of it on the middle layer, then pressing the two layers together. The second is using liquid glue, covering the whole middle layer with it generously, and then pressing the layers together.

    I think the first one is completely unacceptable. The second one looks better (the glue traces that are visible are actually not from the glue in between the layers, but my fingerprints from handling the part with dirty fingers). A huge problem with the second one, however, is the excess glue that accumulated in the corners.

    Unless there is a special way of doing this on industrial scale, for example with some special machine, I don't think this is a viable direction.

  • Workshop Damage

    de∫hipu09/01/2019 at 22:45 2 comments

    Over the weekend we were running some workshops using the #PewPew Standalone, and I brought the version 4 prototype along to show it to people. I carried it both in my pockets and in a box full of tools, and then it went through a lot of hands, including a couple of kids. This is a great sample of the kind of handling I expect from this device, so it was a nice wear-and-tear test. Unfortunately, the results are not very good.

    The 1mm thick acrylic cover is certainly a weak point. The two top corners broke away, and the two bottom ones are already cracked and ready to break as well. Also, the bar on top of the lanyard hole broke off.

    I could move the holes further down and maybe a bit towards the center, to have more material there, but I think the whole idea of holding down a 1mm acrylic sheet with self-tapping screws like this is flawed. The top bar is not a problem — I can remove it completely from the top layer. But I think I need to come up with a better way of holding the two layers together (and then have the screws only hold the middle layer, which is 2.5mm and shows no signs of cracking).

    Glue is an obvious option, of course, but I'm afraid it could work badly with the fact that the top plate is transparent, resulting in a surface with visible bubbles and/or clouding, which wouldn't be too nice to look at. A particularly interesting option would be to use an acrylic with pre-applied adhesive tape on it — also because then the tape could give me an additional 0.1mm of thickness that I need for the USB port.

    Another option would be to forget the laser-cutting, and instead go for injection-molded case. I could then have the whole thing in one piece, with the exact dimensions I need, with proper transparency, and probably much cheaper in bulk as well. Also, rounded edges. Also, I could probably even incorporate the battery holder in the case itself, which would get rid of a tricky assembly step. The problem is that it would be quite expensive in small quantities, as the most expensive part is the mold itself.

    Yet another option would be to use thicker top layer, and simply find buttons that would work with it better. I might go on another button-buying spree and see if I find something that would have a body that fits in that 2.5mm space, but has the button itself sticking more than the 2mm of the top layer. 

  • Prototype Version 4

    de∫hipu08/30/2019 at 23:33 3 comments

    This time the assembly took me longer than usual, for two reasons.

    First of all, I couldn't get the QFN chip soldered properly, somehow getting shorts or bad connections, despite having nice long pads and using a hot air gun and lots of flux. Took me some hours.

    Second, I somehow managed to delete the two holes next to the display in the inner layer of acrylic, which are needed to fit the pins of the battery holder, when it's soldered on that side. I'm using new batch of battery holders, that have actual pins, and not wires, and they have the pins reversed compared to the previous batch, so they have to be soldered on that side.

    In any case, it all fits together and holds nicely, and this time the buttons seem to be high enough. The cut-out for the USB plug doesn't look too bad, but the hanger part is quite fragile in the 1mm outer acrylic layer — I might modify the design to remove it from that layer, and only have it in the PCB and inner acrylic.

    I'm still considering using a different piezo speaker — an SMD part, HYG7525 (aka XNQG 7525). It would go somewhere near the edge of the PCB, and it would have its own cout-out in the inner acrylic layer. It's exactly 2.5mm high, and the hole is on the side, so no cut-out in the outer layer would be necessary. It would make the assembly a little bit easier.

    After the weekend, I'm going to publish the design files for version 4, because I think it's good enough to use. I'm going to build a few of those, and we will see how they work in the longer run — there might still be version 5.

  • Parts

    de∫hipu08/28/2019 at 21:26 0 comments

    Not much actual work done, but some packages started to arrive. One of them is a new batch of the displays. They seem to be slightly different from the ones I had before:

    Read more »

  • Eye Candy

    de∫hipu08/26/2019 at 23:13 0 comments

    I'm still waiting for the order from @Elecrow  — it's taking longer than normal, probably because of the non-standard 1mm acrylic. In the mean time, I decided to work a little bit on the assembly instructions for the manual. I could make a rendering in OpenSCAD or FreeCAD, or even in Blender, but in my experience rendering are never as clean as pictures — they have too many irrelevant details. So I decided to just draw it all in Inkscape, using Fritzing's SVG exports and the cool features Inkscape has for the isometric view. Here's the result:

    The colors are artificial, to make the drawing easier to parse — in reality all the parts are either white, black or transparent. The wires for the piezo speaker are also too long — but that was the only way to show how they have to pass through the hole in the middle part of the case.

  • Version 4 Ordered

    de∫hipu08/18/2019 at 22:50 0 comments

    I just made the final fixes for the next version: moved the "z" button closer to the "o" and "x" buttons, made contacts and cutout for the piezo speaker (and a resistor for it), added a footprint for a voltage regulator. I also increased the sizes for the button holes so they should be easier to fit now, and moved the display minimally further from the edge, to make sure the flex tape doesn't stick out. Oh, and made a cutout for the USB port in the top plate, as it's slightly thicker than 2.5mm, and I don't feel like filling it down to size. Also added labels for tx/rx pins on the back, and made the screw holes in the inner plate smaller, so they will also be caught by the screws — to compensate for the thinner top plater.

    I specified the top plate to be 1mm thick, we will see if they follow the instructions.

    Everything else remains pretty much as it was.

  • Pew Proper

    de∫hipu08/18/2019 at 10:30 0 comments

    After yesterday night experiments, today I sat down and made better graphics for the "pixels", and also centered the display and made sure the edges have no garbage, etc. I'm quite happy with the result:

    As a bonus, you can use pewpew's game chooser to also choose the µGame games.

    Next on the agenda is to finish the graphical game chooser.

View all 34 project logs

Enjoy this project?



bobricius wrote 6 days ago point

Hi, If I good see, you not have external flash .... now many internal memory you have for MSD?

  Are you sure? yes | no

de∫hipu wrote 6 days ago point

I'm using the default linker file, which arbitrarily splits the 512kB flash in half, so the file system has  ~244kB for the files.

  Are you sure? yes | no

bobricius wrote 6 days ago point

can you use d51 with 1Mb flash? and can have 750kb space?

  Are you sure? yes | no

de∫hipu wrote 6 days ago point

I don't see why not, but it would require some work making a new linker file — and first finding out how to do that.

  Are you sure? yes | no

Fuji Pebri wrote 08/23/2019 at 08:39 point

I like the board with lasercut case, btw how much the cost for make it?

  Are you sure? yes | no

de∫hipu wrote 08/23/2019 at 08:51 point

See the previous comment by @Asher Gomez 

  Are you sure? yes | no

Fuji Pebri wrote 08/23/2019 at 08:56 point

ah see, sorry i didn't notice it. thank you.

  Are you sure? yes | no

Asher Gomez wrote 08/15/2019 at 21:45 point

How much did it cost to build this?

  Are you sure? yes | no

de∫hipu wrote 08/16/2019 at 09:43 point

Let me see. 5 PCBs and laser-cut parts from Elecrow were $16.50, the ATSAMD51G19AMU from Mouser are $3.94 each. The displays are $1.59 on Aliexpress. The buttons, power switch, USB socket, passives and battery holder are maybe $2 together. So it's around $54 for five units. I expect it will get cheaper in bulk, but then the assembly cost will also be added. I hope the sale price will be $25-30 per unit. That's all without the shipping.

  Are you sure? yes | no

Asher Gomez wrote 08/07/2019 at 19:20 point

I like where you're going with the PewPew series!

  Are you sure? yes | no

de∫hipu wrote 08/07/2019 at 19:27 point

Thank you, that is great for me to hear! To be honest I have no idea where I am going with it myself, it's all pretty much just following what seems to make the most sense at any given moment. Every time I try to make any plans (like with the µGame Turbo), it inevitably doesn't work. I'm curious myself where I will end up with this.

  Are you sure? yes | no

Asher Gomez wrote 08/07/2019 at 20:45 point

I'm curious too. I really like the silkscreen on the PCB it makes it a lot more pleasing to the eye, I can only imagine what it would look like with a case. A lot of other electronics look terrible without a case but your projects can certainly pull it off.

  Are you sure? yes | no

de∫hipu wrote 08/07/2019 at 21:07 point

Thank you. I care a lot about the looks.

  Are you sure? yes | no

John Loeffler wrote 04/30/2019 at 01:52 point

I caded a few displays if you are interested

  Are you sure? yes | no

de∫hipu wrote 04/30/2019 at 06:41 point

Thanks, that may come useful if I ever use a CAD program!

  Are you sure? yes | no

Alessandro wrote 04/24/2019 at 22:13 point

I think this could make for a better gamebuino clone :D

  Are you sure? yes | no

de∫hipu wrote 04/24/2019 at 22:23 point

Gamebuino is more like #µGame, but this should be copatible with the Arduboy, at least after changing the pins. Not that I have any plans on working on that — I prefer to write the games in Python.

  Are you sure? yes | no

Daren Schwenke wrote 04/16/2019 at 20:45 point

Perhaps the number of pews could denote the size.  :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates