Hi Bill,

Good to see that it works now for you.

I uploaded the library and two sample files to Github so they will be in the 
next Jallib release and the next bee-package. I tested them using I2C and SPI 
using the samples I created (one using font and graphics and one using only 
fonts).

I started with the option to goto any pixel location but that will be a problem 
when using only fonts since you cannot read data back from the display (which 
is needed if a character like 8x12 only use half of the next line). Only in 
graphics mode this would be possible since then a cache is created and a 
character could then be written pixel by pixel but that required 1k of data 
space.

I thought there is a glcd function for in the common library for writing 
character pixel by pixel but have not tried that. I may look at it later and as 
you suggested maybe add it as an option.

And for the random pixels. It may also help to add an additional capacitor on 
+3.3Volt.

Good luck with your project.

Kind regards,

Rob

________________________________
Van: [email protected] <[email protected]> namens Bill Beek 
<[email protected]>
Verzonden: zaterdag 24 januari 2026 16:34
Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] Re: Update SSD1306 library supporting bigger font


Hi Rob, I got your new lib tested with the 16F18857, everything looked fine.

No trace of unwanted pixels. With the 16F1825 I still have unwanted pixels,

I'll look into that further, maybe there's something wrong with the chip.

I have performed all tests with 3.3 Volt Vdd. As you rightly pointed out,

the displays are intended for a working voltage of max 3V3.

As for the text lines, I think it's better to choose the position on the screen 
yourself,

especially if you want to keep a little more space between the text lines.

Perhaps you can do this as an option for users who do not want the fixed line 
spacing.

 For example,  the 8x12 font gives problems with the fixed pages.

Many Thanks for the good work.

Kind regards, Bill.


On Friday, January 23, 2026 at 6:50:41 PM UTC+1 Rob CJ wrote:
Hi Bill,

Today I received the displays and I tested the I2C version and it worked! I had 
of course the same issue with the characters on the left that where cut off.

Attached you find an update of the library and a sample program. I made the 
following changes:

  1.
Fixed the pixel shift no now the '8' are positioned correctly
  2.
Removed the horizontal scroll procedures and diagonal scroll procedures since 
the SH1106 does not support that.

The big font was also working but make sure you increase the character buffer 
as shown in the sample program since the default size is 1 byte which is 
insufficient.

Then about your random pixels. I did not have them and I think I know why. When 
I used an ssd1306 in the past I also had random pixels. I saw on an osciloscope 
that the SSD1306 module generated a lot of noice on the IIC lines. This is also 
the case for the SH1106. The problem occurs when you use the module and the PIC 
both on 5Volt because the SH1106 operates at 3.3 Volt and so the I2C signals do 
not have a full swing to +5Volt and the noise is so high that it disturbs those 
signals changing a 1 into a 0 and the other way around. I solved this in the 
past by operating both the SSD1306 and the PIC at 3.3 Volt so that the whole 
level swing is used and that is also the set-up I used today for the SH1106. I 
had no random pixels in this set-up.

So you have two options:

  1.
Operate both devices at 3.3. Volt
  2.
Use a level shifter between the PIC and the SH1106 if you want your PIC to run 
at 5Volt.

If you look at the datasheet of both the SSD1306 and the SH1106 the inputs do 
not seem 5Volt tolerant so I wonder if they break down after some time if you 
use the PIC at 5Volt but I am not sure if that will occur.

Next test is to see if the SPI version also works correctly.

Last but not least a question (for all JAL users). The device - and the goto 
function - works for fonts horizontal with pixels but vertical with pages 0..7. 
I used pages since that is what I also saw in other libraries but it limits 
where you can place text vertically. I wonder if I should change that so that 
you can also use pixels for the vertical orientation so that you could position 
your charaters anywhere vertically and not only on pages 0..7. Do you think 
that is a feature that would be useful? I need to write additional code for 
this and if that works it should also be changed for the SSD1306 but this will 
result in all users that use this library to implement some changes to 
rearrange the text based on pixels.

