Close

Prototype 3: Screens, Check

A project log for The Outlander Cyberdeck

A handheld fantasy console built around CM4 form-factor SoMs, featuring multiple radios and a physical keyboard.

janusprotocoljanusprotocol 10/03/2025 at 10:270 Comments

I got fed up trying to write a driver for random DSI LCD screens, as there is some sort of undocumented black magic in their construction. Instead, I looked for existing solutions, and I found some in the form of Waveshare screens. I bought the 4.3 in and 5 in versions, and I really like the 5 inch. It's just big enough to be highly versatile while still not so big as to affect the overall size of the device. I was able to just plug the damned thing into the CM4 IO board, download the RPi OS with the Waveshare drivers precompiled, and everything booted up with zero issues. 

The topology of the 5" screen does come with some redesign considerations. First, the entire screen module is 8 mm thick. I'm shooting for a device no thicker than 25 mm, meaning that I'm looking at 2-4 mm more space for the screen and the remainder for the body of the device Second, the screen suggests designing a "sit in place" cyberdeck reminiscent of a tiny laptop. The benefit of this is a larger keyboard (good for my larger hands) with the downside being a more complex hinged design.

There's a lot of dead space in the back of the Waveshare screen meant to bolt a RPi to it. The current plan I'm working up is to create a subboard that attaches to the screen which will hold a card containing the CM4 and the SSD. This should allow some flexibility in upgrading in the future, as this approach will allow me to design cheap 2-sided boards to interface with various CM models and the Outlander infrastructure. The breakout list is surprisingly short: USB, DSI, HDMI, I2C, a couple SPI and GPIO, 5V power, and a few misc. functional pins. The subboard itself will have a three port USB hub chip attached, thus even if there's only one USB port into the CM the system will be able to handle the interface with the SIM7600G, the RP2354, and the external data and power USB-C port. The radio modules (Si4735 and SIM7600G) may also fit on this subboard, which would make the most sense since when active the flipped up screen is the best option for antenna mounting.

As for the casing, I'm planning on printing it in polycarbonate. While I haven't settled on a color for the case, I know I will be printing the keyboard keys in transparent PC with letters embossed in black PC CF. As I plan on including some NeoPixels onto the keyboard PCB, this should serve as great backlighting as well as some RGB flair.

The last step before I move on all of this is getting the power subsystem finished. My initial design is hella expensive to manufacture, so I need to enlarge my vias and do some rearrangement of components to make the order acceptable in price. Once completed, I'll be able to start putting everything together into a functional prototype.

Discussions