IoT Icon set for I2C OLED Displays

Hi guys, I’ve created a set of icons which can be used in display enabled IoT projects, motivated by my last project where I’ve build a WiFi BBQ monitoring device. This project was based on Wemos R1 mini (ESP8266 Microcontroller) programmed by Arduino IDE. The device was running a http server, but also sending the data to thingspeak.com service and displaying the temperature of three probes on an I2C 128×64 OLED Display. wifi_bbq_oled_i2c_displayThis display is supported by Adafruit library so the first run was done in minutes. Unfortunately I didn’t found small and cool icon which I could use in the project. I wanted to have WiFi, No Connection and Temperature icons. For my luck Adafruit library supports bitmap drawing function. So I created 16×16 monochrome bitmaps and converted into compiler friendly char arrays. The project was done and the icons improved the appearance of displayed data. Since I plan some other projects based on Wemos device and the I2C OLED Display I’ve created a set of Icons I’m going to share with you. There are both project files “C” and the header file, you can easy integrate in your project. Than to draw an icon on a certain position you will just need a small peace of code:
display.drawBitmap(0, 34, home_icon16x16, 16, 16, 1);
Use it to make something cool, have fun and share what you have made with others.

 

Download IoT Icon Set zip archive including the C and H file:
IoT_16x16_icon_set_oled_2_color

Click to rate this post!
[Total: 10 Average: 4.2]

12 thoughts on “IoT Icon set for I2C OLED Displays”

  1. I had to reverse MSB/LSB For the ESP-32 – SSD1306Wire.h Library function, drawIco16x16(…). But, this was a great starting point.
    Thanks for posting this. I simply added the desired definitions to a header file I already had for an another bitmap.

  2. Hi All, I really like the concept of this library. Thanks for creating this, however I am facing error while using this? Can you please share an example?

    When I included the library in my code I am getting error.

    C:\Program Files (x86)\Arduino\libraries\IoT_16x16_icon_set_oled_2_color/iot_iconset_16x16.h:12:23: error: uninitialized const ‘home_icon16x16’ [-fpermissive]
    const unsigned char home_icon16x16;

    I have only added the below line in my header.
    #include “iot_iconset_16x16.h”

    Thanks!

  3. I would also be interested in the bbq monitor. In addition to monitoring the food and chamber temps, I am interested in doing a PID motor control to adjust the air intake damper.

    I originally found your website while looking up the display graphics. Thanks!

  4. Hello,

    Thanks a lot for your library!

    I needed also an hotspot icon, so I made it:

    uint16_t wifiHotspot_icon_W = 16;
    uint16_t wifiHotspot_icon_H = 16;
    static const unsigned char PROGMEM wifiHotspot_icon[] = {
    B00000000, B00000000,
    B00000000, B00000000,
    B00000000, B00000000,
    B00100000, B00000100,
    B01001000, B00010010,
    B01010010, B01001010,
    B01010100, B00101010,
    B01010101, B10101010,
    B01010101, B10101010,
    B01010100, B00101010,
    B01010010, B01001010,
    B01001000, B00010010,
    B00100000, B00000100,
    B00000000, B00000000,
    B00000000, B00000000,
    B00000000, B00000000
    };

  5. I wrote a little python script to generate a python version of these icons, in case you’re interested

  6. do you have an example project? i dont know where should i wirte that line code…

  7. Thanks man!
    i’d love to use some of your icons in my project, on an arduino uno board.
    Do you know how can i include the library in the code? if i use #include the compiler says cannot compile this sketch on arduino uno.
    can you please provide the syntax to include it?
    thanks again

    1. You don’t realy need to include the h file or put all icons into your c file. Just copy the icons you realy need in your c file e.g.
      */
      unsigned char home_icon16x16[] =
      {
      0b00000111, 0b11100000, // ######
      0b00001111, 0b11110000, // ########
      0b00011111, 0b11111000, // ##########
      0b00111111, 0b11111100, // ############
      0b01111111, 0b11111110, // ##############
      0b11111111, 0b11111111, // ################
      0b11000000, 0b00000011, // ## ##
      0b11000000, 0b00000011, // ## ##
      0b11000000, 0b00000011, // ## ##
      0b11001111, 0b11110011, // ## ######## ##
      0b11001111, 0b11110011, // ## ######## ##
      0b11001100, 0b00110011, // ## ## ## ##
      0b11001100, 0b00110011, // ## ## ## ##
      0b11001100, 0b00110011, // ## ## ## ##
      0b11111100, 0b00111111, // ###### ######
      0b11111100, 0b00111111, // ###### ######
      };

      To display this icon, just use this lin of code: display.drawBitmap(0, 34, home_icon16x16, 16, 16, 1);

  8. Have you posted your build on the BBQ monitor? I am looking to build something very similar.
    TIA

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.