Page 2 of 2

Re: Retro Lite CM4: Raspberry Pi CM4 in a Switch Lite

Posted: Tue Dec 28, 2021 2:25 pm
by mackemint
It really is a Beautiful build!
What kind of headphone output is it, not a CM102 by any chance? :)

Re: Retro Lite CM4: Raspberry Pi CM4 in a Switch Lite

Posted: Tue Jan 18, 2022 7:15 pm
by StonedEdge
mackemint wrote:
Tue Dec 28, 2021 2:25 pm
It really is a Beautiful build!
What kind of headphone output is it, not a CM102 by any chance? :)
I'm using the WM8960 from Wolfson. It's pretty simple to setup since the drivers are already written, you just need to get the hardware correct. The datasheet is relatively simply to understand though. It has separate drivers for the headphones and speakers, which are powered on 3.3v and 5v, respectively.

Re: Retro Lite CM4: Raspberry Pi CM4 in a Switch Lite

Posted: Tue Jan 18, 2022 8:45 pm
by StonedEdge
Retro Lite CM4 is now completed!

Image

First of all, I'd like to thank Dmcke5 for allowing me to work on this project with him - as can be seen with his other projects (he made the Concept UFO PC handheld), he is very talented at both CAD design, programming and a quality machinist. Without him, I would not have been able to complete this project. We had a lot of setbacks, but together we pushed through and got it done. Thanks for all your hard work! I am grateful for the opportunity to work with you. This was indeed a collaboration rather than a single individual effort.

Unbeknownst to me, the complexity of the project or what was actually required to build a CM4 carrier board, I accepted his request. I was now excited to finally build my own retro gaming handheld. Although I absolutely love building Wii portables, they are not suitable for emulating some older 32-bit systems, like PSP, Nintendo DS or Dreamcast. Naturally, I wanted to have a system that could play those games with the ability to upscale where possible, and also have the console double as a PC. Little did I know, this project was going to take us both on a pretty arduous journey (close to 1.5 years, to be exact...) and quite a lot of frustration ensued after that when things wouldn't work as I had planned. For example, I reversed the HDMI pinout and had to re-order the PCB again :mrgreen:

With numerous PCB revisions, late night soldering sessions, screwups and mistakes on my behalf, more code modifications/changes/updates from Dmcke5, ordering from a fab house for the first time, more money spent than I want to remember and the numerous Discord calls on a fortnightly basis, the Retro Lite CM4 prototypes are finished. I'm pretty confident to say that at least, although there a few more final features to be integrated into the software, but the build as it is now is fully playable and fully functional at the moment. I guess the development really never "ends" but I want to draw the line somewhere.

