
3d Files are here: https://github.com/Markeno76/AMPi4
Some may ask why make a Wedge case with Mechanical Keyboard with Full Size Ports for the Pi4b when there is the Pi400. I do like the Pi400 it certainly has it’s place. The AMPi4 was made for a bit different use case. I wanted a complete case with a mechanical keyboard, robust full size ports, a bit of weight to it, as well as SSD/NVME for storage and the OS.
If you look at my other posts here, you will see I like working with many of the 80s era computers. I never had an Amiga, and they are quite expensive these days. I also don’t want to dedicate more space for the storage of Retro Computers. I found after I started to get more and more Retro Computers around, that I am less and less likely to go to the effort of connecting one up and using it.
First I looked at the Pi400, which I thought may be a good option for Amiga emulation, and possibly more of the retro computers. The keyboard didn’t feel right, it was to small and too light so it easily to slides around the desk. The power adapter and other connectors are easy to accidentally pull out playing games etc. I also don’t like SD Cards for the OS as I have lost a few over the years in Pis. In many cases a Pi SD Card can quickly and easily be recreated or restore from a backup copy. For this setup, it takes a bit of work to get the OS just right, also it is to be a Living OS. I want to use it for Retro Computer Emulation, but I also want to use it for Linux with the GUI as a more modern option for basic usage and possibly some development work for various Microcontrollers and such.
I did also try Amiga Forever on my Windows pc, but it just doesn’t feel right on a wide screen LCD and Tower pc.
There are a number of Keyboard Wedge cases people have created for emulation systems. There are some for the Mister, which also I believe had a Pi option. I had seen some cases that take the Pi400 and wrap it into a larger case. I just did not find a case that was exactly what I was looking for. They were generally missing something I wanted in the system. They generally were a bit complex in design, with many parts and well they did have some style to them.
I expected I could come up with something that had all the features I wanted and be simple to print and build. It is a rather basic design. Mostly made to be easy to print, but certainly I am not that creative or very experienced in 3d modeling.
With that I looked at what I want in this setup:
1. Amiga Wedge inspired case. The initial case looked more like the Ti99/4a in profile until I narrowed the electronics compartment at the back.
2. Mechanical Keyboard
3. Full size HDMI Ports
4. Ethernet Port
5. USB Ports accessible, and more of them.
6. SATA SSD or NVME Drive
7. Internal Power Supply. This adds to it being simple to connect and adds weight to the system.
8. DB9 Ports for Joysticks (This doesn’t work quite right, I may yet get that sorted.. For now I have let that alone.)
Below is a view of the Second Revision of the case design that I printed. Some photos may be of the First Revision. There is a newer revision of the case with mostly small modification to adjust for some “mostly workable” but inconvenient items. I do plan to print that newest version of the case at some point. This part of the case is 300mm wide, so not every printer can print it. My S8 printer is 310×310, it seems that it is not possible to get the full 310mm though I got about 307mm with a correction to the alignment. That alignment issue had caused a mess with the First Revision print on the left side as it was trying to push the bed further than it actually could be moved.

Looking at the back panel, the far left hole is for the momentary Safe Shutdown Button that I put standard on just about any Pi project. It is the same type of setup as my Bartop Arcade machine. Next is the IEC AC Power port. After that is the Fuse. There is No Power Switch, I kind of would like one, but it was getting crowded. Then the 2 full size HDMI ports with the 30mm Fan beside them. RCA ports for the Composite Video and Audio output. Then a place for a standard Keystone jack, which I installed a RJ45 jack into for ethernet. Then a single USB Port. The far right side there just the place for the DB9 Joystick ports and the USB3 Hub ports and mounting posts for the screws. The Pi4 standoff screw points there in the middle of the case and holes for mounting the Meanwell 5Volt power supply.
To design the case I had to work out the parts I was going to use inside. I needed to make it big enough and get placement for all the parts. I created placeholders by measuring various components and making simple placeholders for them. Yes it would have been better to build the case in something other than Tinkercad. I would rather use something else, but that is all I had enough experience with at the time. The Keyboard Tray was started in Designspark Mechanical. I found I just wasn’t familiar enough with it, and it was slowing me down making it likely I would give up before finishing the project. I then went over to Tinkercad to design most of the case.
I already had two of the type of keyboard I chose, so I knew the how it was built. I was thinking initially to only design the electronics enclosure and attach the whole keyboard to the top of it. I decided to recreate the keyboard case “tray” instead. The keyboard tray/case is tapered a bit, making it problematic, the “feet” and “cord” openings were not optimal either.
Below is the original tray and my test print of the recreated tray. The Keyboard tray is two parts as it is well over 300mm wide maximum my largest printer can print. You can see I am at that point using the black keyboard instead of the white one. They are physically identical, just different plastic and paint colors.

