Pi in a Dreamcast VMU Build - WIP
-
@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.
-
I follow your build from some time now, and started to buy all pieces a few days ago. I hope the screens I bought are the new version !
-
@Arvester Unfortunately with these cheap boards there are tons of variants and it's almost impossible to know which one you're going to get. Good luck!
-
@obsidianspider Wonderful! I've got V1.1 LCD and also have the garbage pixels. Need to find a way to fix/conceal as I have 5pcs of them...
-
@satri360 since the 1.44" screen doesn't fill the entire opening I was going to make a bezel either out of black electrical tape or thin plastic so you don't see the white part. I figured if the v2.1 screens didn't fix the issue I would just make the bezel slightly larger to cover those rows. It's a bit hacky, but I figure it's not much different than how on older CRT televisions there was often a region of the picture tube that you didn't see due to the case, etc.
-
So, do you have a reference about what battery could fit ?
For now, I have the VMU and the Pi Zero, I'm waiting for the screens to arrive (probably next week). -
@Arvester said in Pi in a Dreamcast VMU Build - WIP:
So, do you have a reference about what battery could fit ?
I haven't gotten that far yet. I have an idea of what may fit, but I need to fit things into my test case and measure.
-
Have you seen that ?
https://www.adafruit.com/product/910
It would fit vertically, but needs power boost to achieve 5V. And then it would be 160x240px, much more than the 128x128 we found anywhere else.
-
@Arvester It would not be a perfect fit. The 1.44" screen barely fits as it is, and that screen also has a huge logic board that would take up a ton of room we don't have. It's also $40 for one screen. I paid $3 for one of the 1.44" screens.
-
@Arvester yeah it actually says 6-15VDC so that might need a spot more boosting, and the extra board for the composite decoder chip too might eat up some space.
you can actually run the cheepo 1.44" screens straight to the pi with just a resistor for the backlight if your soldering is up to it (excuse the cat hair in the photo!!)
anything to save a few mm :P
-
I have finally received my screens, unfortunately there's only one v1.1, the other one is something I never ordered (I ordered the two same) , there's a HUGE chip on the pcb and there is soldering points at the two ends, taking much more place. I can't use this. I didn't noticed at first glance, and I opened the wrong one first, 3$ lost ^^
Oh, and there's no problem with cat hair, I'm invaded too ^^
-
@Arvester that's a pain, nothing worse try waiting for weeks for bits and they arrive wrong π
Black rug and white cat was never a good idea π
-
USB charging port, and homemade home button.
Final mock-up (I broke the screen when I tried to take the pcb apart, I need to buy another one)
Pi logo was meant to go there !
Everything fits, room for battery is about 30x30x5mm.
Next step is solder everything, as I'm not sure about the pinout for the screen, I didn't start yet.
-
@Arvester Looks great! Which battery are you going with? I'm thinking about picking up this 500mAh one from Adafruit which is 36mm x 29mm x 4.75mm once they get more Pi Zero Ws in stock (I want to make the most of their high shipping minimum).
-
I'll probably take this one too, those I was looking for on eBay are too thick.
Also, I would not recommand to put the home button in the corner as I chose, it prevents the VMU to close properly. I had to modify it, the cap is now glued to the top part of the shell, and I cut some bits of the shell's lower part so I can slide it inside the cap. I think there is more room on the sides since the pi is in the middle.
And could you please give me the pinout you used to connect the screen to the pi ? I have 8 pins, labelled LED, SCK, SDA, AO, RESET, CS, GND and VCC. The @moosepr 's signature's guide uses different pinout, and I have to admit that I understand absolutely NOTHING in electronics (so I'm proud to have reach this far without help ^^'). Thanks !
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.