DOGM128 Arduino Uno U8G2 interfacing

Hi everybody,
I am a newbie in Arduino development. I am trying to use Arduino Uno + U8G2 lib + EA Dogm128 monochrome display. The thing is that it doesn't work.

I am using the basic HelloWorld example to get started. The display doesn't show anything. I have only a basic multimeter so I can only measure the DC on single pins.

I have 2x1.5V batteries (that actually supply 3.1V in series). I was using a level translator from 5V->3V but after some static test I noticed it had voltage degradation problems on many pins (maybe the soldering went wrong) so I am currently doing the test in 2 steps (1) load the sketch from PC into Arduino (2) i disconnect arduino from USB cable and power it with the battteries which power the rest of the circuit.

I am using the proper backlit led panel suggested by the manufacturer with 3 series resistors as current source.

The constructor i am using from U8G2 is.

U8G2_ST7565_EA_DOGM128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=/ 10, / dc=/ 9, / reset=*/ 8 ) ;

I am attaching the connections I made as image.

BLACK Chip Select, WHITE Reset, GRAY Data/Command, PURPLE Serial Clock, BLUE MasterOutSlaveIn.

The following is the connection scheme I have adopted more or less.

The level translators are missing because of the reason I said above. The reset pin is directly connected to the pin specified in the class constructor instead of being pulled up by 10k resistor.

I do not have a digital scope right now so I do not know what to check with a voltmeter.

Do you have any idea?


I see two problems here:

  1. 3.3V Operation
    To my knowledge, the Arduino Uno will not work with 3.3V power supply. So I assume, that u8g2 does not run at all. I guess you must use level shifters here.

  2. Breadboard
    These prototyping breadboards are very unreliable. It is much better to solder the setup. If it is still for prototyping, use female pin headers for the dogm128 display. This is still much more reliable.

The picture does not show the DOGM128, but maybe you get the idea:

I have used an Arduino prototyping board, added the level shifter IC on it, together with a female pin header (top side) for the display and male pin headers (bottom side) for the Arduino Board. The board then nicely fits on any standard Arduino board.

I usually order pin headers with 40 pins and cut them down to the required size.


1- You are right…I only read the atmega328p datasheet, I didnt know the board could only work with 5V. I’m gonna change the level translator chip and try again with usb power supply. Anyway it shouldn’t be a problem (I think) as long as I work with the microcontroller standalone.

2- I can’t solder it because it is my university property and they want it back as lent. I will run a continuity test on all the interested pins.

Thanks for the answer. I’ll write back if (1) doesn’t solve.

2- Thats what I am saying: Build your own interface board between Uno and DOGM128. On the one side the interface/proto board can be plugged into the Uno and on the other side you can plug in the display into the proto board. The picture in my last post shows three plugable parts: Uno (not visible below the proto board), the protoboard itself and the e-paper display.

ok, some invest is required (proto board, pin headers), but it will be much more reliable.

One more point: As a university project, you should have access to a proper measure equipment...

BTW: Which university?


This is the level converter I bought for few euros. When (OE=5V, VA=5V, VB=3V, GND in commono between Arduino and the battery pack) then Ax and Bx voltages are still uncorrelated. I also tried with OE=0 but nothing changed. I guess I can only trash it away.

Inside the LCD package they gave me those two rows of plugs, are maybe they intended for what you are suggesting?

I can obtain access to the laboratory equipment but the process to be accepted takes 2-3 days because I first have to notice the professor than he forwards the request to the student-laboratory supervisor and in the end the confirmation with time and date for the 1.5h access arrives to me. If it is something I can solve home I avoid asking them. BTW: Politecnico di Torino

This is the level converter I bought for few euros. When (OE=5V, VA=5V, VB=3V, GND in commono between Arduino and the battery pack)

A quick search showed up this page:

It clearly says:
“- Voltage of VCCA should not be greater than VCCB”

B-Pins have to be connected to the Uno, A-Pins go to the display.
VB = 5V and VA = 3.3V (battery)
… well at least according to the specification.

Nice university.


Edit: Removed imaged from the quote.

Thanks a lot for saving my level translator :slight_smile:

Checked all the 5 needed buffers and they work as expected. 5 volts become 3.1V and 0V become 0V.

The grey conductors are continuously connecting the buffers output to the socket pins correspondig to LCD 5 control signals. I ve also checked all the downside capacitors and they all seem properly connected.

Nothing shows on the display.

Do the signals arrive also at the display itself (upper side)?


I solved. There was bad upward connection on pin 36. Those sockets probably need soldering, if the pin is placed right at the center of the hole there is no connection. I removed the sockets and placed everithing directly on the breadboard.

The problems I faced were:

  1. Bad powering of Arduino Uno board...the regulator which provides power supply to atmega328p needs 5V as input...i googled a bit and found that this can be solved by modding the is not in my interest because the complete project goes on its own pcb where atmega328p is standalone.

  2. Bad connection of level translator...maybe some googling of the specific IC wouldn't had been bad...

  3. Socket bad connection...continuity checking saved me

Thank you very much Oliver for you support and for developing that amazing library which is gonna save me a lot of time :slight_smile: