Monday, 21 December 2015

Pocket PiGRRL - Retropie in your pocket

Pocket PiGRRL by Huxley #710
Intended for summer holidays we purchased a Pocket PiGRRL. However we were busy preparing for racing, so the project was put on hold. I finally got around to helping my youngest build the Pocket PiGRRL for the seasonal holiday.

With Huxley #710, we printed the case in Makerbot Warm Gray MBTMP05783. Although it never looked grey to me! My eldest says things printed in it look a little military in style. Certainly the colour has a retro feel to it. I have found the Makerbot filament has more of a tendency to string than Faberdashery filament. This possibly helps with bridging. Though I find the flow, finish, colour depth and consistency of Faberdashery filament outstanding. My only frustration with Faberdashery filament is / was the lack of availability on reels. Of course, being able to purchase short lengths and the sample kit are pretty neat.

The $99 USD Pocket PiGRRL kit from Adafruit came with everything needed apart from:
   The case and buttons
   Magnets to hold the case together
   Hook up wire to link modules together

The case is available for printing from Thingiverse. There are a couple of optional files in the package and you can see from the case image we elected to print the 4 button style case. Check through the files needed first to select the case and button configuration desired from the distribution. We printed the buttons in Ninjaflex black on Huxley #710. These print out reasonably well on Huxley #710 and have a good tactile sensation when the buttons are used on the device.

During assembly, suggest alignment of the display is checked prior to putting in retaining screws, as:
  a) The display shifts a little too readily on the supplied tape strips
  b) Alignment of the display in the PCB location square is 'sensitive'

Probably the easiest way to align the display is:
  1) Place the display in the intended position and retain with blue tack
  2) Place the display assembly carefully in the top half of the case
  3) Carefully, temporarily plug the Pi into the back of the display
  4) Check all power wiring very carefully
  5) Power the unit up with the prepared SD card

Helpfully the default software distribution illuminates the screen white on boot up and then later in the system selection menu is completely white readily, allowing alignment to be verified.

In the first wire up of the switches, we left the wires long. This had a tendency to cause noise pick up in the amplifier. With the wires cut back as seen in the image, there was no significant noise pick up. That little amplifier is quite powerful and you don't want any noise on it to spoil the high quality audio ;-)

We changed the supplied white wires on the speaker, as the supplied wire gauge is very thin. Such thin wires have a tendency to break off during handling. They are great if you assemble the thing once, however we know we will be further hacking. So prepared for future tear downs, as youngest son wants to design his own case once debugging and testing is completed. We set the speaker slightly back from the front face to allow some clearance and held it place with some hot melt glue. The Bosch GluePen hot melt glue seems to adhere quite well to the PLA, with some effort it can be removed if necessary.

Hot melt glue was used to retain the switch PCB, created from the Perma Proto board. We also applied some hot melt to the top of the screws to reduce the risk from sharp edges and any tendency for the screws to come loose. The two magnets were similarly held in place using a small amount of hot-melt glue.
Pi GiRRL Assembled Internals
We have always had some under fill of top surfaces with Slic3r, however managed to tweak the advanced settings to improve the top fill. You can see this by comparing the bottom and top parts inner surface in the assembly image.

Configuration of the PiGRRLsystem was achieved by accessing the indicated image file on the Adafruit web site. The image file consists of a default configuration ready to run with some sample games. The image file is placed onto the supplied 4 G byte micro SD card, an adaptor card in the pack allows it to be used in a standard SD card slot for image writing if needed. The image runs RetroPie distribution, which supports a number of emulator packages.

As we wanted to run a Game Boy Advance (GBA) we had to dust of our old bios image gba_bios.bin and place it in the /opt/retropie/emulators/gpsp folder. We tried the /home/pi/RetroPie/BIOS however the gpsp programme indicated we did not have a ROM. It helpfully gave a checksum for reference a860e8c0b6d573d191e4ec7db1b1e4f6. Using the free Microsoft File Checksum Integrity Verifier tool fciv utility to validate our old file, we found it valid. By placing the file in the indicated gpsp folder, the GBA emulator software ran nicely. We can now run our old backed up Game Boy Advance programs.

We are still having a little trouble setting up our EDiMAX USB Dongle, this is something we had problems with previously on a Raspberry Pi. Our EDiMAX USB Dongle works a treat now. We are having fun playing our old games, well they are retro new to the kids.