Today I tried to connect a 3.5″ screen I got from Ebay. The one I bought before did eventually work after a lot of trial and error (Chinese manufacturer; no support to speak of, so I had to find and install the drivers on my own. and even then the refresh rate was abysmal, not suitable at all for gaming.), so I reverted to another type of 3.5″ screen I know a lot of other people are using. It is also a Chinese cheap-ass TFT, marketed as a rear-view car monitor. You can see it depicted above. They can be found easily and cheaply through Ebay or Amazon. I paid 12 euros.
So in order for the screen to work with a raspberry, I needed to hack it, but that ended up being pretty straightforward. I started by removing all the unnecessary hardware, until I was left with only the actual screen and the driver board.
The driver PCB is too wide for how I want to use it. Luckily I could easily chop it up on both sides with my dremel. The right part was just blank PCB, the left part holds 3 buttons which I won’t use, so I cut them off too. I connected it afterwards, just to see whether it still worked, and luckily it did. It seems I didn’t cut off something important!
Since this screen is supposed to be used in a car, it works off 12V. It needs to be modified so it can run off the 5V from the Raspberry. There are 4 wires coming into the board: yellow for composite video in, white for audio (which I won’t use), black for ground and red for the 12V from the car battery.
There’s an EXTREMELY useful thread on the Raspberri forums about how to go about hacking these Chinese TFTs:
It turns out there’s a ton of different versions of the driver board, even though the actual screen and packaging looks identical. I was unlucky and didn’t find a step-by-step for my exact type of driver board, but after some reading I just took the plunge and applied what I read in various posts to my board.
So here’s what I did, just in case someone would find it useful and got the exact same driver board. Note that I don’t fully understand what I did, I just made some educated guesses based on the above forum thread and it ended up working. 🙂
Although there are lots of board revisions, most – if not all – of them have a regulator chip. Mine came with a XL1509-5.0E1, which was easy to identify because this number is screenprinted on the IC. It should be a 8-pin chip so that will narrow the search. Mine was located as shown here:
Looking up the datasheet with Google, I found it is a ‘2A 150KHz 40V Buck DC to DC Converter’. The ‘5.0E1′ in the part name should mean there’s 5V on pin 2, which I also highlighted on the picture above. So I took my voltmeter and effectively measured 5.01V. So far so good!
Next I desoldered the pins and removed the chip. It is kind of messy and fidgety, but you won’t be needing the chip anymore, so there’s not much that can go wrong. After it was off, I soldered a wire to pin 2, so I can feed it 5V again, but now originating from the Raspberry. I also soldered a wire to the ground line of the board, and connected both to the corresponding GPIO pins of the Raspberry (pins 4 and 6 respectively).
For the video signal, I soldered a yellow wire between the composite OUT pad on the back of the raspberry and the original composite IN from the TFT driver board.
Now for the moment of truth, will the screen work right off the 5V battery?
Hooray! One step closer to making my handheld!
Now there’s one more issue to tackle. I haven’t yet optimized the Raspberry config.txt file for this small screen, so the text is not very clear atm. But I’ve seen there are multiple config settings posted in the aforementioned forum thread too, so I doubt it will be a huge problem. And in-game this isn’t really an issue.