Pico Held XL -Aluminum Raspberry Pi Retro Handheld


Pico Held XL -Aluminum Raspberry Pi Retro Handheld

This is the second device in my series of gaming handhelds. It features a retro display and an all-aluminum CNC-machined housing and a custom mainboard.

After the completion of my previous handheld (the Pico Held, a gaming handheld based on the RP2040) I decided to notch up computing power and so i opted for a Raspberry Pi Zero.

And here it is: The Pico Held XL

And to add the extra portion of retro: the display is from the legendary HTC Athena - right from the 2000s.

I hope you enjoy!

I tried to build a 2-layer PCB, and I finally succeeded - although a 4-layer PCB probably would have worked better. You can see the layout here (updated version):

And that's the mainboard fully assembled (all components are on one side):

Display

The whole project was centered around the display of the HTC Athena which I had lying around for some time now but was unable to throw away. A blast from the past. I thought it would be perfect for a retro gaming machine, because:

* the diagonal size of 5" is (in my opinion) somewhat the sweetspot for a 4:3 VGA display

* the physical resolution is 480 by 640 pixels

* it's a TN display with an vertical design but the polarizer is orientated horizontally, so no weird color shifts when in landscape mode

* the vertical design with the IC mounted on the side of the display made it possible to archive very small bezels on top and below the display.

As I mentioned before: I started out with the display lying around. When I first started the project, I really underestimated the variety of different voltages these old display need. These are: VGL (-8.0 V), VGH (16.0 V), AVDD (+8.0V), VCOM (3.0V), DVDD (3.3V). You need to tightly stick to those values or otherwise the image quality will be impaired. Worse still, those voltages need to be applied in a strict order and timing or the LCD could be damaged. Fortunately, TI had an older switching regulator with a reference design close to the specs I needed. And of course you still need yet another supply voltage to power the backlight...

As you can see that the LCD power circuitry occupies a lot of the space on the PCB.

I designed the housing to be CNC machined with a wall thickness of 1mm. JLCPCB did a great job producing it (not affiliated).

Fortunately, the Raspberry Pi Zero needs an input voltage of 5 volts and there are some inexpensive ICs that can both boost a LiPo's voltage to 5 V as well as mange the charging of the battery. So that came in handy.

The PMIC is powered on by pressing a button. A transistor then isolates the button from the PMIC so that the button can be used as a regular input while the handheld is powered on - saving the need for a dedicated power button.

LCD interface

The LCD is driven via a 16-bit DPI interface - which means that a lot of traces had to be routed. Worst of all, the connector has a 0.3 mm pitch, which was not only a nightmare to hand solder, but also quite difficult to route (keep in mind the display is driven at approx. 30 MHz). There were several moments where I almost started from scratch, but I had challenged myself to get the routing done with a two layer board... Don't believe me? See the pictures... :)

In the end I was able to successfully route all traces and when testing with an ESP32 I got a stable signal. No signs of signal degradation at specified clock speed (*phew*).

I/O

The handheld essentially features the SNES button layout: A, B, X, Y, L, R, Start, Select and a D-pad. There is also an analog input (PSP 1000).

Since I used up almost all GPIOs with driving the display. I opted for an ESP32-S3 as "coprocessor" (yeah, a little bit of an overkill).

The ESP32 captures all user inputs and also manages applying the LCD voltages, brightness levels and governs the power subsystem.

There is a hole under the ESP32 for the bottom part of a speaker - yeah, I got pretty space constrained as I wanted to keep the height at 12mm.

There is a USB port and an HDMI output (though I don't really see the point of having that on a handheld).

Sound is output via an integrated Bluetooth speaker. However, I wish I had gone for an I2S solution. Because the output lags quite a bit (at least when using Retro Pi). Also, the amplifier's filter are definitely in need of improvement as the sound output is more on the noisy side.

Previous articleNext article

POPULAR CATEGORY

corporate

10789

tech

11464

entertainment

13267

research

6069

misc

14111

wellness

10767

athletics

14124