Pi in a Dreamcast VMU Build - WIP
-
I realized that when I was playing with things, I put the following in the
/boot/config.txt
to get the 128x128 working at the right resolution. I'm not sure if this is better or worse for the garbage pixel problem (probably not affecting it)hdmi_force_hotplug=1 hdmi_cvt=128 128 60 1 0 0 0 hdmi_group=2 hdmi_mode=1 hdmi_mode=87
I basically just took what I did for the Waveshare screen and adjusted it. Games are playing in the correct aspect ratio (I actually have a black bar at the top and bottom when playing a game), but EmulationStation DGAF and just takes up the whole screen.
To try to help with identification and troubleshooting, I pried one of the screens away from the board.
-
Since this screen stuff appears to be a driver/software issue, I'm thinking about removing the screen from the board, making sure it works as well as it did when on the board, then fitting it to a VMU so I can try fitting a Zero in with it. The software stuff can be tweaked really any time. What say you, hive mind?
-
@obsidianspider you actually have less pins than my screen!! the pcb is really simple on these, you could just grind all the excess off and end up with something pretty tiny
-
@moosepr So you're suggesting I shouldn't remove it from the board? It's almost as if there aren't any instructions on how to do this kind of stuff. :-P
-
@obsidianspider well you could solder direct to the ribbon. Its not drasticly difficult, you could quite easily trace out the circuit, the 4 data pins will be going directly to the screen pins, there will be a 10k resistor for the backlight and probably a 3v regulator going to vcc (although it will be happy with 3.3v from the pi)
im struggling to find anyone selling a naked 1.44" screen with just 12 pins. the ones i have are 13 pins ones, although the 13th pin is not connected on the 'module schematic' listed here
https://www.elecrow.com/144-128x-128-tft-lcd-with-spi-interface-p-855.html -
@moosepr I'm only into these things $7 total, including shipping for both, so if I cook one or have to put them in the parts bin, it won't kill me, but I'm not certain how I could be sure ordering another screen wouldn't have the same garbage pixels issue.
-
@obsidianspider well on that link, there is a datasheet for the screen (well the screen driver). section 14 details all the commands the screen can take. If i can get the fbflex driver to work, it would be possible to adjust the various commands that get sent to the screen when it starts, and hopefully remove the rainbowsnow
-
@moosepr I have a feeling we're both going to learn a lot more about hardware interaction than we imagined due to these little screens. I just updated my SFC and Genesis Pis this morning and I see there's been a kernel update. I'm doing the Raphnet fix right now. Let's see if that causes more issues with the cartridge TFT like last time. Hopefully if it does, it won't take me another 30 hours to figure out.
-
After the Raphnet patch on the SFC Pi 3 kernel, the chip once again identifies incorrectly as BCM2835 (I'm pretty sure a Pi 3 is a 2837, and a Pi Zero is BCM2835), but my patch is still looking for the BCM2835 identifier, so I'm good.
I think I'm going to hold off a bit on desoldering from the board just because my charging circuits haven't arrived yet, so I don't know how much room I'll have for a battery or piezo anyway without that, and in the mean time, maybe this software stuff will work out, or maybe I'll end up having to find another screen solution.
-
@obsidianspider you could try the screens I ordered
http://s.aliexpress.com/FBveQFJr
Might be worth paying a few dollars for slightly faster postage, the same seller provided the screens I ordered on Jan 2nd and have yet to see!
I could send you one of mine if you wanted, but I'm in the UK, so it wouldn't be any faster -
My charging boards arrived today. They were just loosely thrown in the padded envelope, but they seem ok.
I guess this means I need to get back to sorting out the screen stuffβ¦
-
@obsidianspider needs more pcb :P
-
@moosepr Aww man, all I have is this perf board. I hope it'll work.
-
@obsidianspider you should be able to fit the pi, the screen, and the 10 charger boards on there :P
-
@moosepr Now you're playing with Power!
-
@obsidianspider as long as it doesnt end up as playing with fire, then its all good!
-
@moosepr I'm looking more into the ILI9163 screen driver issue, and it looks like the Arduino community has seen these before. I'm wading though a long thread, but I'm not sure how helpful it ill be.
-
@obsidianspider just for the hell of it, try this as your fbtft.conf
options fbtft_device name=flexfb width=128 height=160 speed=40000000 init=-1,0x01,-2,150,-1,0x11,-2,500,-1,0xB1,0x01,0x2C,0x2D,-1,0xB2,0x01,0x2C,0x2D,-1,0xB3,0x01,0x2C,0x2D,0x01,0x2C,0x2D,-1,0xB4,0x07,-1,0xC0,0xA2,0x02,0x84,-1,0xC1,0xC5,-1,0xC2,0x0A,0x00,-1,0xC3,0x8A,0x2A,-1,0xC4,0x8A,0xEE,-1,0xC5,0x0E,-1,0x20,-1,0x36,0xC0,-1,0x3A,0x05,-1,0xE0,0x0f,0x1a,0x0f,0x18,0x2f,0x28,0x20,0x22,0x1f,0x1b,0x23,0x37,0x00,0x07,0x02,0x10,-1,0xE1,0x0f,0x1b,0x0f,0x17,0x33,0x2c,0x29,0x2e,0x30,0x30,0x39,0x3f,0x00,0x07,0x03,0x10,-1,0x29,-2,100,-1,0x13,-2,10,-3
its basically what notro mentioned in his message https://github.com/notro/fbtft/wiki/flexfb#sainsmart-18-st7735r
-
@moosepr said in Pi in a Dreamcast VMU Build - WIP:
options fbtft_device name=flexfb width=128 height=160 speed=40000000 init=-1,0x01,-2,150,-1,0x11,-2,500,-1,0xB1,0x01,0x2C,0x2D,-1,0xB2,0x01,0x2C,0x2D,-1,0xB3,0x01,0x2C,0x2D,0x01,0x2C,0x2D,-1,0xB4,0x07,-1,0xC0,0xA2,0x02,0x84,-1,0xC1,0xC5,-1,0xC2,0x0A,0x00,-1,0xC3,0x8A,0x2A,-1,0xC4,0x8A,0xEE,-1,0xC5,0x0E,-1,0x20,-1,0x36,0xC0,-1,0x3A,0x05,-1,0xE0,0x0f,0x1a,0x0f,0x18,0x2f,0x28,0x20,0x22,0x1f,0x1b,0x23,0x37,0x00,0x07,0x02,0x10,-1,0xE1,0x0f,0x1b,0x0f,0x17,0x33,0x2c,0x29,0x2e,0x30,0x30,0x39,0x3f,0x00,0x07,0x03,0x10,-1,0x29,-2,100,-1,0x13,-2,10,-3
No dice. I just get a white screen with that.
I went back to
options fbtft_device name=fb_ili9163 gpios=reset:25,dc:24 speed=40000000 bgr=1 rotate=0 custom=1 fps=60
and while I have the junk pixels on the bottom and right, at least I have output to the display.Just to be thorough I went into
/boot/config.txt
and commented out the bits that I put in to change the resolution to 128x128 and that didn't affect the garbage pixels. It did get games to take up the entire screen (aside from the right and bottom) again, so at least I know I can tweak that once I get the pixel addressing figured out.In looking at various screens online, it's impossible to know which one you're going to get. All of the different websites and sellers use the same photo and descriptions.
The snazzy $40 Adafruit OLED is also out of stock, so that's not really an option, even if I wanted to spend $40 on a tiny screen, which I don't.
-
I'm going to tinker with the driver more, but this is what things look like with the proper aspect ratio inside the VMU case. I am probably going to make a bezel out of black electrical tape to hide the white case from the screen, and while I'm doing it, covering up those bad pixels won't kill me. It'd be a hack, crappy solution, but it'd work.
Next up I'm going to remove a screen from the PCB and see if I can get that working connected to my test Pi.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.