So anyway, here is something that I have been playing with, using a Dreamcast VMU as the case! It is great for GBC games due to the low res, and 'basic' games like Sonic (that require very few buttons). The screen is super smooth and no tearing (due to the low res so a lot less pixels to push) but it does make menus quite hard to use! I am REALLY happy with how the build went, I'm over the moon and I currently have it on my keychain for my keys because it has a lanyard hole at the bottom!
The Finished VMU-boy
The feature list stands as:
- Pi Zero/W
- 128x128 SPI LCD
- Main PCB with direct Pi soldering
- 850mAh battery (4 hrs or more gameplay!). If I could find a slightly wider battery it might even make it to 900/1000mAh!)
- Safe shutdown!
- Micro USB charging which doubles as USB OTG port (plug in a USB OTG adapter and it will power the USB device and connect it to the Pi)
- Power switch and status LEDs
- Battery voltage monitoring + charging status
- Built in speaker amp
- 'Basic' OSD (need to work on this more, whipped it up very quickly!)
- GPIO buttons built into the PCB
- All inputs available under the 'cap' at the top, including the Pi SD card so it's really easy to work on
- Internal serial port available as a JST header (made it very easy to see my Pi was working after I had removed the HDMI port!)
- Battery connectors (1mm JST) or solder pads. Extra pads allow putting 2x batteries in parrallel (e.g. if you have 2x small batts that will fit)
Other improvements are to add magnets into the cap so that it doesn't come off easily, and maybe some tiny holes in the cap to let the sound out (as it's noticeably louder with the cap removed).
Insides and making of
Here's what the insides look like, you can see the general layout of components and how it all fits. The inside of the case needed trimming and was all done by hand with a sharp knife:
In order to get it to fit with that huge battery, I had to slim the Pi down! By removing the HDMI, USB ports, camera connector, the big inductor, and the big capacitors (and replacing them with slimmer versions) I managed to acheive this! WITHOUT removing any of this, you could get a 450mAh in there instead which should give 2hrs of play..
Here the Pi is about to be mounted to the back of the PCB, you can also see the L and R button positions on the bottom right/left, I haven't populated them as they do need to be moved slightly first:
This is the top side of the PCB which has pretty much everything except the audio amp (that's on the other side parallel to the Pi)
Other finished pics
Back (I cut that screw short and glued it in to keep the original look! The cover is glued in and slimmed down internally) :
Retropie menu is a bit unreadable! (new screen will fix this)
Remove the cap to get to the USB and power switches. Also the SD card is accessible from here
The LEDs from LEFT to RIGHT (there are 4x) show:
- PON = Power on (connected to 3.3v), shows Pi is on
- PGOOD = Power Good (from the PI), shows that safe shutdown is active and Pi "should be on" (when this LED goes off, and then the power switch is off, the power gets cut to the pi)
- PG = Power Good (from USB), shows that there is enough power to start battery charging (shows the USB cable is plugged in)
- CHRG = Charging, shows when battery is being charged
When the switch is moved OFF, the menu pops up asking you what to do. For example pressing "SLEEP" will trigger a safe shutdown, and "MODE" will actually do a hard power off (this hard power off works even if the Pi freezes, you won't see the menu but OFF + MODE = FORCE POWER OFF (Emergency Stop)
UPDATE: Better screen!
Here is a sample picture of a higher quality screen sorry my picture isn't very good but it's the best I have! The image was upside down but i've rotated it 180 in photoshop just to make it look a little more realistic but in this picture you can see just how much clearer and readable to text is! Need to do some work to actually get it connected to the PCB (jumperwires were used for the pi)
UPDATE: Back buttons and Battery Monitor!
There was space at the top where the battery is to add some tactile buttons. These are actually rubberised ones so they feel nice! I plan to have a menu option to switch the back buttons and front buttons between X/Y and START/SELECT, because the 4x front buttons would be better suited to X/Y rather than START/SELECT sometimes:
I've added the bits of the SAIO battery monitor script with some tweaks. Further tweaks such as 'disabling battery icon UNTIL it is low' would make sense with such a small screen!
Will you be selling the PCB?
Yep, and the good news it will be really cheap I still need to make some revisions as some things weren't ideal! Probably looking at early 2018 if people wanted it. Like I said earlier, you don't have to slim the pi if 450mAh is fine with you, so that will make it much easier to build for sure!
Just to clarify this would be for the PCB only (with all the bits already soldered on) + screen + speaker + cables, I'm looking in to ways to ship batteries.. but you'll 100% need the Pi and the VMU case itself!
To get an email when I have it ready, sign up here: https://goo.gl/forms/e97uUvPOfUxPWdz82 it will be approx early/mid 2018 I'm anticipating!
Feedback/feature requests appreciated! I don't think physically I can fit anything else in, but my MAIN focus is to get a higher res screen in there and I have found one! The current screen as moosepr knows is that when mounted at 90degrees the colours are a bit weird, it's designed for a vertical viewing angle and it's actually quite unpleasant to use as is because one eye sees a different colour image to the other! The NEW LCD I keep speaking of will be mounted the correct way so that will solve this problem!
I'd just like to say thanks to moosepr for his excelent SPI LCD guide which helped a lot! My LCD actually is different to his and when using the default stuff would show 2x rows of pixels on the right/bottom side being garbled, I've had to modify fbtft to fix that (i'll publish/push changes when i've reviewed them). Also thanks to wermy, i've been showing him my build pictures and seems inspired him to get working on the VMU too! It's encouraged me to post my build here and hopefully inspire others!