grahamwhaley / DSPham

A Teensy based DSP audio processor
GNU General Public License v3.0
24 stars 7 forks source link

Problem with Grove Display #25

Closed SDupuie closed 2 years ago

SDupuie commented 2 years ago

Graham,

I built up an Audio board with a Teensy 4.0 and hooked it up according to your schematic. I loaded the libraries and then compiled and uploaded the program. I am getting audio through the board and the encoder seems to be working (I can turn off the audio with a particular sequence of encoder manipulations), but I am not seeing any text on the display. The backlight is on. I am using the exact Grove RGB LCD specified in the documentation. I have the VCC for the display connected to the 3.3V output of the Teensy, GND connected to ground, and SDA and SCL connected according to the schematic. I have checked my wiring multiple times. The display I have says that it supports an input voltage of 3.3V or 5V. I thought maybe there was a problem with my compiled version of the firmware so I downloaded your .hex file and loaded it. I got the same results.

I could have a bad display, but I want to ask if you have any thoughts on what the problem might be.

Thanks, Scott

grahamwhaley commented 2 years ago

Hi @SDupuie . Thanks for posting the question. I think the problem might be that VCC of the Grove LCD should be connected to the 5v line, not the 3v3. The LCD panel used on the Grove module itself is listed as being a 5v part in the datasheet - from the [grove page]() I found the datasheet here - which shows VDD to be 4.5v - 5.5v (on page 8). I think the data lines will support inputs of 3.3v, but the power line itself (VDD) must still be 5v. The RGB LED I2C controller on the module however looks like it can operate from 2.3v to 5.5v, which is probably why the backlight is working.

Fingers crossed moving the VCC of the display to 5v will fix the problem! Let me know if that works, and I can update the documentation and maybe the schematic to make it clearer.

SDupuie commented 2 years ago

Hi Graham,

Thanks, that was it. I was wondering if that was the issue, but I wasn't sure if the display had pull-ups on the I2C lines that would cause 5V to back feed to the Teensy. In retrospect, that should not be the case.

Thanks, Scott

grahamwhaley commented 2 years ago

Excellent @SDupuie :-) But, yes, I too worry a little about mixing the 5v and 3v3 parts. At least one builder has successfully used a level converter to avoid the risk - something I think like one of these. So, if it worries you, then that might be a path to pursue.

Out of interest, do you have any specific plans for DSPham? I'm always curious on how they get used :-)

If you are happy we've resolved the display issue for you then shall we close this ticket?

SDupuie commented 2 years ago

Graham,

I may eventually replace the display with a 3.3V OLED, but I wanted to get the code up and running before attempting to do that.

I built DSPham because I want to play around with noise reduction algorithms and this seemed like a good platform to get started on. I find that even modern ham radios do not have very good NR (most are LMS).

Thanks, Scott

grahamwhaley commented 2 years ago

Thanks Scott. Yeah, it's quite a good platform as the infrastructure is already in place and it has the audio pipeline queue breakout that makes it easy to inject new code to try. You can also play around with the decimation/sample rate etc. if need be (but it can take a little bit of fiddling to get that right if it affects other parts of the pipe as well like the filters). I have an experimental 'next platform' that I never finished the code for that is based off the same code, but runs a 128x160 TFT LCD and has three encoders wired up. That gave me more scope for viewing waveforms on the screen realtime and tweaking more things interactively with the extra encoders. I think adding the OLED should be pretty easy. You might have to stare at the menu library or recode the menu system. If you think my experimental code might help then ping me a PM.