Let me know what you - all - think.

Thanks.

Kind regards,

Rob



________________________________
Van: [email protected] <[email protected]> namens Rob CJ 
<[email protected]>
Verzonden: donderdag 22 januari 2026 18:51

Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] Re: Update SSD1306 library supporting bigger font
Hi Bill,

Good to know.

About the fonts. The two fonts you mentioned are vertical oriented fonts like 
the display. The larger fonts are most likely horizontal fonts for which extra 
code is in the library to rotate this but it needs a character buffer for that.

If you want to use the larger fonts you have to increase that character buffer 
as described in the library, see info below. In the SSD1306 I made this 
character buffer as large as was needed for the biggest fonts we currently have 
but if you do not use such a big font, it is waste of data space. In the SH1106 
library I have set this buffer to the minimum of 1 so for each horizontal font 
you use (which are the larger fonts) you have to increase this size. I also 
changed this for the SSD1306 library - so that you know - but I did not upload 
that since I first want to see what comes out of testing the SH1106 library,


-- When using a horizontal oriented character font, a character buffer
-- is needed with the size of the used font, see the font library value
-- FONT_xxxx_BYTE_PER_CHAR for the font you are using.
-- The default size of this buffer is set to the minimum value of 1.
-- For example the 12x16 horizontal font uses 32 bytes for one character
-- and so we can set the character buffer to this size by:
-- -) const SH1106_CHAR_BUFFER_SIZE = 32
-- No buffer is required for vertical oriented fonts. For vertical fonts
-- only fonts with a maximum height of 8 pixels are supported.

Kind regards,

Rob



________________________________
Van: [email protected] <[email protected]> namens Bill Beek 
<[email protected]>
Verzonden: woensdag 21 januari 2026 20:25
Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] Re: Update SSD1306 library supporting bigger font


Hello Rob,

It seems that the memory is not completely erased by the clear_screen procedure.

I made a work around that overwriting all 8 lines of text with spaces,

so that the unwanted pixels disappear.

Furthermore, I saw that only the 5x7 and the 6x8 fonts works, the larger one 
doesn't.

It's hard not to be able to test with the right display, so for now I'm waiting 
to see

what you can discover.

Kind regards, Bill.


On Tuesday, January 20, 2026 at 6:47:41 PM UTC+1 Rob CJ wrote:
Hi Bill,

Thanks for the info. I expect the LCD's to arrive soon so I can test it myself.

Strange all those random pixels (I assume after clear display. It may be that 
the shift 1 pixel to the left may be caused by the fact that this controller 
support 132x64 while the SSD1306 supports 128x64 and I still used 128x64 in 
this library but I will test that too. I head something similar from Rob 
Hamerling to add an offset.

I noticed when testing the SSD1306 library that some scrolling funtionality 
only worked for the version with SPI and not IIC. I do not know why that is.

As soon as I get it all working I will send you an update.

Kind regards,

Rob



________________________________
Van: [email protected] <[email protected]> namens Bill Beek 
<[email protected]>
Verzonden: dinsdag 20 januari 2026 16:37

Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] Re: Update SSD1306 library supporting bigger font
I meant Horizontal and diagonal scrolling.


On Tuesday, January 20, 2026 at 4:33:27 PM UTC+1 Bill Beek wrote:

Hi Rob,

You're on the right track, that addressing also gave me some problems to figure 
out.

I'll send some pictures so you can see what's happening on the display.

The "8" at the bottom left has been moved 1 position so that the full character 
is visible.

 That is not a big problem. Only the vertical scrolling functions work, the 
horizontal and

vertical ones don't.

And of course the unwanted pixels are the problem as far as I've been able to 
discover,

as you can see in the pictures.

Kind regards, Bill.


On Monday, January 19, 2026 at 6:58:17 PM UTC+1 Rob CJ wrote:
Hi Bill,

