🤖Have you ever tried Chat.M5Stack.com before asking??😎
  • lowest power m5paper?

    Arduino
    7
    0 Votes
    7 Posts
    4k Views
    F
    @ajb2k3 thanks! any idea how to do this with the M5Paper? cheers
  • 0 Votes
    1 Posts
    2k Views
    No one has replied
  • Mini GPS/BDS Unit (AT6558) - how to hot start?

    Arduino
    2
    0 Votes
    2 Posts
    2k Views
    F
    oh, whoa, the gps unit actually has a tiny battery in it! so does this mean it will always "hot start"? (if it has not moved too far) how long will this battery last?
  • M5Paper canvas size?

    Arduino
    2
    0 Votes
    2 Posts
    1k Views
    F
    strange effects were because using the wrong way to access port.C.. this is correct: canvas.createCanvas(960,540);
  • Which Serial is Port.C on the M5Paper?

    Arduino
    2
    0 Votes
    2 Posts
    1k Views
    F
    answering my own question: #include <M5EPD.h> #include <TinyGPS++.h> static const uint32_t GPSBaud = 9600; TinyGPSPlus gps; HardwareSerial ss(2); M5EPD_Canvas canvas(&M5.EPD); char latStr[10]; char lonStr[10]; char speedStr[10]; void setup() { M5.begin(); M5.EPD.SetRotation(0); M5.EPD.Clear(true); ss.begin(GPSBaud, SERIAL_8N1, 19, 18); canvas.createCanvas(960, 540); canvas.setTextSize(3); canvas.clear(); } void loop() { int b = ss.available(); while (b > 0) { gps.encode(ss.read()); double lat = gps.location.lat(); double lon = gps.location.lng(); double speed = gps.speed.kmph(); dtostrf(lat, 2, 2, latStr); dtostrf(lon, 2, 2, lonStr); dtostrf(speed, 2, 2, speedStr); canvas.clear(); canvas.drawString("Lat: " + String(latStr), 50, 100); canvas.drawString("Lon: " + String(lonStr), 50, 150); canvas.drawString("Speed: " + String(speedStr), 50, 200); canvas.pushCanvas(0, 0, UPDATE_MODE_DU4); } }
  • M5Tough/Basic/Speak example only plays in setup.

    Arduino
    3
    0 Votes
    3 Posts
    2k Views
    E
    @felmue Thanks, Felix. I sometimes try Core2 examples, as it seems to have more documentation. The M5Unified example is working on the Tough. I commented out the initial module statements: // If you use ATOMDisplay, write this. //#include <M5AtomDisplay.h> // If you use ModuleDisplay, write this. //#include <M5ModuleDisplay.h> // If you use ModuleRCA, write this. // #include <M5ModuleRCA.h> // If you use Unit LCD, write this. //#include <M5UnitLCD.h> // If you use Unit OLED, write this. //#include <M5UnitOLED.h> // If you use UnitRCA (for Video output), write this. // #include <M5UnitRCA.h> ...and the display shows the menu with the buttons. I see they have the wave file directly in the .ino, so I may try and translate my mp3 to hex and paste it in where the wav_unsigned_8bit_click goes. This definitely gives me something to work with, so thank you.
  • M5Dial backlight control / dimming?

    Arduino
    3
    0 Votes
    3 Posts
    2k Views
    E
    Hey thanks! So... funny story... I tried the sketch you linked and it worked fine. Then I tried calling the M5Dial.Display.setBrightness function in my sketch, and it did nothing regardless of what number I passed to it. Long story short, I'm using Bodmer's TFT_eSPI library in my sketch and I had TFT_BL defined in the user config file. It seems that defining that makes the TFT_eSPI library take over the backlight control pin and stops the setBrightness function from working. Commenting out the setting of TFT_BL in that config file made the function work.
  • Arduino UNO + ST7789V2

    Arduino
    4
    0 Votes
    4 Posts
    2k Views
    robskiR
    @MARKS-MILINKOVS said in Arduino UNO + ST7789V2: @robski okay, and can I deal with it somehow? show us your setup
  • 0 Votes
    3 Posts
    2k Views
    M
    @ajb2k3 i did, but it just doesn't show the image . I tried inserting the byte array to an other online complier and it gave the output as required can you please tell me what you use for images as UIflow 2.0 doesn't work for me as well thank you
  • How To Overwrite Text Without Flash?

    Arduino
    3
    0 Votes
    3 Posts
    6k Views
    PaulskptP
    @JonnyMac Hi Jonny, your post is quite old however I want to share with you (and anyone else) my experience. I had the same "flash" or "flickering" while updating data on the M5Stack Core display. In my case update of elapsed seconds (every 10 seconds). It was caused by the fact that quite a bit of redrawing took place in a same second. So I wrote the following lines to prevent redraw in the same second: See especially the following set of lines of code: int elapsedSecsMod = elapsed_secs_t % 10; if (elapsedSecsMod > 0) elapsedSecs_shown = false; // reset flag if (start || (!elapsedSecs_shown && elapsedSecsMod == 0)) { sprintf(charVal, "%6lu", elapsed_secs_t); disp_nr(120, charVal); // Display elapsed seconds elapsedSecs_shown = true; // set flag. Prevents value get redrawn many times in the same second } Below the lines above in the total example: unsigned long start_t; unsigned long curr_t; unsigned long elapsed_msecs_t; unsigned long elapsed_secs_t; unsigned long elapsed_mins_t; unsigned long elapsed_mins_old_t = 0; unsigned long interval_t; int cur_h = 10; int cur_v = 10; void setup() { M5.begin(); M5.Lcd.fillScreen(BLACK); Serial.begin(115200); start_t = millis(); M5.Lcd.setCursor(cur_h, cur_v+120); M5.Lcd.print("Elapsed Secs:"); } void disp_nr(int v_incr, const char* sNr) { int cur_h_new = 0; M5.Lcd.setTextPadding(M5.Lcd.width() - 50); cur_h_new = 80; // NOTE: the 4th parameter to M5.Lcd.fillRect() must be at least 14 to cover all the height of a digit of M5.Lcd.setTextSize(2) !!! M5.Lcd.fillRect(cur_h_new, cur_v + v_incr, 100, 14, BLACK); // erase partial place for updating data if (strlen(sNr) > 0) { M5.Lcd.setTextSize(2); M5.Lcd.drawString(sNr, 100, cur_v + v_incr); M5.Lcd.setTextSize(1); } } bool start = true; bool elapsedSecs_shown = false; void loop() { char es2[] = "Elapsed Secs: "; int le = 8; char charVal[le]; curr_t = millis(); elapsed_msecs_t = curr_t - start_t; elapsed_secs_t = (long) elapsed_msecs_t / 1000; elapsed_mins_t = (long) elapsed_secs_t / 60; int elapsedSecsMod = elapsed_secs_t % 10; if (elapsedSecsMod > 0) elapsedSecs_shown = false; // reset flag if (start || (!elapsedSecs_shown && elapsedSecsMod == 0)) { // Every 10 seconds sprintf(charVal, "%6lu", elapsed_secs_t); disp_nr(120, charVal); // Display elapsed seconds elapsedSecs_shown = true; // set flag. Prevents value get redrawn many times in the same second } // [ more code here ] if (start) start = false; }
  • Can't compile

    Arduino
    4
    0 Votes
    4 Posts
    3k Views
    R
    Got the same GPIO error msg... Changing the ESP32 Espressif boards back to v 2.0.17 worked for my M5Stick C also. Never would have found that. Thanks greatly!
  • M5 RS485 Modbus slave sample code does not compile

    Arduino arduino
    4
    0 Votes
    4 Posts
    5k Views
    R
    I'm having the same problem testing a similar example in https://github.com/m5stack/ATOM_DTU_LoRaWAN/blob/master/examples/Modbus/ModBus-RTU/Slave/Slave.ino Does anyone have a working example to share?
  • Cannot compile M5Paper Weather sketch

    Arduino
    6
    0 Votes
    6 Posts
    5k Views
    F
    weather information from openweathermap https://openweathermap.org on the e-ink display of the M5Paper. Please edit the config.h file with your own data. You need an api key from openweathermap. Config.h #pragma once #define VERSION "Version 1.0" #define CITY_NAME "City" // change to your location #define LATITUDE 47.69732 #define LONGITUDE 8.63493 #define OPENWEATHER_SRV "api.openweathermap.org" #define OPENWEATHER_PORT 80 #define OPENWEATHER_API "your openweathermap api key" #define WIFI_SSID "your wifi ssid" #define WIFI_PW "your wifi password" onecall is not free anymore with new accounts. https://github.com/Bastelschlumpf/M5PaperWeather/issues/9
  • RTC vs ESP32 timer

    Arduino
    2
    0 Votes
    2 Posts
    2k Views
    C
    The RTC (BM8563) is a separate chip on the M5Dial board (it is also used on some other M5Stack products). It is literally hardwired to the battery which means you can keep track of the clock even while the M5Dial board is shut down - that is as long as you always keep an un-depleted battery connected to the board. The BM8563 chip consumes less than 3 µA@"stdLiIonVoltage"
  • f_mount failed: (3) The physical drive cannot work

    Arduino
    2
    0 Votes
    2 Posts
    2k Views
    K
    After some research i found that sandisk made in Taiwan can happen this problem, i tested with another sd card and its all good.
  • 0 Votes
    2 Posts
    2k Views
    B
    @bmeyer29 Didn't get a response to my questions, so proceeded to make changes to coreS3 camera file. Changed sensor_t to cam_sensor_t in files esp_camera.h and sensor.h. These are buried waaaay down in C:\Users<me>\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32s3\include\esp32-camera\driver\include
  • CoreS3 Camera Example not working

    Arduino
    3
    0 Votes
    3 Posts
    3k Views
    felmueF
    Hello @M5Judea further investigation and tests indicate that in your case the incorrect line mode to access PSRAM is used, e.g. opi instead of qspi. I can force the same error in my setup by forcing line mode opi. That said, the line mode is normally defined via board selection. So my best guess would be that you might have selected the incorrect board? Please double check that you have selected the proper board in your IDE. Thanks Felix
  • UHF-Rfid not working with StickCPlus2

    Arduino
    2
    0 Votes
    2 Posts
    1k Views
    N
    I have a similar issue. My UHF RFID reader (JRD 4035) wont work on the Atom lite. I have been tinkering all day with no luck. Maybe the example code provided is outdated?
  • M5Stack Dial CAN Arduino Library

    Arduino
    3
    0 Votes
    3 Posts
    3k Views
    teastainT
    @jonsar JST 2.0 connectors, commonly called 'Grove' and available through M5Stack!
  • ATOMIC Stepmotor Base (DRV8825) Example Doesn't Work...

    Arduino
    3
    0 Votes
    3 Posts
    2k Views
    teastainT
    @cairnus how to mark text as code: Start a blank line with three back-quotes ` (upper left of the keyboard, below the tilde) #include <AccelStepper.h> int pin_en = 5; int pin_direction = 7; int pin_step = 6; int pin_reset = 39; int pin_voltage = 8; int pin_fault = 38; int microstep = 1; end with a blank line and three back-quotes as well. cheers!