Final specifications of the Retro Lite CM4, are:
- Machined aluminum 6061 housing (green/purple), custom machined and anodized by Dmcke5
- Raspberry Pi 4 SoC: Broadcom BCM2711 quad-core Cortex-A72 @ 1.5GHz (ARM CPU overclockable to 2.1GHz, GPU overclockable to 850MHz)
- 2GB of LPDDR4-3200 SDRAM
- 5.0GHz IEEE 802.11b/g/n/ac wireless, Bluetooth 5.0
- Custom AIO 4-layer PCB, with CM4 mezzanines, 5v boost rated at 2.1A continuous current, 3.3v buck, USB2422 hub, BQ24292i, MAX17055 fuel gauge, ATtiny84, WM8960 amp, TFP401 encoder, SD card slot, USB-C hardware and mini HDMI type A
- 2x controller PCBs with FFC cables
- 800 x 480 (5:3 aspect ratio) IPS display
- HDMI video output (HDMI0 - internal)
- 1080p 60fps HDMI video output (HDMI1 - external) via the mini HDMI port
- Tempered glass screen protector
- Fuel gauge for accurate battery SoC monitoring - MAX17055, custom battery indicator shown in steps of 10 icons, plus %SoC value, via dispmanx APIs on a HDMI panel
- Charging indicator
- HDMI switching scripts, to shutdown and reboot to external HDMI with an overclock applied
- ATMEGA32u4 internal USB 2.0 controller
- Brightness and volume HUD adjustment, in steps of 10 icons. Brightness is adjusted by holding select + up/down on the DPAD
- Custom menu, activated by pushing select + R3. The menu consists of 4 sections (1. Battery Information, 2. Controller Calibration, 3. - Onscreen Keyboard, 4. Settings Menu) - courtesy of Dmcke5's hard work and ideas :D
- Settings menu allows you to change low battery cut off voltage, battery capacity, icon colors, choose an external/internal screen and set the temperature at which the fan comes on
- Active cooling + heatsink, PWM controlled (thanks to kite for suggesting the replacement fan)
- USB-C PD charging capabilities up to 15v (0.5C charge rate at 2A) with an original Nintendo Switch charger
- Stereo Audio Output via i2s WM8960 Wolfson audio amplifier
- Headphone jack, with automatic switching
- 4000mAh custom lipo design, providing 4 hours of gameplay
- Dual stacked shoulder buttons (L, R, LZ, RZ)
- 2x switch analog sticks, range programmable in software
- Resin casted ABXY, DPAD, start+select, shoulder buttons with acetal spring hinge + silicone membranes
- Safe software/hardware shutdown to prevent corruption to the SD card data (low voltage shutdown included)
- USB 2.0 2-port downstream hub
- External dock passthrough PCB with 4 port USB-hub (unfinished)

Retro Lite CM4: Pictures Compilation
SpoilerShow
Image
Image
Image
Image
Image
Image
Image
Image
Special thanks to these people for being awesome and helping us out along the way:

- YveltalGriffin and Aurelio, for suggesting numerous revisions to the PCB design, always providing technical explanations for my failures on a detailed level and helping with the fuel gauge code/answering all of my questions
- JuckettD, for assisting with HDMI scripts - check out his work here: https://github.com/juckettd/RaspberryPiCM4Handheld7Inch
- Skent, for offering to assemble my failed prototypes way back in June of 2021
- Helder, for letting me use his supplier for custom batteries
- kite, for lending an ear and advice along the way
- othermod, for assisting with quiet boot setup
- RetroGameRepairShop, for helping with the sample tempered glass lenses
- Makerfabs, for assembling the final PCB prototypes

But StonedEdge, this is great and all, but I want to buy one! Why aren't you making kits for people? Hurry up already, you're taking forever and I want a Retro Lite, give me!

To answer the question I receive daily - that is, whether or not their will be kits available for people to buy. The true answer is, we don't have a specific timeline right now, but we want to make it happen. Reasons for not making kits right now, include:

1. CM4 supply is at an all time low in 2022, absolute rock bottom. Demand is soaring, higher than ever before, and the global chip shortage is making it hard to even make the carrier boards for this handheld. The Raspberry Pi Foundation has indicated the earliest that CM4 availability will improve is Q4 2022. There is nothing that can be done here on our end.

2. Legal reasons. Our case design is very similar to the Switch Lite, and we do not want to be sued into oblivion. The case needs a proper re-design, including removing all Nintendo IP and making slight changes to not "poke the bear" and get the Nintendo lawyers/bean counters onto us.

3. Manufacturability. The case is currently made out of aluminum, which is extremely expensive in low volumes. Minimum guarantees would be required to actually make the venture financially viable for the both of us. A likely alterative will be injection molding, which we are looking into. Expect updates in the near future!

Re: Retro Lite CM4: Raspberry Pi CM4 in a Switch Lite

Posted: Thu Jan 20, 2022 3:41 am
by ChrisBreaksStuff
Damn! Very impressive! :)

Re: Retro Lite CM4: Raspberry Pi CM4 in a Switch Lite

Posted: Wed Apr 06, 2022 11:58 am
by mrdude42
Very cool build! Did you machine the enclosure yourself? Or get it made by a 3rd party?