Digole 2.6" Serial LCD

@tjp, one thing to note is that the geometry extensions don’t take into account display rotation or windowing. For rotation, it would be easy to swap the width and height parameter. Not sure anything needs to be done for windowing.

The “tails” are caused by the code calculating the 90th degree part of the arc which is farther so you get the tail effect. If you draw to 89 degrees, you won’t see that effect.

[quote=“tjp, post:20, topic:19743”]
I’m also having trouble with color commands
[/quote]Can you explain what problems you had? I had the arcs in magenta, the SSID in white and I also printed the RSSI value on the right of the RSSI in red!

It’s inconsistent, sometimes it renders in the colors I want and sometimes it renders in all white. Seems to be working for me at the moment though. Windowing works fine, and I don’t believe I’m having problems with the rotation. I know that the width/height stuff you added doesn’t take rotation into account, but that’s fine. Drawing to 89 degrees helped, that totally makes sense now that I think about it.

Thanks again!

@tjp, the colors are consistent for me but for fun, add a delay(2) to put delays between display commands.

1 Like

I need to upload a nice big font for displaying the time, I’m having trouble understanding how that works. Have you tried it yet, @peekay123?

@tjp, take a look at the uploadStartScreenandFonts.ino example file. The Digole displays can use ug8lib fonts. The accompanying samples.h has several fonts in there. The Digole has 4 4KB slots for user defined slots. You can use up 2 slots for a single font but the smallest slow is 4KB. I’ll try out the demo code to make sure it all works.

I tested the example (I removed the startscreen part) and the fonts downloaded just fine. The second font in the demo is large and may do the job for you!

Thanks! Not sure why it didn’t occur to me to check their examples. lol Multiple projects has my brain going in different directions. lol

I will check out the second font!

1 Like

@tjp, you can also get compatible fonts here:


Just to make sure I understand this correctly, I can upload these fonts in a sort of throwaway app and then use them in my normal app, is that where the “savings” comes in?

@top, yup! Your fonts can be symbols or icons which you can use instead of bitmaps in many cases.

1 Like

@peekay123, I got fonts to load, thanks for your help with that! I don’t think I’ll be able to use drawArc to render an RSSI meter, your performance warning is no joke. Guess I’ll have to use a font, which is fine really.

@tjp, I had created a number of fonts some time ago for use on a 128x64 monochrom Digole display. You can do some cool things with those programmable fonts to save you a lot of processing. You can also use bitmaps to do some animations. This is where the command flash of the Digole gets interesting. I need to explore that some more at some point.

1 Like

@peekay123, I am trying to upload a custom font (WiFi signal icons) but I can’t actually get it to load any fonts other than userfont3 and font7seg it hangs adding userfont1 and my custom font (wififont).

Here is the code I’m using: https://github.com/tjpeden/digole-font-loader

Have you had any problems loading certain custom fonts? Any gotchas?

@tjp, I’ll have to test tonight. Does the digole show the initial print line?

Yes, but it does not display ->done or the font test after. Also, I have to power cycle the screen before it will display anything else.

@tjp, I’ll try it tonight on my display.

1 Like

@tjp, I had all the fonts downloading and displaying. Some are very large so they take up two font “slots”. Not sure what the wifi font is supposed to look like but it seemed to work but the character width may be incorrect as some seem partially formed. Here is the code I used:

#include "application.h"


#define FONT wififont
#define SLOT 0
#define TEST "01234abc"

#define _Digole_Serial_UART_
#include "DigoleGeo.h"

#include "fonts.h"

DigoleSerialDisp display(&Serial1, 115200);

void setup() {

  display.println(String::format("Uploading Font\r\nSize: %u bytes\r\nSlot: %i", sizeof(FONT), SLOT));


  display.uploadUserFont(sizeof(FONT), FONT, SLOT);


  display.drawStr(0, 0, TEST);

void loop() {}

Yeah, I had to update the font. I figured out that the fonts were loading even though my app wasn’t completing. I hadn’t had a chance to update this post or my repo, had something come up. Thanks for checking!

1 Like

I keep sending commands too fast, it get confuses the fonts and stuff. Have you run into that problem?

@tjp, on the smaller displays, timing is not as bit an issue. On these new displays, you need to slow things down. Look at the DigoleGeo code and you will see some delayMicroseconds() sprinkled around to prevent buffer saturation on the Digole.

I just got this display and hooked it up to UART. It is very slow to print everything on the whole screen. It takes close to a second to scan from top to bottom to you can actually see it happening. Would it be any faster with SPI interface?