A Tad more SSD1306

Just a short update – in my ESP8266 code I have a driver for the SSD1306 – and one of our readers had difficulty with this some time ago. Today I read the manual. Ooh, err.

It turns out I’d put the wrong command in place – it worked if you referred to it as an OLED but not as an ssd1306.


The command for that lot incidentally is…

{ssd1306:”$S1Hello !!!$P0,10$O$P0,20$V$P0,30$N$P0,40$U$P0,50$R”}

Well, that’s all fixed and along the way, as I happened to be testing a WEMOS + OLED Chinese rip-off board today (successfully after changing the programming mode – again for these particular boards), I’ve added some new ssd1306 commands which should make good use of this combined board.

As well as other commands – the VOLTAGE command available in the general esp8266 code is now added to the display code – handy perhaps for a simple voltmeter or keeping an eye on batteries etc.

It’s all in the project – documented, OTA available (currently version 2.2.14)


11 thoughts on “A Tad more SSD1306

  1. OK – Sussed it!
    Think I got a bit overwhelmed by the size of the blog! I was picking up the wrong ROM code, which just compounded my confusion.

    I now have a working set taken from “http://roms.webutu.com” – which is much more recent.

    I have yet to build my own correct version – currently when I build I get the older code. I think this is just a steep learning curve for me and I’ll get there. I haven’t used eclipse before so I just need to get used to the options etc.

    Thanks for listening!


  2. Hi Pete,
    Thanks for all your work – recently got back into this. I have an old Home Control System which I need to replace and am working my way through it.

    Anyway – to the point… Downloaded the latest source code and got it into the Eclipse environment. Updated Userconfig.h to my settings and rebuilt.

    Tried to use the ssd1306 command from the serial port and I get the response:
    “Did not understand ssd1306”

    Tried “OLED” and the command was recognised, but no output to device.

    Did “i2c_check” and the device is seen on the bus …

    So what have I got wrong??

    Best Regards

  3. Great.
    This simplifies things.
    I did use a function to extract the name.
    A function is still needed to extract just the name.
    That’s ok, but why not add: $n to do that.
    And $v, $o, etc to skip the fixed text part.

    Best regards,
    Sören Käck

      1. Right.

        With $N you get: “NAME:kitchenlight”
        My sugg. was $n displaying: “kitchenlight”

        I.e: {ssd1306:”$S0Unit:$n”}
        => Unit:kitchenlight


        1. Oh I see – oh that’s just for direct string on the display for info – there’s no other practical use for it – if you’re using Node Red you’d normally build up strings as you go along. Still next time I’m doing updates – no harm in putting that in.

Comments are closed.