Hi Rob,
Thank you for the information.

As far as sending a 0x00 prior to the command transmission was concerned,

 I thought the procedure "_sh1106_start_transmission" took care of that.

Also I did try to add an extra write _byte(0x00) in the send_command 
procedure.

But nothing changed. If it's too much work for you to look in to it 
further, it's no problem.

I will try further  to understand several libraries, but i am not very good 
in the C coding.

Thank you for your effort.

Kind regards, Bill.

On Thursday, January 15, 2026 at 10:24:37 PM UTC+1 Rob CJ wrote:

> Hi Bill,
>
> Update. I looked at the attached Arduino library and they send a lot of 
> commands during initialization like yoiu do using the procedure 
> sh1106_command(). This procedure is as follows for IIC:
>
> void Adafruit_SH1106::SH1106_command(uint8_t c) {
> // I2C
> uint8_t control = 0x00; // Co = 0, D/C = 0
> Wire.beginTransmission(_i2caddr);
> WIRE_WRITE(control);
> WIRE_WRITE(c);
> Wire.endTransmission();
> }
>
> So they send all data starting with a transmission of zero. I cannot find 
> in the documentation why that works but maybe it does.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Rob CJ <
> [email protected]>
> *Verzonden:* donderdag 15 januari 2026 18:07
> *Aan:* [email protected] <[email protected]>
>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font
> Hi Bill,
>
> First quick analisys starting at the intialize routine. You start a 
> transmission and then you send bytes but it does not work that way since 
> the device has various registers and it needs to know to which register you 
> are addressing. Instead you better call the procedure that start a 
> transmission, sends the command and the data and stops the transmission.
>
> For example for setting the contrast. You use the following at the 
> initialization after you have sent other data too:
> _sh1106_write_byte(_sh1106_SET_CONTRAST)
> _sh1106_write_byte(0x9F) -- A = 0x9F or 0xCF P = 0xAF
>
> But you should send the contrast command (control byte) followed by the 
> contrast data in each transmission like in the procedure set_contrast()
> _sh1106_start_transmission(_sh1106_COMMAND_TRANSMISSION)
> _sh1106_write_byte(_sh1106_SET_CONTRAST)
> _sh1106_write_byte(contrast)
> _sh1106_stop_transmission()
>
> I noticed you based this on an olderversion of the ssd1306 library. In the 
> newer version I removed the  include of the IIC library which has to be 
> done by the main program (as it should according to the JAL style guide).
>
> I hope this helps for the first step.
>
> Kind regards,
>
> Rob
>
>
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Bill Beek 
> <[email protected]>
> *Verzonden:* woensdag 14 januari 2026 20:43
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font 
>  
>
> Hi Rob,
>
> Not working at all, see picture. I studied several arduino libs but that 
> didn't give me a solution. 
>
> While the programmers write, that it is a small modification of the 
> SSD1306, I don't see it.
>
>  When I use the 1306 with this lib, the first line written from right to 
> left with the text in mirrored image.
>
> Kind regards, Bill.
>
> On Wednesday, January 14, 2026 at 6:57:06 PM UTC+1 Rob CJ wrote:
>
> Hi Bill,
>
> That may take some time because those datasheets are not always that 
> clear, especially Chinese ones.
>
> Have you looked at an Arduino library for this display? That often gives 
> an idea about how things should work. I know for example that I could never 
> have written the library for the ili9341LCD without some info I got from 
> the Arduino library and I still wonder how they figured out certain 
> settings while the documentation did not give any clue on that.
>
> Is nothing working or are certain things not working?
>
> Kind regards,
>
> Rob
>
>
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Bill Beek 
> <[email protected]>
> *Verzonden:* dinsdag 13 januari 2026 20:24
>
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font
>
> Hi Rob, 
>
> I tried to make the SSD1306 library suitable for the SH1106, but it won’t 
> work. 
>
> Addressing the memory is different, with line, page and column addresses.
>
> Because I don’t fully understand the 1306 lib, it is difficult for me to 
> make it work. 
>
> Maybe you want to look at the data sheet to make some suggestions. 
>
> I send the lib along. I deleted the SPI and scroll functions to keep it 
> simple.
>
> Thank you in advance, and best wishes for 2026 to the group.
>
> Bill.
>
>
> On Thursday, September 25, 2025 at 9:48:13 PM UTC+2 Rob CJ wrote:
>
> Hi Bill.
>
> FYI. I finished the update of the glcd_ssd1306 library and the sample 
> files. Tested it with all JAL Fonts using I2C and SPI and all seem to work 
> fine.
>
> I uploaded it to GitHub so it should be in the bee package of the upcoming 
> weekend.
>
> Since the version you have works for the 12x16 font it did not yet work 
> for all available JAL fonts but that has been fixed. As said before, the 
> IIC and SPI libraries now need to be included by the main program as to 
> make the library compliant with the JAL style guide. It now also gives more 
> flexibilty since you can now also use SPI 2 and I2C 2 if you needed that 
> but it is a breaking change with the previous version of the library. 
> Examples are given in de sample files.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Rob CJ <
> [email protected]>
> *Verzonden:* donderdag 25 september 2025 19:05
>
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font
> Hi Bill,
>
> Good to hear that it works. As I mentioned before the IC on the module 
> operates at 3.3 Volts and the pins are not 5 Volt tollerant so be careful 
> with that.
>
> Today I tested the library with all available JAL fonts and they - after 
> some smalle modifications to the library - all work  now. I also moved the 
> IIC and SPI part out of the library and moved that to the main program. The 
> library checks which interface (I2C software, I2C hardware, I2C harware 2, 
> SPI hardware and SPI hardware 2) is included by the main program and uses 
> that interface automagically. The only setting that remains for the 
> interface is the SPI software, for all others interfaces it is just 
> including the required interface before including the ssd1306 library and 
> it will then use that interface for the communication with SSD1306 module.
>
> I added a text with a bigger font to the current sample programs so that 
> users can see that that works too. It works for I2C but I still need to 
> test it for SPI as wel. If all works then I will upload the updated library 
> and the updated sample programs.
>
> Good luck with the project. I think this was a nice extension of the 
> functionality of this library.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Bill Beek 
> <[email protected]>
> *Verzonden:* woensdag 24 september 2025 19:49
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font 
>  
>
> Hi Rob,
>
> The 12x16 font now works fine, the error was on my side, the hex file 
> worked fine as expected.
>
> After compilation of your program it went wrong again.
>
>  After investigation, the glcd_font lib turned out to be corrupted, so I 
> apologize for the inconvenience.
>
> I have looked at the I2C lines, and also see that interference signals are
>
> getting bigger as the voltage increases between 3 and 5 Volts.
>
> What I also noticed was that the pulses were not very steep, 
>
> which is of course due to by the weak pullups. 
>
> After placing 2 x 4k7 resistors it looked much better and realized a more 
> stable data transfer.
>
> I noticed that the display regularly fails at 5V, after placing the 
> resistors everything worked well at 5 Volts.
>
> According to my info there is some kind of voltage regulator on the 
> display board which would make it applicable from 3 to 5 Volt.
>
> Many thanks for the good work,
>
> Kind regards, Bill.
>
>
>
> On Wednesday, September 24, 2025 at 7:01:50 PM UTC+2 Rob CJ wrote:
>
> Hi Bill,
>
> Attached the JAL testprogram I used and the hex file.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Bill Beek 
> <[email protected]>
> *Verzonden:* dinsdag 23 september 2025 19:29
>
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font
> P.S. send me the hex file for the 18F1825 so i can see of that is okay 
> with my setting.
>
> On Tuesday, September 23, 2025 at 7:25:46 PM UTC+2 Bill Beek wrote:
>
> Hi Rob,
> Only the display on IC2 and 3.3V I don't  understand it either, are you 
> sure that the posted lib is the same as in your test?
> That could explain the problem.
>
>
> On Tuesday, September 23, 2025 at 6:34:28 PM UTC+2 Rob CJ wrote:
>
> Hi Bill,
>
> I cannot explain this. I will do some more testing and also test it with 
> the SPI interface.
>
> Did you try it without any other connections to the IIC bus and at 3.3. 
> Volt?
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Bill Beek 
> <[email protected]>
> *Verzonden:* dinsdag 23 september 2025 17:25
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] Re: Update SSD1306 library supporting bigger 
> font 
>  
> Hi Rob,
> Some extra information about the topic.
> I tested also with a 18f1825 and sw I2C and as expected, got the same 
> image as in the photo I posted. 
> If the 6x8 font is used, everything works well even with the 
> 18f2520, which is equipped  with the tiny bootloader                        
>                     which works handy and fast for me.  
> The 16F1825 is programmed with the pickit 2. I hope that you are able to 
> locate the problem.                                                        
>                                                                             
>                                                                             
>                                                                             
>                                         Kind regards, Bill.  
>
>
> On Monday, September 22, 2025 at 8:15:03 PM UTC+2 Bill Beek wrote:
>
> Hi Rob,
> Tested without the ina3221, delete the I2C code lines from the program and 
> Vcc 3,3V but nothing changed.
> So I wondered if it's possible that the lib you posted is not the same as 
> in your test? 
> The 1306 is powered by wires under the board. 
> Kind regards, Bill.
>
> On Monday, September 22, 2025 at 7:02:08 PM UTC+2 Rob CJ wrote:
>
> Hi Bill,
>
> The only thing I found is that you include and initialize i2c_hardware. As 
> you may remember this is currently also done by the ssd1306 and I am not 
> sure if this messes things up so I commented that part out. I also 
> commented out the include of glcd_common since that is needed by the 
> ssd1306 library so it is included there. I also moved the selection of the 
> font but that should not make a difference. I attached the update.
>
> For the final version of the updated library you have to include and 
> initialize i2c_hardware but not yet for this version.
>
> So it should work but not sure if the I2c_hardware has messed things up (I 
> do not think so).
>
> Unfortunately I do not have an 18F2520  to test it. 
>
> I see you have two devices on the IIC bus. Did you also test with without 
> the INA3221?
>
> And to be sure. Although the module works at +5V you should not pull-up 
> the SDA and SCL lines to +5Volt. If you have connected both the INA3221 and 
> the SSD1306 to +5V, the INA3221 will pull-up the lines to +5V and that can 
> kill the module. Last but not least. As I mentioned before the SSD1306 
> module generates a lot of noise on the SDA and SCL lines and that is gone 
> if you use it on 3.3 Volt.
>
> So for this test. Only connect the SSD1306 and use it (including the PIC) 
> at 3.3 Volt and see if that works. If that is the case and you want to use 
> it together with the INA3221 at +5V then use a level shifter between the 
> PIC and the SSD1306.
>
> BTW. I do not see any power connection to the SDD1306 🙂.
>
> Kind regards,
>
> Rob
>
>
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Bill Beek 
> <[email protected]>
> *Verzonden:* maandag 22 september 2025 12:26
> *Aan:* jallib <[email protected]>
> *Onderwerp:* [jallib] Re: Update SSD1306 library supporting bigger font 
>  
>
> Hi Rob,
> I tested the lib but the same problem exist.
> I added your name at the lib to be sure that the right lib was used.
> You can see what's happens on the picture.
> I can't understand what I have done wrong so I added my program.
>
> Kind regards, Bill.
>
> On Sunday, September 21, 2025 at 1:38:05 PM UTC+2 [email protected] 
> wrote:
>
> Hi Bill,
>
> It took me quite some time to figure this out. First of all, you cannot 
> read data from the SSD1306. This means that I cannot write characters using 
> pixels.
>
> So I looked at the procedure ssd1306_write_char() which writes ... 
> characters. This procedure does not require the big cache that you normally 
> need when writing characters as pixels or when using graphics in general.
>
> Currently the SSD1306 library worked correctly for the 6x8 font and that 
> was only because that is a vertical font and that matches how the SSD1306 
> displays the data. This seems to be one of the view (or the only?) vertical 
> font, all other - larger - fonts are horizontal fonts and that causes the 
> problem when using them.
>
> So I added code to this procedure that checks if the used font is a 
> horizontal font and if so it rotates the character 90 degrees to match the 
> SSD1306 display and splits the character up into smaller pieces since the 
> SSD1306 works with pages (0..7) each 8 pixels high. If a font is bigger 
> than 8 pixels, it needs to be spit up and divided over 2 pages. 
>
> I attached the library including a picture that shows the 12x16 font 
> working. I still need to test this for other font sizes and I need to clean 
> the library up since currently the limit is 12x16 and if you use a smaller 
> font I could save data space. So please give it try. You do not need any 
> special setting for this only that you are using text mode. 
>
> Next to cleaning the library up I am planning to move the IIC and SPI part 
> from this library to the main program so that it is not included by this 
> library anymore. This is in line with the JAL style guide but it results in 
> a breaking change for anyone who is currently using the library since 
> incuding IIC or SPI and initializing them moves to the main program. 
>
> Kind regards,
>
> Rob
>
> -- 
> 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/5f33c130-d73d-4080-b8c4-03900fba52a9n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/5f33c130-d73d-4080-b8c4-03900fba52a9n%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/cdba0988-9ce1-4ca3-8c43-d9a18f9d3d12n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/cdba0988-9ce1-4ca3-8c43-d9a18f9d3d12n%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/d0a75094-24de-4dc6-a426-0b52e37d3a6cn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/d0a75094-24de-4dc6-a426-0b52e37d3a6cn%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/7b59ff16-9193-40ab-955c-5c804d9b4cbfn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/7b59ff16-9193-40ab-955c-5c804d9b4cbfn%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/AM7PR02MB6098BC3AE041ABF60033D863E61FA%40AM7PR02MB6098.eurprd02.prod.outlook.com
>  
> <https://groups.google.com/d/msgid/jallib/AM7PR02MB6098BC3AE041ABF60033D863E61FA%40AM7PR02MB6098.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/91b559f2-374c-49ba-bba9-2b20f51257fen%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/91b559f2-374c-49ba-bba9-2b20f51257fen%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/7947f9c7-ce70-4f06-ac3a-242c11b0a3f9n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/7947f9c7-ce70-4f06-ac3a-242c11b0a3f9n%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/AM0PR02MB4052718D79F34A45306986E3E68CA%40AM0PR02MB4052.eurprd02.prod.outlook.com
>  
> <https://groups.google.com/d/msgid/jallib/AM0PR02MB4052718D79F34A45306986E3E68CA%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/aa7c5b75-72cd-4331-9993-95dbff854874n%40googlegroups.com.

Reply via email to