My first print print of the keyboard tray showed me the post positions were off and unusable. I adjusted for that and ended up with something closer. Even at being closer, the far left two posts are too far left by a little bit. Two others there are more slightly off. The smaller right side part was just about perfect for all posts, it was a second print as well. The posts were positioned based off of measurements, which wasn’t the easiest to get perfect. I think I did measure starting at the right side, so any variance was likely to get worse going further to the left side of the keyboard. I have since revised the position of those posts.
There is an issue in that the holes are to small and the posts tend to sheer off at the base. I carefully drilled the screw holes a bit larger after printing. I would revise the hole side on the 3d model, except it is in Tinkercad, and that’s really not practical in Tinkercad. That is why I wanted to use something else to make these models. If I had worked out using DesignSpark Mechanical or some other 3d design package it would have been an option to resize thoses holes after the fact. There is also variation in 3d printers, so you may find hole sizes are a bit different anyway, but likely not going to be large enough When it is together it is very solid. Not all of the posts are screw posts, some are just supports that don’t need holes at all.

The keyboard is mounted with brass inserts. These inserts are actually in the Top not bottom, but the screws come up from the bottom. They are very unlikely to ever pull out as they are pulled in tighter by the screws from the other side. Those are the four in the top of the keyboard that rest on those posts/pillars. The inserts in the keyboard tray here are actually salvaged out of old broken laptop cases. The 4 here in the upper area where the posts are did take longer screws I believe. I have a selection of Metric m2.5 screws of different length. There are also 4 more along the bottom edge of the keyboard as can be seen as holes without the inserts in them in the first keyboard photo. Those four lower ones are short screws.

Above is the original black keyboard when it was being installed.

Above you can see the various internal components test fit into the chassis. The USB Cable was modified already. The first revision the DB9 ports didn’t fit, the fan had an integrated grill that printed awfully and blocked to much of the fan.

Above most of the internal wiring is completed. The DB9 Joysticks ports are not yet wired to the GPIO and the Fan isn’t wired in yet. It is quite tight in there. The wires on the GPIO are going to the two LEDs on the top cover. Power and Activity lights.

Above is the second test print of the corner of the case as the DB9 ports didn’t fit and the USB Hub wasn’t properly positioned. The little black cable is the cable I made up for connecting the USB Hub. Due to the limited space those cables are made up with usb connectors without the shell covering them. The bottom cable there is the short keyboard usb cable, it plugs into the bottom of the keyboard where that square opening is in the keyboard tray.

The 5V case fan is powered that little buck converter there between the power supply and HDMI port. The fan was louder than I liked, so I used the buck converter to lower the voltage a bit to make it quieter. You can see the 2.5″ SSD Drive is in the case. It also still has the 2gb Pi4 in it in this picture.


The DB9 Joystick ports were very problematic. The first option for using them didn’t work at all, well it made my Power and Activity LEDs not work. The other options I tired required rewiring them to other GPIO pins. They were unreliable. It would have incorrect button presses as the timing must have been off for some reason. I was initially only going with Atari 2600 or the Commodore 64 3 button hybrid, but when those didn’t work I went with another option that was to have supported the Sega Genesis 6 Button controllers. I am not sure if the issues can be sorted. I have went to building and using a USB DaemonBite Retro Controller adapter setup for the Sega Genesis 6 button controllers. It even seemed to have faulty timing issues with the Genesis Controllers. I found a fix for that which seems to be working properly now. The DeamonBite adapter can be seen in the picture below. It is the more or less triangle shaped blue box to the right side with two DB9 ports on it. It is actually a simple build with an Arduino board controlling it. The case was available on Thingiverse. I want to go back to get those DB9 ports working off the GPIO. I have thought of putting an internally connected DeamonBite controller and wiring it to the case’s ports. That would loose me my USB2 port in the back though.
The system runs Raspbian and Retropie. I have it setup to boot into Retropie, but I can exit that and go into the GUI and use Raspbian. The main intention of this system is to run Retro Computer games. I worked to set it up primarily for Commodore 64, Atari 8bit, Ti 99/4a and Amiga emulation.
It was setup with at 2.5″ SSD Drive, and I ended up switching to an NVME drive later on. The keyboard was the cheapest version of the Redragon K552 87 key keyboard which was the Black version with Red Switches. I don’t like Red Switches. Once I was confident that the project was going to work out, I purchased the more expensive White version with the Brown Switches that I prefer.