I had a detailed look at the datasheet of the SH1106 and saw that setting the 
device on a certain position works differently so I changed that. This way of 
positioning the device uses a page addressing mode. This mode is also available 
in the SSD1306 but there the library uses horizontal addressing mode and so a 
different method is used. You can also select the page addressing mode on the 
SSD1306 and then the same approach is used as in the SH1106.

Not sure if this solves all problems but this version will not work on the 
SSD1306 since the command to select the addressing mode is not present in the 
SH1106 so I removed that command in total to prevent any side effects. In the 
future it might be possible to make one library for both (maybe with a 
'define') but maybe it is better to keep them separate otherwise the library 
name should change to glcd_ssd1306_sh1106.

If this does not work then you have to wait until I can test it myself.

Kind regards,

Rob



________________________________
Van: [email protected] <[email protected]> namens Rob CJ 
<[email protected]>
Verzonden: zondag 18 januari 2026 16:28
Aan: [email protected] <[email protected]>

Onderwerp: Re: [jallib] Re: Update SSD1306 library supporting bigger font
Hi Bill,

OK. These where settings that supposed to work for both. I will do some more 
research and will test it first myself before sending an update.

Kind regards,

Rob

________________________________
Van: [email protected] <[email protected]> namens Bill Beek 
<[email protected]>
Verzonden: zondag 18 januari 2026 16:15
Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] Re: Update SSD1306 library supporting bigger font

The latest lib make it worst, both displays are now up side down.
And the 1306 is now messy and the 1106 behavior is further unchanged.
Kind regards, Bill.
On Sunday, January 18, 2026 at 3:45:30 PM UTC+1 Bill Beek wrote:
Hi Rob,
Only for the video together, when used
separately the same results on the display




On Sunday, January 18, 2026 at 3:21:23 PM UTC+1 Rob CJ wrote:
Hi Bill,

Are you using both at the same time on the same IIC bus with the same IIC 
address? That may give problems.

I updated the library and used other initialization settings that I received 
from the other Rob. They should work both for the ssd1306 as well as for the 
sh1106.

Kind regards,

Rob

________________________________
Van: [email protected] <[email protected]> namens Bill Beek 
<[email protected]>
Verzonden: zondag 18 januari 2026 12:41

Aan: jallib <[email protected]>
Onderwerp: Re: [jallib] Re: Update SSD1306 library supporting bigger font

my mistake



--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/c6d86474-5d12-4826-b55a-a4c2d74f2e69n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/c6d86474-5d12-4826-b55a-a4c2d74f2e69n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/8e75facb-27fd-4700-89f4-592250bc2e2an%40googlegroups.com<https://groups.google.com/d/msgid/jallib/8e75facb-27fd-4700-89f4-592250bc2e2an%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/AM6PR02MB4053C37C61C5EC28C09619D8E68BA%40AM6PR02MB4053.eurprd02.prod.outlook.com<https://groups.google.com/d/msgid/jallib/AM6PR02MB4053C37C61C5EC28C09619D8E68BA%40AM6PR02MB4053.eurprd02.prod.outlook.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/ae6bfd7c-b7d3-47ca-8dc8-b3fab5174eddn%40googlegroups.com<https://groups.google.com/d/msgid/jallib/ae6bfd7c-b7d3-47ca-8dc8-b3fab5174eddn%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/ca4c4c8b-c505-409e-bd4f-de6cae878986n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/ca4c4c8b-c505-409e-bd4f-de6cae878986n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/AM0PR02MB4052E9D0E13610BF7DB3A8A6E697A%40AM0PR02MB4052.eurprd02.prod.outlook.com<https://groups.google.com/d/msgid/jallib/AM0PR02MB4052E9D0E13610BF7DB3A8A6E697A%40AM0PR02MB4052.eurprd02.prod.outlook.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/68c04822-15a1-4e24-b30a-3027b7f84f97n%40googlegroups.com<https://groups.google.com/d/msgid/jallib/68c04822-15a1-4e24-b30a-3027b7f84f97n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/AM0PR02MB405224AF04EE502D8BB4BA77E695A%40AM0PR02MB4052.eurprd02.prod.outlook.com.

Reply via email to