Adafruit

All posts tagged Adafruit

The first thing I had to do when designing my Pip-Boy was choose an appropriately-sized screen that I could connect to my Raspberry Pi.

I chose this screen from the marvelous Adafruit – it was about the right size, and it takes a composite-video input:

This screen and its driver-board were probably originally intended for use in an in-car monitor, for a reversing-camera or maybe for a portable DVD-player – it requires 6-12v of power to run, but I reckoned I ought to be able to supply that from some batteries.

The screen’s resolution is quite low (320×240) but that’s just fine for my purposes.

While waiting for that to arrive from far-off New York, I then searched for a rectangular lens to lay over the screen, to give the effect of a curved monitor.

After failing trying to find a cheap separate lens with the right shape and aspect-ratio, I ended up doing what a previous builder had done, and bought likely-looking cheap second-hand slide-viewer from Ebay, which I dismantled.

Photax Solar slide-viewer

Photax Solar slide-viewer

This slide-viewer contains two chunky plastic lenses, and the largest of the lenses was just the right size and shape for what I needed:

A scale image of the in-game Pip-Boy 3000 - plus models of a Raspberry Pi, Adafruit 3.5" monitor, and the lens I took from a slideviewer

A scale image of the in-game Pip-Boy 3000 – plus models of a Raspberry Pi, Adafruit 3.5″ monitor, and the lens I’d taken from a slideviewer

I was pleased to find that I could slot the screen into the slide-viewer where its smaller interior lens originally sat – making a delightful little CRT-looking monitor!

In order to get the RasPi to output to the full screen (i.e. no black borders) I edited its config.txt file with the following lines uncommented/changed:

framebuffer_width=640
framebuffer_height=480
disable_overscan=1
overscan_left=36
overscan_right=18
overscan_top=0
overscan_bottom=0
sdtv_mode=2

That combination of overscan/disabled options might seem a bit weird, but it allowed me to fill the whole of the TFT.

You’ll see that I’ve set it to use twice the screen’s resolution – I found that PyGame (which I’m using to draw the UI graphics) didn’t work right when the system-resolution was lower than 640×480.

The console-text and Xwindows are still just about readable at that resolution, if you squint carefully!

Coming up… how I modified this 6-12v screen to work on the RasPi’s 5v power-supply!