It’s finally done (For now)!
I’ve been working on a Minty Pi since I heard about the Minty Pi project from Helder and Wermy. Because I missed the cutoff for the preordering system and there was no way for me to get one any time soon I decided to make my own.
As you might have guessed, yes, this isn’t my first attempt at making a small portable Retropie machine. Let’s just say, version 1 was a complete failure (but taught me things), and version 2 taught me the importance of space efficiency.
This is now version 3. It’s fully playable with anything for 4 face buttons and two shoulders. It has a 2000mah battery good for 7-8 hours of gameplay.
Here’s my parts list--
($13.99)Hiletgo 2.8 lcd screen - pain in the ass to work with but this website helped a lot.
($4.99)Adafruit PiGrrl 2.0 Gamepad - works ok for now.
($19.99)Adafruit Powerboost 1000C - probably overkill but it runs everything without a hitch
($14.99)3.7v 2000mAh Li-ion battery - works ok
($10.00)Raspberry pi Zero W - wish there was an audio out port
($2.50)10 6mm tactile switches - they work for now. Gaming past an hour kinda hurts.
($1.50)2 12mm tactile switches - nice feel for the usefulness
($1.00)SPDT slide switch - definitely helps to turn off the system
($2.97)Altoids tin - any flavor is nice
($Various)22ga copper wire 28ga rainbow wire Electrical tape Hot glue
The biggest pain in the butt was to get the screen up to enough refresh rate that I had very few issues with lag. I used this website to get the screen up and running (lots of testing) then tweaked the screen size (320x240) and the screen speed (12000000) till I could run SNES and Gameboy without many issues.
I’ve been working on a Minty Pi since I heard about the Minty Pi project from Helder and Wermy. Because I missed the cutoff for the preordering system and there was no way for me to get one any time soon I decided to make my own.
As you might have guessed, yes, this isn’t my first attempt at making a small portable Retropie machine. Let’s just say, version 1 was a complete failure (but taught me things), and version 2 taught me the importance of space efficiency.
This is now version 3. It’s fully playable with anything for 4 face buttons and two shoulders. It has a 2000mah battery good for 7-8 hours of gameplay.
Here’s my parts list--
($13.99)Hiletgo 2.8 lcd screen - pain in the ass to work with but this website helped a lot.
($4.99)Adafruit PiGrrl 2.0 Gamepad - works ok for now.
($19.99)Adafruit Powerboost 1000C - probably overkill but it runs everything without a hitch
($14.99)3.7v 2000mAh Li-ion battery - works ok
($10.00)Raspberry pi Zero W - wish there was an audio out port
($2.50)10 6mm tactile switches - they work for now. Gaming past an hour kinda hurts.
($1.50)2 12mm tactile switches - nice feel for the usefulness
($1.00)SPDT slide switch - definitely helps to turn off the system
($2.97)Altoids tin - any flavor is nice
($Various)22ga copper wire 28ga rainbow wire Electrical tape Hot glue
The biggest pain in the butt was to get the screen up to enough refresh rate that I had very few issues with lag. I used this website to get the screen up and running (lots of testing) then tweaked the screen size (320x240) and the screen speed (12000000) till I could run SNES and Gameboy without many issues.
After working hard on multiple versions of the Minty Pi with the Zero W, I set about the task of working on a Minty Pi A+. Sadly I didn't have any on hand at the time but what I did have was a Raspberry Pi 3 B+. So I worked on stripping it down and shoving everything inside. Due to the heat of the B+ (just when running) and the additional space that the board took up, I needed to move the battery to outside of the case. This allows me to keep the battery cool (Lipoly's are terrible with heat) as well as thickening up the altoids tin to hold slightly easier. The 2000mah battery only nets me roughly 2 hours of gameplay however. Additionally, occasionally the pi will shutdown due to heat restrictions if it's running a very graphically intensive game.
Additionally I really didn't like the feel of the tactile buttons so I was able to find tactile buttons that had silicon presses rather than hard plastic. These also came from Adafruit. Here's a list of my parts as well as the prices for them.
Here’s my parts list--
($13.99)Hiletgo 2.8 lcd screen - a lot easier to work with now I understand the mechanics.
($4.99)Adafruit PiGrrl 2.0 Gamepad - works ok for now. Still using it
($19.99)Adafruit Powerboost 1000C - probably overkill but it runs everything without a hitch
($14.99)3.7v 2000mAh Li-ion battery - works ok
($35.00)Raspberry pi 3 B+ - Damn this puts out a lot of heat!
($2.50)10 6mm tactile silicon switches - these feel amazing to game with and I have no problems using them for the face buttons
($1.50)4 6mmx6mm tactile switches - works ok. Shoulder buttons aren't really used as much as the face ones.
($1.00)SPDT slide switch - definitely helps to turn off the system
($2.97)Altoids tin - any flavor is nice
($Various)22ga copper wire, 28ga rainbow wire, Electrical tape, Hot glue
While working on this I started looking for a better way to run the screen as the fbtft_device driver mode that is standard with Raspbian is great for stationary and slow refresh screens, but for games it...sucks. I finally found a great driver from this website. It was a pain to understand the huge list of choices and how to dial it in for the Pi B+ and the screen I had but through trial and error I was able to complete it. These were my specs (-DILI93441=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DGPIO_TFT_BACKLIGHT=9 -DSPI_BUS_CLOCK_DIVISOR=6 -DBACKLIGHT_CONTROL=ON -DSTATISTICS=OFF -DUSE_DMA_TRANSFERS=ON -DDISPLAY_ROTATE_180_DEGREES=ON)
Reading through this you might wonder why the led is on 9 and not 18. I was able to find that I could connect 8 wires to the screen from the pi rather than 9. I don't need any info from the screen to the Pi so I could eliminate that wire. Here's that setup.
Display Raspberry Pi (Raspbian GPIO Software Pin)
VCC -------------GPIO Pin 17 (3.3v)
GND ------------GPIO Pin 20 (GND)
CS ---------------GPIO Pin 24 (8)
RST -------------GPIO Pin 22 (25)
DC ---------------GPIO Pin 18 (24)
MOSI -----------GPIO Pin 19 (10)
SCK -------------GPIO Pin 23 (11)
LED --------------GPIO Pin 21 (9)
Additionally I really didn't like the feel of the tactile buttons so I was able to find tactile buttons that had silicon presses rather than hard plastic. These also came from Adafruit. Here's a list of my parts as well as the prices for them.
Here’s my parts list--
($13.99)Hiletgo 2.8 lcd screen - a lot easier to work with now I understand the mechanics.
($4.99)Adafruit PiGrrl 2.0 Gamepad - works ok for now. Still using it
($19.99)Adafruit Powerboost 1000C - probably overkill but it runs everything without a hitch
($14.99)3.7v 2000mAh Li-ion battery - works ok
($35.00)Raspberry pi 3 B+ - Damn this puts out a lot of heat!
($2.50)10 6mm tactile silicon switches - these feel amazing to game with and I have no problems using them for the face buttons
($1.50)4 6mmx6mm tactile switches - works ok. Shoulder buttons aren't really used as much as the face ones.
($1.00)SPDT slide switch - definitely helps to turn off the system
($2.97)Altoids tin - any flavor is nice
($Various)22ga copper wire, 28ga rainbow wire, Electrical tape, Hot glue
While working on this I started looking for a better way to run the screen as the fbtft_device driver mode that is standard with Raspbian is great for stationary and slow refresh screens, but for games it...sucks. I finally found a great driver from this website. It was a pain to understand the huge list of choices and how to dial it in for the Pi B+ and the screen I had but through trial and error I was able to complete it. These were my specs (-DILI93441=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DGPIO_TFT_BACKLIGHT=9 -DSPI_BUS_CLOCK_DIVISOR=6 -DBACKLIGHT_CONTROL=ON -DSTATISTICS=OFF -DUSE_DMA_TRANSFERS=ON -DDISPLAY_ROTATE_180_DEGREES=ON)
Reading through this you might wonder why the led is on 9 and not 18. I was able to find that I could connect 8 wires to the screen from the pi rather than 9. I don't need any info from the screen to the Pi so I could eliminate that wire. Here's that setup.
Display Raspberry Pi (Raspbian GPIO Software Pin)
VCC -------------GPIO Pin 17 (3.3v)
GND ------------GPIO Pin 20 (GND)
CS ---------------GPIO Pin 24 (8)
RST -------------GPIO Pin 22 (25)
DC ---------------GPIO Pin 18 (24)
MOSI -----------GPIO Pin 19 (10)
SCK -------------GPIO Pin 23 (11)
LED --------------GPIO Pin 21 (9)
Finally after lots of work and a lot of thought, we come to the ideal Minty Pi (IMHO). After working hard on multiple versions of the Minty Pi with the Zero W and the B+, I finally came up with my ultimate Minty Pi (without any custom pieces) Given that the A+ runs at a slightly cooler temperature than the B+ and that I really enjoyed the feel of the silicon face buttons I was able to once again fit everything inside. I was also able to get some different cabling than the last couple and wire the screen up with one cable. Ideally I'd love to use a DPI cable, but I'm not that good.
The 2000mah battery only nets me roughly 3-4 hours of gameplay. Less on graphics heavy games.
Here's a list of my parts as well as the prices for them.
Here’s my parts list--
($13.99)Hiletgo 2.8 lcd screen - a lot easier to work with now I understand the mechanics.
($4.99)Adafruit PiGrrl 2.0 Gamepad - works ok for now. Still using it
($19.99)Adafruit Powerboost 1000C - probably overkill but it runs everything without a hitch
($14.99)3.7v 2000mAh Li-ion battery - works ok
($35.00)Raspberry pi 3 A+ - Just the right size!
($2.50)10 6mm tactile silicon switches - these feel amazing to game with and I have no problems using them for the face buttons
($1.50)2 6mmx6mm tactile switches - works ok. Shoulder buttons aren't really used as much as the face ones.
($1.50)2 6mmx7mm tactile switches - works well. These are the L2 and R2 and stand slightly more out so I can feel them better.
($1.00)SPDT slide switch - definitely helps to turn off the system
($2.97)Altoids tin - any flavor is nice
($Various)22ga copper wire, 28ga rainbow wire, Electrical tape, Hot glue
Since working on the B+ and using a new driver for that screen I used it again for this one. It works great!!! Great Website. These were my specs (-DILI93441=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DGPIO_TFT_BACKLIGHT=9 -DSPI_BUS_CLOCK_DIVISOR=6 -DBACKLIGHT_CONTROL=ON -DSTATISTICS=OFF -DUSE_DMA_TRANSFERS=ON -DDISPLAY_ROTATE_180_DEGREES=ON)
Here's that setup.
Display Raspberry Pi (Raspbian GPIO Software Pin)
VCC -------------GPIO Pin 17 (3.3v)
GND ------------GPIO Pin 20 (GND)
CS ---------------GPIO Pin 24 (8)
RST -------------GPIO Pin 22 (25)
DC ---------------GPIO Pin 18 (24)
MOSI -----------GPIO Pin 19 (10)
SCK -------------GPIO Pin 23 (11)
LED --------------GPIO Pin 21 (9)
The 2000mah battery only nets me roughly 3-4 hours of gameplay. Less on graphics heavy games.
Here's a list of my parts as well as the prices for them.
Here’s my parts list--
($13.99)Hiletgo 2.8 lcd screen - a lot easier to work with now I understand the mechanics.
($4.99)Adafruit PiGrrl 2.0 Gamepad - works ok for now. Still using it
($19.99)Adafruit Powerboost 1000C - probably overkill but it runs everything without a hitch
($14.99)3.7v 2000mAh Li-ion battery - works ok
($35.00)Raspberry pi 3 A+ - Just the right size!
($2.50)10 6mm tactile silicon switches - these feel amazing to game with and I have no problems using them for the face buttons
($1.50)2 6mmx6mm tactile switches - works ok. Shoulder buttons aren't really used as much as the face ones.
($1.50)2 6mmx7mm tactile switches - works well. These are the L2 and R2 and stand slightly more out so I can feel them better.
($1.00)SPDT slide switch - definitely helps to turn off the system
($2.97)Altoids tin - any flavor is nice
($Various)22ga copper wire, 28ga rainbow wire, Electrical tape, Hot glue
Since working on the B+ and using a new driver for that screen I used it again for this one. It works great!!! Great Website. These were my specs (-DILI93441=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DGPIO_TFT_BACKLIGHT=9 -DSPI_BUS_CLOCK_DIVISOR=6 -DBACKLIGHT_CONTROL=ON -DSTATISTICS=OFF -DUSE_DMA_TRANSFERS=ON -DDISPLAY_ROTATE_180_DEGREES=ON)
Here's that setup.
Display Raspberry Pi (Raspbian GPIO Software Pin)
VCC -------------GPIO Pin 17 (3.3v)
GND ------------GPIO Pin 20 (GND)
CS ---------------GPIO Pin 24 (8)
RST -------------GPIO Pin 22 (25)
DC ---------------GPIO Pin 18 (24)
MOSI -----------GPIO Pin 19 (10)
SCK -------------GPIO Pin 23 (11)
LED --------------GPIO Pin 21 (9)