MOH electronics

MOH electronics


Product Demo: 128x32 OLED Display Module with AVR328P on breadboard




What you need

What it does

This demo is basically the same as the demo with the display PCB and the Arduino, except instead of an Arduino a standalone AVR328P is used on a breadboard. As a result, it is possible to measure the current consumption of the whole system in active mode and in sleep mode. During setup, the AVR tells the display to display a logo and then some characters. After a programmable duration SLEEP_TIMEOUT (4s) , the AVR goes to sleep. Sleep mode is a low power state, where the AVR can be configured to consume <100nA. A pushbutton is connected to an interrupt that wakes the AVR, which will then display “WOKE UP!” on the display, and then have it scroll across the display.



Steps

After pressing the ‘Reset’ button a logo will display, like this:



Then some characters will display, like this:



And some seconds later the board will go blank because the AVR has gone to sleep.


Upon pushing the ‘Wake’ button, the ‘WOKE UP!’ message will scroll across the display.



In the active mode, the whole system consumes 10.8mA.



When the AVR is in sleep mode, the whole system consumes 100nA.




Reference values for the fuse bits used in the AVR:


C:\Users\russ\AppData\Local\Temp\build3326273958728258877.tmp>avrdude -V -patmega328p -Pusb -cstk500v2 -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h -U lock:r:-:h


avrdude: AVR device initialized and ready to accept instructions


Reading | ################################################## | 100% 0.03s


avrdude: Device signature = 0x1e950f


avrdude: reading lfuse memory:


Reading | ################################################## | 100% 0.01s


avrdude: writing output file ""


0xff


avrdude: reading hfuse memory:


Reading | ################################################## | 100% 0.01s


avrdude: writing output file ""


0xda


avrdude: reading efuse memory:


Reading | ################################################## | 100% 0.01s


avrdude: writing output file ""


0x7


avrdude: reading lock memory:


Reading | ################################################## | 100% 0.01s


avrdude: writing output file ""


0x3f


avrdude: safemode: Fuses OK


avrdude done. Thank you.