This is a short guide to troubleshoot any problems with the OLED display:
1. Make sure that you are using a 4 pins, 128x64, I2C communication, 1.3 (0.96 also compatible) inches OLED Display.
2. Check the pins, on most of the OLED displays the pins are GND - VCC - SCL - SDA but some displays are VCC - GND - SCL - SDA
pedalSHIELD MEGA rev A. is only compatible with the fist one. Make sure you have the right one.
4. Make sure that with the board powered on you have the right voltages:
GND: 0V
VCC: 5V
SDL: 3.5V (approx.)
SDA: 3.5V (approx.)
3. Make sure that your OLED display has the right I2C Address, you can use the
I2C Scanner
to read it, all the codes for pedalSHIELD MEGA use the address
I've done each of the steps below, and verified the other functionality (supply, buttons, switch, audio, etc.) and everything works fine except the screen. The I2c scanner gets a response at address 0x3C as expected, but the screen is dark when I load (for example) the hello world screen test. Also of note, SDA and SCL look like they are pulled up to 5V, not 3.5V as you suggest (I'd actually expect 5V if they are coming from the 5V supply domain on the Arduino board). And of course the OLED library is installed and included. Initially when I programmed it I got a little bit of "hello" and some other random pixels activated, but no more. I'm leaning toward the screen being defective.
Is there anything else you can suggest I check easily?
So you initially got a "hello" message but you are not able to see anything in your screen anymore?
We test all out screens before sending them out (that's why you will see that the package is "open" with a handwritten "TESTED")
The best way to debug it is to retouch the pins (pads) with a soldering iron, sometimes you can get a "cold joint" that makes a bad connection. So retouch the 4 OLED screen pins and the pin headers with the I2C pins. Make sure that you have VCC (+5V) and gnd. Don't worry too much about the SCL, SDA pin voltages.
Load a simple code and check if you get something there, if not contact us using the email (www.electrosmash.com/contact)
I figured it out. The power supply domain that SDA and SCL live on on the master (atmel chip) are 3.3V. The screen, however, is not. There are pullups in the microcontroller, but they are to 3.3V so they can't be guaranteed to meet the I2C VIH/VIL of the screen you provided. On board pullups to +5V should be mandatory.