🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    [SOLVED] ATOM LITE + OLED Unit 1.3" 128 × 64 Display

    Scheduled Pinned Locked Moved Atom
    15 Posts 3 Posters 25.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      cepics
      last edited by

      nobody??

      1 Reply Last reply Reply Quote 0
      • m5stackM Online
        m5stack
        last edited by

        just use the M5GFX library.

        https://github.com/m5stack/M5GFX

        1 Reply Last reply Reply Quote 0
        • C Offline
          cepics
          last edited by

          the library examples doesn't work for me

          I tryed with core gray, core2, atom lite without any result...

          may be I'm missing something......

          1 Reply Last reply Reply Quote 0
          • C Offline
            cepics
            last edited by

            some tips???

            1 Reply Last reply Reply Quote 0
            • O Offline
              otosan-maker
              last edited by

              why is it not working? Any error code? it is difficult to help you if you give no information.

              1 Reply Last reply Reply Quote 0
              • C Offline
                cepics
                last edited by

                I can upload the exemples sketches but nothing is on the display....

                1 Reply Last reply Reply Quote 0
                • C Offline
                  cepics
                  last edited by

                  • arduino envirement
                  • atom lite
                  • oled unit
                  • up to date M5GFX

                  this is a test sketch:

                  #include <M5GFX.h>
                  
                  M5GFX display;
                  M5Canvas canvas(&display);
                  
                  static constexpr char text0[] = "hello world";
                  static constexpr char text1[] = "this";
                  static constexpr char text2[] = "is";
                  static constexpr char text3[] = "text";
                  static constexpr char text4[] = "log";
                  static constexpr char text5[] = "vertical";
                  static constexpr char text6[] = "scroll";
                  static constexpr char text7[] = "sample";
                  static constexpr const char* text[] = { text0, text1, text2, text3, text4, text5, text6, text7 };
                  
                  void setup(void)
                  {
                    display.begin();
                  
                    if (display.isEPD())
                    {
                      display.setEpdMode(epd_mode_t::epd_fastest);
                      display.invertDisplay(true);
                      display.clear(TFT_BLACK);
                    }
                    if (display.width() < display.height())
                    {
                      display.setRotation(display.getRotation() ^ 1);
                    }
                  
                    canvas.setColorDepth(1); // mono color
                    canvas.createSprite(display.width(), display.height());
                    canvas.setTextSize((float)canvas.width() / 160);
                    canvas.setTextScroll(true);
                  }
                  
                  void loop(void)
                  {
                    static int count = 0;
                  
                    canvas.printf("%04d:%s\r\n", count, text[count & 7]);
                    canvas.pushSprite(0, 0);
                    ++count;
                  }
                  

                  this is the arduino ide output:

                  Lo sketch usa 301153 byte (22%) dello spazio disponibile per i programmi. Il massimo è 1310720 byte.
                  Le variabili globali usano 17052 byte (5%) di memoria dinamica, lasciando altri 310628 byte liberi per le variabili locali. Il massimo è 327680 byte.
                  esptool.py v3.0-dev
                  Serial port COM8
                  Connecting.....
                  Chip is ESP32-PICO-D4 (revision 1)
                  Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
                  Crystal is 40MHz
                  MAC: d8:a0:1d:5c:95:0c
                  Uploading stub...
                  Running stub...
                  Stub running...
                  Changing baud rate to 1500000
                  Changed.
                  Configuring flash size...
                  Auto-detected Flash size: 4MB
                  Compressed 8192 bytes to 47...
                  Writing at 0x0000e000... (100 %)
                  Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 4096.1 kbit/s)...
                  Hash of data verified.
                  Compressed 15856 bytes to 10276...
                  Writing at 0x00001000... (100 %)
                  Wrote 15856 bytes (10276 compressed) at 0x00001000 in 0.1 seconds (effective 991.0 kbit/s)...
                  Hash of data verified.
                  Compressed 301264 bytes to 153424...
                  Writing at 0x00010000... (10 %)
                  Writing at 0x00014000... (20 %)
                  Writing at 0x00018000... (30 %)
                  Writing at 0x0001c000... (40 %)
                  Writing at 0x00020000... (50 %)
                  Writing at 0x00024000... (60 %)
                  Writing at 0x00028000... (70 %)
                  Writing at 0x0002c000... (80 %)
                  Writing at 0x00030000... (90 %)
                  Writing at 0x00034000... (100 %)
                  Wrote 301264 bytes (153424 compressed) at 0x00010000 in 2.8 seconds (effective 870.7 kbit/s)...
                  Hash of data verified.
                  Compressed 3072 bytes to 128...
                  Writing at 0x00008000... (100 %)
                  Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.0 seconds (effective 1365.3 kbit/s)...
                  Hash of data verified.
                  
                  Leaving...
                  Hard resetting via RTS pin...
                  Trovata libreria non valida in C:\Users\Documents\Arduino\libraries\M5Stack_LovyanLauncher-master: Nessun header file (.h) trovato in C:\Users\Documents\Arduino\libraries\M5Stack_LovyanLauncher-master
                  Trovata libreria non valida in C:\Users\Documents\Arduino\libraries\URM-master: Nessun header file (.h) trovato in C:\Users\Documents\Arduino\libraries\URM-master
                  
                  

                  this is the serial monitor booting the atom lite

                  ets Jun  8 2016 00:22:57
                  
                  rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                  configsip: 188777542, SPIWP:0xee
                  clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                  mode:DIO, clock div:1
                  load:0x3fff0018,len:4
                  load:0x3fff001c,len:1044
                  load:0x40078000,len:8896
                  load:0x40080400,len:5816
                  entry 0x400806ac
                  
                  O 1 Reply Last reply Reply Quote 0
                  • C Offline
                    cepics
                    last edited by

                    I think I have to change the i2c pin in the library..... but where??

                    1 Reply Last reply Reply Quote 0
                    • m5stackM Online
                      m5stack
                      last edited by m5stack

                      you need to #include <M5UnitOLED.h>

                      #include <M5UnitOLED.h>
                      
                      M5UnitOLED display;
                      
                      M5Canvas canvas(&display);
                      
                      static constexpr char text[] = "Hello world ! こんにちは世界! this is long long string sample. 寿限無、寿限無、五劫の擦り切れ、海砂利水魚の、水行末・雲来末・風来末、喰う寝る処に住む処、藪ら柑子の藪柑子、パイポ・パイポ・パイポのシューリンガン、シューリンガンのグーリンダイ、グーリンダイのポンポコピーのポンポコナの、長久命の長助";
                      static constexpr size_t textlen = sizeof(text) / sizeof(text[0]);
                      int textpos = 0;
                      int scrollstep = 2;
                      
                      void setup(void) 
                      {
                        display.init();
                        display.setRotation(2);
                        canvas.setColorDepth(1); // mono color
                        canvas.setFont(&fonts::lgfxJapanMinchoP_32);
                        canvas.setTextWrap(false);
                        canvas.setTextSize(2);
                        canvas.createSprite(display.width() + 64, 72);
                      }
                      
                      void loop(void)
                      {
                        int32_t cursor_x = canvas.getCursorX() - scrollstep;
                        if (cursor_x <= 0)
                        {
                          textpos = 0;
                          cursor_x = display.width();
                        }
                      
                        canvas.setCursor(cursor_x, 0);
                        canvas.scroll(-scrollstep, 0);
                        while (textpos < textlen && cursor_x <= display.width())
                        {
                          canvas.print(text[textpos++]);
                          cursor_x = canvas.getCursorX();
                        }
                        display.waitDisplay();
                        canvas.pushSprite(&display, 0, (display.height() - canvas.height()) >> 1);
                      }
                      
                      
                      C 1 Reply Last reply Reply Quote 1
                      • C Offline
                        cepics @m5stack
                        last edited by

                        @m5stack said in ATOM LITE + OLED Unit 1.3" 128 × 64 Display:

                        you need to #include <M5UnitOLED.h>

                        #include <M5UnitOLED.h>
                        
                        M5UnitOLED display;
                        
                        M5Canvas canvas(&display);
                        
                        static constexpr char text[] = "Hello world ! こんにちは世界! this is long long string sample. 寿限無、寿限無、五劫の擦り切れ、海砂利水魚の、水行末・雲来末・風来末、喰う寝る処に住む処、藪ら柑子の藪柑子、パイポ・パイポ・パイポのシューリンガン、シューリンガンのグーリンダイ、グーリンダイのポンポコピーのポンポコナの、長久命の長助";
                        static constexpr size_t textlen = sizeof(text) / sizeof(text[0]);
                        int textpos = 0;
                        int scrollstep = 2;
                        
                        void setup(void) 
                        {
                          display.init();
                          display.setRotation(2);
                          canvas.setColorDepth(1); // mono color
                          canvas.setFont(&fonts::lgfxJapanMinchoP_32);
                          canvas.setTextWrap(false);
                          canvas.setTextSize(2);
                          canvas.createSprite(display.width() + 64, 72);
                        }
                        
                        void loop(void)
                        {
                          int32_t cursor_x = canvas.getCursorX() - scrollstep;
                          if (cursor_x <= 0)
                          {
                            textpos = 0;
                            cursor_x = display.width();
                          }
                        
                          canvas.setCursor(cursor_x, 0);
                          canvas.scroll(-scrollstep, 0);
                          while (textpos < textlen && cursor_x <= display.width())
                          {
                            canvas.print(text[textpos++]);
                            cursor_x = canvas.getCursorX();
                          }
                          display.waitDisplay();
                          canvas.pushSprite(&display, 0, (display.height() - canvas.height()) >> 1);
                        }
                        
                        

                        this sketch compile but doesn't display nothing

                        no error message

                        this is the atom lite boot on serial monitor after uploaded sketch

                        rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                        configsip: 188777542, SPIWP:0xee
                        clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                        mode:DIO, clock div:1
                        load:0x3fff0018,len:4
                        load:0x3fff001c,len:1044
                        load:0x40078000,len:8896
                        load:0x40080400,len:5816
                        entry 0x400806ac
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • O Offline
                          otosan-maker @cepics
                          last edited by

                          @cepics said in ATOM LITE + OLED Unit 1.3" 128 × 64 Display:

                          static constexpr const char* text[] = { text0, text1, text2, text3, text4, text5, text6, text7 };

                          I don´t like it ... please remove it and give a try in the loop with a static string ...

                          And also, put any serial.println() debug code to see what code are you running

                          1 Reply Last reply Reply Quote 0
                          • C Offline
                            cepics
                            last edited by

                            @otosan-maker said in ATOM LITE + OLED Unit 1.3" 128 × 64 Display:

                            ...and give a try in the loop with a static string ...

                            sorry but I don't understand ...

                            I deleted :
                            static constexpr const char* text[] = { text0, text1, text2, text3, text4, text5, text6, text7 };

                            this is the compiling error message

                                Arduino:1.8.13 (Windows 10), Scheda:"M5Stick-C, Default, 1500000, None
                            
                                C:\Users\Documents\Arduino\OLEDDAJE\OLEDDAJE.ino: In function 'void loop()':
                                
                                
                                OLEDDAJE:41:39: error: 'text' was not declared in this scope
                                
                                
                                   canvas.printf("%04d:%s\r\n", count, text[count & 7]);
                                
                                
                                                                       ^
                                
                                
                                Più di una libreria trovata per "SPI.h"
                                
                                
                                Usata: C:\Users\AppData\Local\Arduino15\packages\m5stack\hardware\esp32\1.0.7\libraries\SPI
                                
                                
                                Non usata: C:\Users\Documents\Arduino\libraries\SPI
                                
                                
                                exit status 1
                                
                                
                                'text' was not declared in this scope
                            
                                Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
                                
                                "Mostra un output dettagliato durante la compilazione"
                                
                                in "File -> Impostazioni
                            1 Reply Last reply Reply Quote 0
                            • m5stackM Online
                              m5stack
                              last edited by

                              @otosan-maker said in ATOM LITE + OLED Unit 1.3" 128 × 64 Display:

                              I don´t like it ... please remove it and give a try in the loop with a static string ...
                              And also, put any serial.println() debug code to see what code are you running

                              #include <M5UnitOLED.h>
                              
                              //M5UnitOLED display; // default setting
                              
                              M5UnitOLED display ( 21, 22, 400000 ); // SDA, SCL, FREQ
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                cepics
                                last edited by

                                tnks a lot !!!!
                                this sketch is working for me

                                #include <M5UnitOLED.h>
                                M5UnitOLED display ( 26, 32, 400000 ); // SDA, SCL, FREQ
                                M5Canvas canvas(&display);
                                
                                static constexpr char text[] = "Hello world ! こんにちは世界! this is long long string sample. 寿限無、寿限無、五劫の擦り切れ、海砂利水魚の、水行末・雲来末・風来末、喰う寝る処に住む処、藪ら柑子の藪柑子、パイポ・パイポ・パイポのシューリンガン、シューリンガンのグーリンダイ、グーリンダイのポンポコピーのポンポコナの、長久命の長助";
                                static constexpr size_t textlen = sizeof(text) / sizeof(text[0]);
                                int textpos = 0;
                                int scrollstep = 2;
                                
                                void setup(void) 
                                {
                                  display.begin();
                                
                                  if (display.width() < display.height())
                                  {
                                    display.setRotation(display.getRotation() ^ 1);
                                  }
                                
                                
                                  canvas.setColorDepth(1); // mono color
                                  canvas.setFont(&fonts::lgfxJapanMinchoP_32);
                                  canvas.setTextWrap(false);
                                  canvas.setTextSize(2);
                                  canvas.createSprite(display.width() + 64, 72);
                                }
                                
                                void loop(void)
                                {
                                  int32_t cursor_x = canvas.getCursorX() - scrollstep;
                                  if (cursor_x <= 0)
                                  {
                                    textpos = 0;
                                    cursor_x = display.width();
                                  }
                                
                                  canvas.setCursor(cursor_x, 0);
                                  canvas.scroll(-scrollstep, 0);
                                  while (textpos < textlen && cursor_x <= display.width())
                                  {
                                    canvas.print(text[textpos++]);
                                    cursor_x = canvas.getCursorX();
                                  }
                                  display.waitDisplay();
                                  canvas.pushSprite(&display, 0, (display.height() - canvas.height()) >> 1);
                                }
                                
                                1 Reply Last reply Reply Quote 0

                                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                With your input, this post could be even better 💗

                                Register Login
                                • First post
                                  Last post