How to connect SSD1306 OLED LCD to PC

Hi, recently I found this cheap chinese OLED LCD based on SSD1306 controller. And because I already have I2C driver written in Python for EasyVolts, I decided to try to control this LCD from my PC. For this, I don’t need anything but EasyVolts and the LCD. I made Python script that shows 2 pictures in a loop with 1 sec pauses between them. You can use any other pictures with 128*32pix resolution or even extend the suggested script to draw text (it should be much faster than sending bitmaps).
The python script looks pretty simple, complete project is in this archive: OLED_demo.

#main program starts here
print("Open control serial port. To exit press CTRL+C")
serialPort = serial.Serial('COM38')#set your port name here
print('Set voltage:3300mV. Set current protection limit: 100mA.')
serialPort.write(b'u3300\r') #set voltage value
serialPort.write(b'i100\r') #set current limit value

print("Init I2C bus")
EasyVolts_SWI2C.init(serialPort)
time.sleep(0.5)
#init SSD1306
print("Init SSD1306(0x3c) OLED LCD")
init_SS1306(serialPort)

print("Send text to the LCD")
try:
    while (1):
        print("show picture 1")
        ShowImageOnLCD(serialPort,"picture1.bmp")
        time.sleep(1)
        print("show picture 2")
        ShowImageOnLCD(serialPort,"picture2.bmp")
        time.sleep(1)

except KeyboardInterrupt:
    pass

#before exit set output power to 0 and TxRx pins to Z state
serialPort.write(b'u0\r')
serialPort.write(b'zT\r')
serialPort.write(b'zR\r')
serialPort.close()
print("Exit!")

Video of the demostration is below:

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s