For ages, I’ve been meaning to take one of these 4.3 inch TFT screens and embed a Raspberry Pi inside it. I realise, of course, that the resolution of the screen isn’t anything much (certainly not “high resolution” as it states on the description!) at 480px x 272px (ish) but it’s very cute the way it just “pops up” when you press the button and there seemed to be enough space in the bottom for a Pi. So, I went ahead and bought one. It arrived the next day and I went down to The Den (my shed) to take it apart. On opening my tool draw, I found a foldable 4.3″ screen… that’s right… I’d bought something I already owned… Never mind, eh!
I took the bottom off it and took a look to see what the possibilities were. To my surprise, the screen driver board was tiny (more on that later) and there was plenty of room. Not for a full Pi 3, maybe, with it’s pre-soldered 40-pin header, but a Zero W would fit in very comfortably. I took a rotary tool to some of the base plate supports (but not the screw ‘tubes’):
The driver board
The problem with these mini-screens is that they are primarily designed to be used as reversing-camera screens inside cars. That means that they are expecting a 12V power supply. They come with a cable that contains two composite inputs and a barrel jack for a 12V supply. This cable is pre-soldered onto the driver board. I knew, based on the work of other people (including SK Pang, way back when) that the screen is actually powered from 5V. So, the 12V supply must be converted into 5V by components on the controller board. Knowing that I’d need to solder onto the board, I un-stuck it from the base and inspected it.
Apart from inspecting it, I de-soldered the cable from the pads top-right and then re-soldered a ground wire and a wire to be used for composite video. I then realised that, when I’d turned the board over, I’d subconsciously noticed something. You see the solder holes bottom right? They were labelled SDA, SCL, VCC33 and GND on the underside. That means that somewhere on the board was something to do with I2C. I wondered if, perhaps, the screen was powered from 3V3, rather than 5V. I could have gone to the bother of powering it up with 12V and finding a 5V point, but I thought, what the heck, I might as well see what happened.
To start with, when powered with 3V3 at that solder point, nothing happened. In fact, nothing happened when I then powered the screen with 12V. Odd, I thought. I wondered whether it needed a composite video input signal to activate the screen. So, I needed to check how the Zero’s composite video was output. I found this guide on Adafruit which told me the answer.
Sure enough, when I manually held the composite wire and ground to the Zero in the correct place and powered the 3V3 point, the screen flickered to life. So, now I knew what I needed to do. I needed to connect the composite and ground from the Zero to the composite and ground wire already soldered and power the screen on the 3V3 line.
Power & LED
So, I needed to power both the Pi and the screen. I took the 3V3 for the screen off the 3V3 rail of the Pi and then hacked into a USB cable I had lying around for the 5V power for the Pi which would then go to a USB battery pack.
Oh, I decided to add an LED, because blinkies! There was, bizarrely, a speaker hole in the case… but no speaker. So, I decided to drill it out and add an LED with inline resistor. I passed the wires through the hole and then soldered it to GPIO 21 and GND, conveniently located at the end of the GPIO rows.
Here’s what it looked like when I finished hot-gluing everything down and rotary-tooling some holes in the base for the two USB ports.
I grabbed a microUSB shim so that I could connect up a wireless mini keyboard to my mini workstation.
And, finally, here’s a video of the workstation in use. The keyboard is actually wireless, but I hadn’t charged it, hence the cable!