🤖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

    Atom
    3
    15
    20.3k
    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
      cepics
      last edited by

      nobody??

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

        just use the M5GFX library.

        https://github.com/m5stack/M5GFX

        1 Reply Last reply Reply Quote 0
        • C
          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
            cepics
            last edited by

            some tips???

            1 Reply Last reply Reply Quote 0
            • O
              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
                cepics
                last edited by

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

                1 Reply Last reply Reply Quote 0
                • C
                  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
                    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
                      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
                        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
                          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
                            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
                              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
                                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
                                • First post
                                  Last post