The newest Revision 3 main case has various changes. Mostly small alignment changes. The Pi is moved to the left because the 3.5mm jack couldn’t fit without the outer plastic cover on it. I may not have moved it enough, I am not sure as the space is very limited and I have not reprinted it yet. Some other small adjustments to the back ports. I also changed the “vents” below the keyboard in the main frame as with the current shape they didn’t print very well.
I later found out that the key switches on the keyboard are removable. They aren’t quite “standard”, the contact pins on the bottom are smaller than standard switches. They probably won’t make contact in another keyboard. Standard switches won’t fit into the keyboard without filing the contacts down to be narrower like the ones that come in it. It is possible to do, I replaced several of the switches in my son’s keyboard as W A S D etc were worn and not working well. I will see if the Key Switches that Adafruit sells hold up better than the factory switches did.
STL 3D Model Files are here:
https://github.com/Markeno76/AMPi4
Main Parts List:
- MEAN WELL 323282 RS-25-5 AC to DC Power Supply, Single Output, 5V, 5 Amp, 25W, 1.5″ : AmazonSmile: MEAN WELL 323282 RS-25-5 AC to DC Power Supply, Single Output, 5V, 5 Amp, 25W, 1.5″ : Electronics
- Redragon K552 Mechanical Gaming Keyboard RGB LED Rainbow Backlit Wired Keyboard: https://smile.amazon.com/gp/product/B016MAK38U/
- USB Hub 3.0 – Rekidm 4 Port Aluminum Desk USB Hub 3.0 Clamp Design: AmazonSmile: USB Hub 3.0 – Rekidm 4 Port Aluminum Desk USB Hub 3.0 Clamp Design for Desktop, Computer, PC, Table Edge with Durable Adjustable Clip, Space-Saving Mountable USB Hub Fast Speed Transfer : Electronics
- HDMI Coupler 4K*2K HDMI Extender Female to Female HDMI Adapter Connector Coupler with Panel Mount Holes: AmazonSmile: HDMI Coupler 4K*2K HDMI Extender Female to Female HDMI Adapter Connector Coupler with Panel Mount Holes HDMI Jioner Kit (5 Packs) : Electronics
- Micro HDMI to HDMI Cable, Ultra Thin HDMI Cable 35cm/1.15Ft, Super Flexible Slim: AmazonSmile: SMALLRIG Micro HDMI to HDMI Cable, Ultra Thin HDMI Cable 35cm/1.15Ft, Super Flexible Slim High Speed 4K 60Hz HDR HDMI 2.0, Compatible with GoPro Hero 7/6 / 5, for Sony A6600 / A6400-3042 : Electronics
- IEC 320 C14 Panel Mount Plug Adapter Power Connector Socket: AmazonSmile: 10 Pack AC 250V 10A IEC 320 C14 Panel Mount Plug Adapter Power Connector Socket Black Screw Mount 3 Pins Inlet Power Plug Socket by MXR : Electronics
- Fuse Holder 250 VAC 10 A 125 VAC 15A: BOJACK 10 Values 30 Pcs 5X20mm Black Screw Cap Fuse Holder 250 VAC 10 A 125 VAC 15 A with 10A/15A Fast Blow Glass Fuse kit – – AmazonSmile
- 30mm 5V Fan (The optional buck converter was used to lower the 5V to make the fan quieter)
- 16MM Momentary Push Button
- Pi4b
- USB 3 to NVME (or USB 3 to SATA adapter depending on the drive used)
- NVME (or 2.5″ SATA SSD Drive)
- 2 DB9 Male Adapters
- Dupont 2.54mm cables or connectors and wire.
- 2x3mm LEDs (and 220ohm Resistor)
- RCA Jacks
- RJ45 Keystone Network jack
- USB A Single Panel Mount Port
- USB A Male solder connectors: Amazon.com: Maxmoral 10PCS USB 2.0 Connector A Type Male 4-Pin Plug with Black Plastic Cover DIY Connector : Electronics
- Provided the prints are successful, the 4 printed parts take most of a 1kg spool of 3d printer filament.
There were various other supplies, M3 Brass Inserts for the top cover, some M2.5 Brass Inserts for the keyboard mounting. Various M3 and M2.5 screws of different lengths.
One thought on “AMPi4 – Custom Amiga Inspired Pi4 Case with Mechanical Keyboard”