๐Ÿค–Have you ever tried Chat.M5Stack.com before asking??๐Ÿ˜Ž

Subcategories

  • You can discuss ESPHome related issues here, share your yaml and projects.

    20 Topics
    33 Posts
    J
    Hi, I have several ATOM PICO Lite (grey) modules that when I connect them with an USB cable to my laptop, a COM port is shown in my WIN11 device list under Ports (COM & LTP).When I connect to the device in ESPHome, I can see the com port in the pop-up box and when I select the COM port I can establish a connection and install software on the PICO lite. Problem: I recently bought several new ATOM ECHO S3R. When I plug these to my USB port, I dont see a COM port appearing in my Win11 Device list. As a result I can also not connect from ESPHome to the device. I tried to install drivers from this site https://ftdichip.com/drivers/vcp-drivers/ but that did not help. Any tips what I can do to communicate with my new ATOM S3R modules? Thanks for tips! Regards, Jules
  • Squareline Studio and LVGL Discussion

    6 Topics
    19 Posts
    S
    @ไฟบใŒใ‚ฌใƒณใƒ€ใƒ ใ  said in LVGL performance problem: I applied LVGL on stickc-plus2๏ผŒwith TFT_eSPI's st7789v2 driver.But the refreshing rate is very low (while doing "load screen anim").I know stickc had good performance on drawing screen (by watching the video of M5stick T-Lite Thermal tutorial). And the LVGL also has a good performance through Dial-ESP32-S3 and Din-Meter demonstration video. So what is the reason of such low performance. Cound it be the TFT_eSPI library? Iโ€™ve seen similar issues on the StickC-Plus2. It could be due to TFT_eSPI settings, try increasing the SPI frequency or enabling DMA. Also, check your LVGL buffer config; full buffering helps with performance.
  • Discuss all things UIFlow here. Bugs, Improvements, Guides etc...

    1k Topics
    4k Posts
    S
    I have the same problem too. It works with 2.4.2.
  • M5Stack is programmable with the Arduino IDE. Here you can troubleshoot your issues and share Arduino code and libraries

    468 Topics
    2k Posts
    B
    This is the closest I got on a code which provides some sort of acceleration/deaceleration on jumping btw positions. I wonder if is there an official way to achieve this smoothly. Thanks #include "unit_rolleri2c.hpp" #include <M5Unified.h> /* Going to random position every 1 second - trying to move with ease in/out, but very artificial/jittery - not smooth. */ UnitRollerI2C RollerI2C; const int32_t UNITS_PER_DEGREE = 100; const int32_t POSITION_TOLERANCE = 150; // ~1.5ยฐ arrival threshold const uint32_t MOVE_DURATION_MS = 3000; // total time per move (ms) โ€” tune 1000โ€“5000 const uint32_t STEP_MS = 40; // trajectory update interval (ms) const uint32_t PAUSE_MS = 1000; // pause at target before next move int32_t basePosition = 0; // โ”€โ”€ Ease-in / ease-out using a sine curve โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ // t=0.0 โ†’ 0.0 | t=0.5 โ†’ 0.5 | t=1.0 โ†’ 1.0 // Accelerates from rest, decelerates to rest โ€” smooth S-curve. float easeInOut(float t) { return (1.0f - cosf(t * PI)) / 2.0f; } // Drives from startUnits โ†’ targetUnits over MOVE_DURATION_MS with ease in/out. // Returns true when the motor confirms arrival within tolerance. bool easedMoveTo(int32_t startUnits, int32_t targetUnits) { uint32_t moveStart = millis(); while (true) { uint32_t elapsed = millis() - moveStart; float t = min((float)elapsed / (float)MOVE_DURATION_MS, 1.0f); // Compute eased intermediate setpoint float eased = easeInOut(t); int32_t intermediate = startUnits + (int32_t)((targetUnits - startUnits) * eased); RollerI2C.setPos(intermediate); // Once we've sent the final setpoint, check arrival if (t >= 1.0f) { int32_t actual = RollerI2C.getPosReadback(); if (abs(targetUnits - actual) <= POSITION_TOLERANCE) { return true; // โœ… arrived } // Give a small extra window for the PID to settle if (elapsed > MOVE_DURATION_MS + 1000) { return false; // โฑ๏ธ timed out even after easing finished } } delay(STEP_MS); } } int32_t degreesToUnits(float deg) { return (int32_t)(deg * UNITS_PER_DEGREE); } float unitsToDegrees(int32_t u) { return u / (float)UNITS_PER_DEGREE; } void setup() { M5.begin(); Serial.begin(115200); delay(500); randomSeed(analogRead(0)); bool found = RollerI2C.begin(&Wire, 0x64, 2, 1, 400000); if (!found) { Serial.println("โŒ Roller485 NOT found on I2C! Check wiring."); while (true) delay(1000); } Serial.println("โœ… Roller485 found!"); Serial.print("Vin (x0.01V): "); Serial.println(RollerI2C.getVin()); Serial.print("ErrorCode: "); Serial.println(RollerI2C.getErrorCode()); RollerI2C.setOutput(0); RollerI2C.setMode(ROLLER_MODE_POSITION); RollerI2C.setPosMaxCurrent(80000); RollerI2C.setOutput(1); delay(100); basePosition = RollerI2C.getPosReadback(); Serial.print("Base position (raw): "); Serial.println(basePosition); Serial.println("Ready. Starting eased random position loop...\n"); delay(500); } int32_t currentTarget = 0; // tracks last target so we ease FROM it void loop() { // Random angle offset from base: -180ยฐ to +180ยฐ float targetDegrees = random(-180, 181); int32_t targetUnits = basePosition + degreesToUnits(targetDegrees); int32_t fromUnits = RollerI2C.getPosReadback(); // start from actual current pos Serial.print("โžก๏ธ "); Serial.print(unitsToDegrees(fromUnits - basePosition), 1); Serial.print("ยฐ โ†’ "); Serial.print(targetDegrees, 1); Serial.println("ยฐ (easing...)"); bool arrived = easedMoveTo(fromUnits, targetUnits); float actualDeg = unitsToDegrees(RollerI2C.getPosReadback() - basePosition); if (arrived) { Serial.print("โœ… Arrived at "); } else { Serial.print("โฑ๏ธ Stopped at "); } Serial.print(actualDeg, 1); Serial.println("ยฐ"); Serial.print(" ErrorCode: "); Serial.println(RollerI2C.getErrorCode()); Serial.println(); delay(PAUSE_MS); // pause 1 second at target }
  • Discuss all things Micropython here. Get help, Recommend Libraries, Report Bugs and Improvements

    218 Topics
    898 Posts
    J
    @pabou try using uiflow to generate the code, then peek copy from there.
  • For discussion and assistance with M5EZ.

    13 Topics
    62 Posts
    J
    using the mentioned changes hello_world example did compile and got uploaded to my core2. However , nothing is shown on screen, screen remains black.
  • Discuss all things related to ESP - IDF, Espressifs IoT Development Framework

    29 Topics
    101 Posts
    felmueF
    Hello @daniyyel ah, ok. So the correct documentation is here. Have a look at the code examples in Quick Start Guide to see how the M5IOE1 needs to be programmed to turn on power etc. The function is called SIM7028_EN() and first turns on power then resets the modem. Thanks Felix
  • UiFlow 2.0 related issues discussion.

    363 Topics
    2k Posts
    T
    Similar here, UIFlow 1 doesn't work either. Password reset didn't help.
  • m5paper s3 homeassistant

    3
    0 Votes
    3 Posts
    3k Views
    F
    @simondid have you even tried to look it up yourself? Google's first hit is literally this thread from April, including a full ESPHome config. ESPHome also has a draft PR for including EPDiy as a generic display platform, and EPDiy itself has a PaperS3 pull request, which will allow the BMI270 component from the above thread to work (currently EPDiy tries to import some legacy code that breaks I2C, as patrick3399 used a custom fork of EPDiy that isn't exactly up to date).
  • M5StickC Plus2 not booting

    5
    0 Votes
    5 Posts
    3k Views
    6
    @robski it failed at 2%
  • Tab 5 screen flicker after firmware update

    11
    0 Votes
    11 Posts
    6k Views
    JomacJ
    @Jomac said in Tab 5 screen flicker after firmware update: @sapphire said in Tab 5 screen flicker after firmware update: @Jomac If you watch the video, I have this little defect that doesn't happen often (a flashing). The link doesn't work for me Well I flashed the firmware several times and also flashed a couple of apps on M5Burner and nothing made any difference, everything just flickered so I switched off and left it for the night, next morning I was going to video the issue and when I switched on my Tab 5 again, the fault had cleared.
  • issue with CORE2 library

    7
    0 Votes
    7 Posts
    7k Views
    R
    The Problem seems to still persist. Had the same issue and solved it this way. Thanks @Dan-Perren and @teastain for the solution!
  • M5Burner Ubuntu 25.04 issue with chrome helper binary?

    2
    0 Votes
    2 Posts
    1k Views
    E
    Okay, posting to help others as I did find the solution to this. As the error message states, the binary has to be suid root. You can get it going by typing: sudo chmod 4755 bin/chrome-sandbox From wherever you installed M5Burner. This, and adding the current user to the dialout group, should really be part of the installation instructions. I can't see how anyone on Linux would avoid doing both of these steps. Now I if I can figure out why the Tab5 is bootlooping i'll be up and running...
  • EzData iOS App

    11
    0 Votes
    11 Posts
    7k Views
    S
    I'm curiousโ€”will the iOS version of EzData support the same modules and data types as the M5Stack Core devices? Also wondering if there's going to be integration with iCloud or local storage for exporting logs. Iโ€™ve been exploring some related iOS app development workflows, such as those outlined at Idea Maker, and wondering how closely EzData aligns with those practices. Looking forward to seeing how it develops.
  • Cardputer Driver Issues

    drivers
    6
    0 Votes
    6 Posts
    4k Views
    robskiR
    @Jomac said in Cardputer Driver Issues: @robski said in Cardputer Driver Issues: do you use m5burner? if so what com port it shows there when you connect cardputer? also what com port it is showing when cardputers on/off switch is in off and then you press and hold BOOT btn and then connect usb? It depends on how it feels, sometimes it will connect on Com 4 and other times on Com 9??? thing is that comport you see with just connecting cardputer to usb is one of two available second comport (needed for programming) is visible when on dead device you press and hold boot button G0 and then connect to usb
  • GPIO ports for the grove connector?

    22
    1
    0 Votes
    22 Posts
    62k Views
    H
    For the M5Stack Core2, Grove Port A uses I2C on GPIO 21 (SDA) and GPIO 22 (SCL). However, when using a Pb.HUB, you're communicating with the hub over I2C, and each connected unit (like relays or RGB) is addressed virtually via the hub. Since openHASP doesn't natively support Pb.HUB devices, you canโ€™t directly control GPIOs through it. Instead, youโ€™d need custom firmware or integrate via ESPHome or Arduino to bridge Pb.HUB control with openHASP. TL;DR: GPIO 21/22 for I2C, but control of devices via Pb.HUB needs extra handling outside openHASP.
  • Degree symbol on display

    7
    0 Votes
    7 Posts
    8k Views
    P
    @teastain Here the answer: M5.Lcd.print("Temp:"); M5.Lcd.print(t,0); M5.Lcd.print(char(247));M5.Lcd.println("C"); I guess you have found it meanwhile, but perhaps it is useful for others.
  • 0 Votes
    3 Posts
    3k Views
    S
    Hey @roanevic, just jumping in here, Iโ€™ve tried that same setup recently. The example code Kuriko linked is a good starting point: https://github.com/m5stack/M5-RoverC/tree/master/examples/RoverC_JoyC_Remote Itโ€™s designed for StickC, StickC Plus, and the StickC Plus2, so it should work with your hardware. Just make sure you have all the necessary libraries installed (like M5StickCPlus2, RoverC, and JoyC) in the Arduino IDE. Let me know if you hit any snags setting it up.
  • Source for M5CoreS3 OpenAI Voice Assistant

    6
    3 Votes
    6 Posts
    5k Views
    D
    I've just uploaded it to a M5stack CoreS3 but the audio is very choppy like the streaming isn't smooth. Any way to adjust anything since there seems to be no other parameters except wifi?
  • UIFlow2 & M5Paper

    2
    0 Votes
    2 Posts
    2k Views
    felmueF
    Hello @daniel-edge456 in UIFlow2 v2.2.6 using touch blocks for M5Paper and then look into the Python tab I get the following code to get touch coordinates: if (M5.Touch.getCount()) > 0: x = M5.Touch.getX() y = M5.Touch.getY() doing the same with power blocks I get: Power.deepSleep(1000, True) to put M5Paper into deep sleep. Thanks Felix
  • cannot connect M5capsule

    6
    0 Votes
    6 Posts
    4k Views
    robskiR
    @jgude said in cannot connect M5capsule: @robski yes indeed.. but i get the fatal error it cant connect to espressif device, no serial data received. Do i need to clean it first somehow? Lools like it cannot get mac when i try to use the burn button try erase first before burn pressing boot booton on power up is important step on firmware operations
  • atom lite lorawan network connectivity issue

    2
    0 Votes
    2 Posts
    2k Views
    A
    Version: RUI_4.0.6_RAK3172-E Current Work Mode: LoRa P2P. Sending: AT+BAND=5 Response: AT_MODE_NO_SUPPORT Sending: AT+DEVEUI=AC1F09FFFE16EE10 Response: AT_MODE_NO_SUPPORT Sending: AT+APPEUI=9F8E71DD3AFE41B2 Response: AT_MODE_NO_SUPPORT Sending: AT+APPKEY=b4b5c65a175d5f441ee85686b12534a8 Response: AT_MODE_NO_SUPPORT Sending: AT+NJM=1 Response: AT_MODE_NO_SUPPORT Sending: AT+CLASS=C Response: AT_MODE_NO_SUPPORT Sending: AT+MASK=0002 Response: AT_MODE_NO_SUPPORT Sending: AT+JOIN=1:0:10:8 Response: AT_MODE_NO_SUPPORT Join failed. E (100362) i2c: i2c driver install error E (100364) time: The current date/time in Shanghai is: Mon Apr 21 21:19:27 2025 E (100367) wifi:NAN WiFi stop E (100368) transport_base: poll_read select error 113, errno = Software caused connection abort, fd = 54 E (100376) mqtt_client: Poll read error: 119, aborting connection [INFO] Syncing resources... [INFO] WiFi connected! Joining TTN... Sending: ATZ Response: RAKwireless RAK3172 Version: RUI_4.0.6_RAK3172-E Current Work Mode: LoRa P2P. Sending: AT+BAND=5 Response: AT_MODE_NO_SUPPORT Sending: AT+DEVEUI=AC1F09FFFE16EE10 Response: AT_MODE_NO_SUPPORT Sending: AT+APPEUI=9F8E71DD3AFE41B2 Response: AT_MODE_NO_SUPPORT Sending: AT+APPKEY=b4b5c65a175d5f441ee85686b12534a8 Response: AT_MODE_NO_SUPPORT Sending: AT+NJM=1 Response: AT_MODE_NO_SUPPORT Sending: AT+CLASS=C Response: AT_MODE_NO_SUPPORT Sending: AT+MASK=0002 Response: AT_MODE_NO_SUPPORT Sending: AT+JOIN=1:0:10:8 Response: AT_MODE_NO_SUPPORT Join failed.
  • M5Burner crashes.

    7
    0 Votes
    7 Posts
    5k Views
    H
    @Handcannon got it. Working now.
  • 0 Votes
    1 Posts
    1k Views
    No one has replied
  • M5 Dial - Port issues

    3
    0 Votes
    3 Posts
    2k Views
    E
    @robski Hi, Yes. I tried both v2.4 and also previous versions (e.g., v2.2). I am using UI Flow 2 online with Chrome on Windows. I tried both the burner online and the desktop version.
  • where can i find source for "PaperS3 Factory Test"?

    4
    0 Votes
    4 Posts
    3k Views
    kurikoK
    @palani there is no examples specially for PaperS3. you have to use examples of M5GFX https://github.com/m5stack/M5GFX/tree/master/examples
  • Not able to burn UiFlow 2.0 Firmware

    1
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Lots of comment spam inside M5Burner app

    4
    1 Votes
    4 Posts
    3k Views
    D
    Is there any way to delete \ edit comments?