probonopd / MiniDexed

Dexed FM synthesizer similar to 8x DX7 (TX816/TX802) running on a bare metal Raspberry Pi (without a Linux kernel or operating system)
https://github.com/probonopd/MiniDexed/wiki
1.13k stars 81 forks source link

Help Needed: ST7789 Display Not Working with Pi Zero 2 and PCM5102A DAC Wiring Suggestions 😅. #698

Closed EphraimElgrabli closed 3 months ago

EphraimElgrabli commented 3 months ago

Hi there! First off, I want to say that I love this project—great work!

I’m trying to get everything set up using the following components:

I2S PCM5102A DAC: AliExpress Link ST7789 Display: AliExpress Link Raspberry Pi Zero 2 Here’s the pin mapping I’ve used for the display:

ST7789 Display:

GND: Pin 6 (Ground) VDC: Pin 1 (3.3V Power Supply) SCL: Pin 23 (GPIO 11, SPI0 SCLK) SDA: Pin 19 (GPIO 10, SPI0 MOSI) RES: Pin 22 (GPIO 25) DC: Pin 24 (GPIO 8, SPI0 CE0) BLK: Pin 35 (GPIO 19) I’ve configured the ini file for the display like this:

ini: ''' SPIBus=0 ST7789Enabled=1 ST7789Data=19 ST7789Select=1 ST7789Reset=22 ST7789Backlight=35 ST7789Width=240 ST7789Height=240 ST7789Rotation=0 ST7789SmallFont=1

LCDColumns=15 LCDRows=2 '''

However, when I power on the Pi Zero 2, nothing appears on the screen. Is this normal, or could there be an issue with my pin mapping? This is my first time working on an embedded project and playing around with wiring, so I’m not entirely sure where I might have gone wrong (though I’m having a lot of fun with it!).

Additionally, could you suggest the correct wiring map for the PCM5102A DAC?

Thank you so much in advance for your help—I really appreciate it!

craigyjp commented 3 months ago

It doesn't have a chip select pin. There are two types of ST7789, with and without. Maybe it needs a cs pin, I cannot say for sure. I use ST7789 displays with a cs pin in my other projects.

I believe you can mod these displays to replace the back light pin for cs.

EphraimElgrabli commented 3 months ago

Hi @craigyjp,

Thank you so much for the quick reply! I really appreciate it.

Could you guide me on how to make this modification? Unfortunately, I’m more of a software guy and don’t have much experience with hardware. Any detailed instructions or resources you could share would be incredibly helpful.

Thanks again for your support!

craigyjp commented 3 months ago

Really if you don't have hardware experience it's a tricky job, I did it once following a website guide as I originally bought the same ones without a cs pin. You need to cut traces and link traces to different places after lifting that silver foil ribbon, not for the faint hearted.

Just wait to see if it can be used without a cs pin, maybe you need a config change. I know on teensy you can use them without a cs pin by setting the config differently, maybe it's the same here.

EphraimElgrabli commented 3 months ago

I think I’ll just buy another screen instead. Do you have any recommendations for a different one?

By the way, I’ve seen your work on YouTube, and it’s absolutely amazing—truly great job!

craigyjp commented 3 months ago

One other question, is the ST7789 supported? I know the SSD1306 is, but I had not heard about any other graphics displays, it's a while since I've kept up with the project.

Update: I've just read the wiki and ST7789 is new but in there, but poorly supported currently and needs a cs pin.

Good idea to buy a new one, I've only used those like you have and the waveshare 2.0" 240320 display, the latter has the CS pin but not sure if its resolution will be supported, so just look for a reasonable 240240 with a cs pin in a size you are comfortable with.

EphraimElgrabli commented 3 months ago

Yes, it is, at least according to the wiki. Here’s the link: MiniDexed Wiki - SPI ST7789 Displays.

craigyjp commented 3 months ago

Yeah, just read it, fairly new, I will stick with my 16*2 OLED

EphraimElgrabli commented 3 months ago

So, do you recommend getting a different screen instead? If possible, could you send me a link to one that will definitely work?

Also, is the DAC I bought suitable for this project?

craigyjp commented 3 months ago

It's up to you, I used a 1602 character OLED, works perfectly well, but that was before any graphical displays were even supported. I guess now I would try to use an ST7789 because they are a lot cheaper.

Like I said it's been a while since I've touched this project especially with the war raging in my country most of my gear is packed away.

So I know my OLED was a winstar 1602, from what I remember it uses 4 bit mode so not a lot of connections required. I thought it was i2c adapted, but again that came later.

Can't remember what audio board I used, just a cheap generic 1502 from AliExpress. Your audio board looks very similar to mine so I wouldn't worry about it.

EphraimElgrabli commented 3 months ago

ok, thank u so much!

Banana71 commented 3 months ago

Hello Ephraim, here I compared the different sizes of SSD1306 compatible OLEDs. https://github.com/probonopd/MiniDexed/discussions/656#discussion-6732328

EphraimElgrabli commented 3 months ago

thank u so much!