USB I2C character display

If you wish useful information automatically retrieved from the internet and shown on a display you need a display and you need to connect it to the internet. In this case the display is a Tsingtek 2 line x 20 characters OLED display and the way I connected it to the internet is through USB and an OpenWrt router.

This HCS2022-Y-EH display has an I2C interface so cutting edge technology is needed to hook it up to USB. Fortunately Till Harbaum developed the firmware code needed. The only thing left to be done was to pick an Atmel AVR microcontroller, compile the firmware for it and flash it. My choice was the ATtiny45-20PU for its characteristics in terms of flash size, speed, package and its built-in oscillator that is stable enough for this application.

To take full advantage of the I2C bus an MCP9808 temperature sensor was added to the design. Even so, very little hardware is required.

The final module was mounted to the display which was fixed in a livebox router running OpenWrt. The firmware was compiled with the usbcore and i2c_tiny_usb modules. They take care of controlling USB and I2C.

All documentation of this project like Eagle schematics and layouts can be found here. You will also find pictures of the complete assembly process.

Contact me