Master-pi v3.0 by donaldsimonet 3d model
Warning. This content is not moderated and could be offensive.
naked
3dmdb logo
Thingiverse
Master-pi v3.0 by donaldsimonet

Master-pi v3.0 by donaldsimonet

by Thingiverse
Last crawled date: 3 years ago
MasterPi
ver. 3.0
Carefully read the description before printing this.
This is my first working prototype of MasterPi Game Pad. I put it here to share with the community and for to archive it. It suffers of multiples small issues, if you still want to print it, this game pad will need a co-architect and a lot of patience to make it work. But, as i said, it is my first working prototype.
As I said, it is my first working prototype, so I used commercial stuffs and things I already have to do it. So the bill of material is a bit messy. Even if it's home made portable game console it will need special tools and equipments to build all parts.
If you have any question, remark or idea for improvement, feel free to contact me. Function of feedback i may update this version.
This version was not designed to be easy to produce. It was just a test (proof of concept). Future versions will be designed to be easy to produce (Only one PCB card instead the actual mess). No soldering required. So, big improvement. But i'm still working on it ! Even this page is still work in progress.
This improved version will can both be printed with a regular 3D printer and injected with industrial thermal forming machine. See my twitter (https://twitter.com/donaldsimonet) to get news about it.
Thanks.
Tools needed :
3D printer (Printable size bed 30x30)
PCB making equipment.
Solder iron
Bill of materials :
(More information on each section bellow)
WaveShare 5inch display
1 arduino 32U4 (pro micro)
1 battery bank (with 26650 li-ion)
Flex HDMI ribbon cable
3 GameBoy silicon switch rubber kit
2 analog joystick (watch size)
FR4 or FR2 PCB with 1 layer
Screw (different size)
Cable, Switch, jack, stuff... :trollface:
Enclosure
I added additional version for the bottom side fot the enclosure. A flat version to avoid people to print it with support. No one like to print with support
Best print parameter is for a 0.4 mm printer head 0.15mm layer size. Cause any new layer will melt with previous. I tried to print it at 0.3, or 0.4mm and this result in very bad resistance.
I suggest you to use 100% infill or minimal 50%

Display :
This display is a bit expensive and viewing angle are very bad. But for my first test it was ok.
5inch is a good size for the need. Not too big (big screen means big enclosure and it is already too much bigger).
It is important to use a display with HDMI port. If you use composite video, quality will be very low.
You can chose a display without touch screen BUT touch screen are often much resistant than regular display. So even if you don't use the touch screen, I think it is a good idea to have one.

HID Arduino 32U4 :
It was very important to me to NOT use any pin of the GPIO port. Cause I would like to let people use it for any other purpose. So to do this, I find a micro controller who emulates USB and have analog and digital IO (input/output). First I found Teensy. But I thought that using the Arduino platform could be easy for future development. I finally found Arduino pro micro with Atmega 32U4. This MCU has usb built-in and with the HID master library I can easily emulate game pad. It's easy to configure on any retro-gaming distribution cause it no need special driver.
But the best advantage of the pro-micro arduino is the re-programmable game pad. You can change analog ramp (from linear to logarithmic for example) or remap button during the game (using one button to switch between configuration) or using a joystick as a mouse under desktop.
See here the 32U4 library : https://github.com/NicoHood/HID
I don't use any pullup or pulldown resistor. Cause I use pullup built-in the ATmega 32U4. This means every boolean value of each button is inverted.
Atmega Have no enough input pin for all buttons. So i'm using a multiplexing matrix grid to retrieve information from all buttons.
Here is the grid connexion :

Theory of operation : We are activating one column and testing all buttons (row). Passing to the next column and testing again all button. Because all input (row) is pulled up by the MCU (no pulldown built in) All value are inverted. If my input is low, then my button is pressed, if it's high my button is released.
More, to avoid any bad behavior when pressing two or more buttons at the same time (ex. move right and jump) you cannot leave a column high output when you are testing another column (remember high is the unswitched value of input row). Because it will drain current and you will have bad behaviors. So after testing column, we change them to input (high z impedance)
Ribbon HDMI cable
Not hard to find, but a bit long to come. You can NOT use standard HDMI cable inside, cause you don't have enough space. So you have to use this ribbon cable.
HDMI signal (not for this resolution) are high frequency so you can not just buy hdmi plug and solder them with regular cable.
You will need 3 elements. One right angle HDMI to 20 pin FFC cable. 1 straight connector. And one 20cm 20pin ribbon cable (FPC 0.5mm pitch).
Take care of the orientation of the plug and the FPC connector.
See picture :
Battery Bank
I found this battery bank useful. Cause it had inside Li-ion 26650 cell. This cell could be easily inserted inside the enclosure. For my further version of my game pad I'm using this kind of cell (26650) cause it could be easily removed and changed during the day.
With a regular battery bank you have all you need to charge (current regulator and battery protection) and discharge the battery (with boost voltage from 3v to 5V).
https://www.amazon.fr/gp/product/B00N5LP35I/ref=oh_aui_detailpage_o06_s00?ie=UTF8&psc=1
GameBoy silicon
You can find them here. Good seller on ebay. And fast delivery.
You need 3 kit. I used Dpad for Dpad (obvious) but used for Left and Right shoulder trigger.
In the next version of this game pad I will will not use GameBoy Classic Rubber kit but Game Boy pocket instead.
https://www.ebay.co.uk/itm/ZedLabz-conductive-silicone-rubber-pad-button-kit-Game-Boy-original-DMG-01-/371591385727?hash=item568492927f
Analog joystick
Tricky part. I found them in a Logitech gamepad. Carefully watch and match the size of the footprint before buy or tear-down from any device.
How to build it
I'm writing it right now.
Last and futur version
This is evolutions of Master-Pi. You can see first version on top and the one i'm actually working on at the bottom.

Tags