Pi in a Dreamcast VMU Build - WIP
-
@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.
-
@obsidianspider yeah I got the same with that code, I was just hoping you might get lucky as you have a slightly different screen
The big chunk of code has some logic, -1 is for sending a command to the screen, -2 is for a delay, and -3 is the end of message. I need to find some time to compare that string with the commands that are in the 2 drivers that kinda work, and see if I can get the flex one working. I think my boards will be with me early next week, so once I have one soldered up I will be in need of a working driver!
-
@moosepr I believe in you.
-
After spending another few hours trying to get rid of the garbage pixels, I'm going to try ordering screens from a different seller, also located in China. At $3.50/each, I've spent well more than that in the amount of time I've been farting around with parameters and drivers. The first screens will be getting added to the parts bin. In the mean time I can use one to mock up component placement.
I also ordered some piezos from digi-key. Those will be here much quicker as they're from a US seller.
I have some power switches, so that won't be an issue, but I do still need to sort out the battery situation. It looks like a 500mAh one from Adafruit will work, but they are currently out of the Powerboost 500C that I want for another build, so I'll be waiting until that's in stock because Adafruit has a pretty hefty minimum shipping charge and I want to group things into as few orders as possible.
-
Today the postal carrier dropped off a small package from China. Inside were three little screens, with a minor difference on the back. These said "v2.1".
β¦and they WORK!
No garbage pixels. Plus, these came with plastic screen protector film on them. The first screens did not. Oh well, money wasted on those unless I can figure out another driver.
If you're an instagram kind of person, here's a short video of it working.
Next up I'll be trying to remove one of the new working screens from the board and wire that up.
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.