Hi Rob,

I tested on several PIC types, all worked well. 
Nice solution with the sh1106_goto_pixel option.
Thanks, with kind regards, Bill.

On Sunday, January 25, 2026 at 12:10:52 PM UTC+1 Rob CJ wrote:

> Hi Bill,
>
> Update on font positioning!
>
> I had a look at writing characters pixel by pixel in the glcd_common 
> routine. I needed to made some minor changes to glcd_common to get it 
> working.
>
> For the library and the sample program the following was changed:
>
>    1. When using TEXT only mode nothing was changed. For horziontal fonts 
>    you still need to set the size of the character buffer. Text can 
> vertically 
>    only be positioned on page locations (0..7) as before (so no change).
>    2. When using graphics mode, characters are writing using pixels. This 
>    means that text can be positioned starting at any x- and y-coordinate. In 
>    this mode the extra character buffer, needed when writing horizontal 
> fonts, 
>    is not needed since the cache is used instead. Pixel writing is a bit 
>    slower.
>    3. Note that if you want to position your text at any random location 
>    in graphics mode you need to use the procedure sh1106_goto_pixel() 
>    4. For TEXT only  mode, the procedure sh1106_goto() remains.
>    
>
> Attached an update of the sample file for graphics and the glcd_common 
> library. In this example I started the larger font at y_coordinate 5 to 
> show that it works.
>
> I plan to include this feature for the SSD1306 library later.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Rob CJ <
> [email protected]>
> *Verzonden:* zaterdag 24 januari 2026 16:54
>
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font
> 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].
> 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 a topic in the 
> Google Groups "jallib" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/jallib/JdXGKBOcq1A/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> To view this discussion visit 
> https://groups.google.com/d/msgid/jallib/AM0PR02MB405224AF04EE502D8BB4BA77E695A%40AM0PR02MB4052.eurprd02.prod.outlook.com
>  
> <https://groups.google.com/d/msgid/jallib/AM0PR02MB405224AF04EE502D8BB4BA77E695A%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].
To view this discussion visit 
https://groups.google.com/d/msgid/jallib/a8e27ec1-b025-4e8b-9aee-14f55bc96764n%40googlegroups.com.

Reply via email to