Skip to content

Instantly share code, notes, and snippets.

@ebraminio
Last active June 13, 2022 20:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ebraminio/8eabaf89f8ef7e3dd3d2233d306ead9f to your computer and use it in GitHub Desktop.
Save ebraminio/8eabaf89f8ef7e3dd3d2233d306ead9f to your computer and use it in GitHub Desktop.
Modded SSD1305 for mt32-pi

Getting the Waveshare 1.3inch OLED hat to work

These hats offer a nice control interface and display that is sized to a Pi Zero. Unfortunately, they require some hardware modification to work on the MT32-pi lite.

First, you need to move the 5 resistors to the i2c state as it is shown in the table printed on the back of the HAT (DIN, CLK, DC, CS and BS1 resistors need to be repositions). In addition, you need to tie the reset pin to high (VCC) which was the reason for why the display was not working on the I2C mode. Also, adding a pair of 4.7k pull up resistors will assure the functionality of the display flawlessly. Now, in order to get the buttons work, you cannot simply remap them in software and get them work, rather you have to cut the traces and rewire them other compatible pins. This is due to the fact that the existing pins used on the hat for buttons are used for I2S communication between the mt32-pi and the MiSTer. Here is a picture of a modified hat to get it work.

Waveshare 1.3 OLED Hat on the MT32-Pi Lite

Waveshare 1.3 OLED Hat Mods to Support i2c and MT32-Pi

Getting the Waveshare 2.23 inch OLED hat to work

This hat offer a large 128x32 OLED display that is sized to a Pi Zero. You need to modify the resistors on the back to make work with i2c as it is shown.

Waveshare 2.23 OLED Hat modified to I2C

Subsequently you need make some changes to the driver (which I already applied them as a git pull) and make sure you choose the 132x32 resolution in the config file. Here is the display working on the MT32-Pi Lite.

Waveshare 2.23 OLED Hat working on the MT32-Pi Lite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment