πŸ€–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.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    5 Views
    No one has replied
  • EXT.IO 2 Desktop IDE Compatibility

    2
    0 Votes
    2 Posts
    1k Views
    ajb2k3A
    @ggong No, the Desktop IDE hasn't been updated in a long time as work has been concentrated on the Web IDE.
  • Has anyone gotten MP3 streaming to work on Core2?

    3
    0 Votes
    3 Posts
    2k Views
    W
    I got the sketches to work, They will be posted to the above repo shortly. The key changes from some of the existing code out there that does not work anymore: After WiFi connects, the delay must be increased to at least 1 sec: while ( !WiFi.isConnected() ) delay(100); delay(1000); Preallocating the source buffer seems to be essential: const int preallocateBufferSize = 128*1024; const int preallocateCodecSize = 85332; // AAC+SBR codec max mem needed void *preallocateBuffer = NULL; void *preallocateCodec = NULL; ... // Don't forget to malloc the buffers preallocateBuffer = malloc(preallocateBufferSize); preallocateCodec = malloc(preallocateCodecSize); ... srcbuf = new AudioFileSourceBuffer(file, preallocateBuffer, preallocateBufferSize); ... // Preallocating the MP3 generator doesn't seem to be essential //gen = new AudioGeneratorMP3(preallocateCodec, preallocateCodecSize); You must call M5.begin with the 6th argument false to disable the M5.Speaker code. With this argument, the skeptch will produce audio, but at half speed and half pitch: M5.begin(true, false, true, true, kMBusModeOutput, false); My M5Core2 library version is 0.1.9. I have 2.0.9 of the M5 board. definitions.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    57 Views
    No one has replied
  • Core2 + Lan Module 13.2 + ENV IV help!

    5
    0 Votes
    5 Posts
    3k Views
    felmueF
    Hello @FlooidOps I am glad to hear you figured it out. And sorry for not being more specific about how to switch to the alternate GPIO. Thanks Felix
  • Official Card Computer Demo App is missing from M5Burner app

    3
    0 Votes
    3 Posts
    2k Views
    grimtechnetG
    @robski oh very cool! I didn't notice that till now, thanks. I see the Cardputer demos there. Unfortunately they are outdated but I'll keep an eye on it
  • M5 Stack Fire does not boot after flashing UI Flow 2.0.6.

    4
    0 Votes
    4 Posts
    2k Views
    ajb2k3A
    @pawinchan After erasing and then burning (that looks like the correct version) Once UIFLow say complete hard resetting, wait for a while and then press the fires power/reset button
  • M5Burner on Manjaro Linux issues with dialout group

    3
    0 Votes
    3 Posts
    3k Views
    grimtechnetG
    Thank you. The button press to get into download mode is what I was missing. (Press and hold BtnGo, then press and release BtnRst and BtnGo) After doing that, I saw ttyACM0 listed in the select box.
  • [M5Paper] An EPub Reader using ESP-IDF

    9
    2 Votes
    9 Posts
    19k Views
    R
    @turgu Hi turgu! I'm looking forward to hearing about the new version of your EPub Reader for M5paper1.1. I specifically registered here to find out how things are going with the port and are you planning to add a new version to M5burner? Good luck and all the best!
  • 0 Votes
    2 Posts
    2k Views
    ajb2k3A
    Create sub functions that each clear and draw a screen and have the main program switch between them.
  • [Solved]M5Stickc Plus 2 - Screen Inactivity

    3
    0 Votes
    3 Posts
    2k Views
    J
    I solved it as follows, in case anyone else has the same issue. analogWrite(BACKLIGHT, 0); delay(20); StickCP2.Power.lightSleep(); greetings to all.
  • M5Stickc Plus 2 - Mac Registry UiFlow

    3
    0 Votes
    3 Posts
    2k Views
    J
    Understand. Thank you very much for the reply.
  • Core S3 - Python SD Card Not Working

    3
    0 Votes
    3 Posts
    2k Views
    felmueF
    Hello @mehulge I can successfully read the directory from the SD card using UIFlow2. UIFlow Project Zone example: M5CoreS3_SDCard_read_dir_UIFlow2.0.4 Thanks Felix
  • M5Tough, MQTT and Home Assistant

    2
    0 Votes
    2 Posts
    2k Views
    F
    https://github.com/SmartHome-yourself/m5-tough-touchmenu-for-esphome?tab=readme-ov-file Source link https://github.com/esphome/feature-requests/issues/2166 For information reference install esphome https://hackmd.io/@LHB-0222/ESPHOME_ESP32_SHTC3 board data https://devices.esphome.io/devices/M5Stack-Fire MQTT https://koen.vervloesem.eu/blog/create-a-dashboard-for-your-mqtt-based-home-automation-system-with-the-m5stack-core-and-homepoint/
  • This topic is deleted!

    2
    0 Votes
    2 Posts
    982 Views
  • Core2 1.1 bootloader and partition table bin files?

    2
    0 Votes
    2 Posts
    2k Views
    ajb2k3A
    Use M5Burner, erase the firmware first and then burn UIFlow2 to recover.
  • CoreS3 and unit CatM GNSS cannot cooperate

    cores3 catmgnss
    3
    0 Votes
    3 Posts
    3k Views
    J
    Felix @felmue OMG, this was so easy...many thanks, that was the reason why the unit wasn't reacting for any commands. Have a nice day
  • M5StickC Plus2 not booting

    m5stickc plus
    4
    0 Votes
    4 Posts
    7k Views
    robskiR
    can you do ERASE from M5Burner? Can you load any basic Arduino code for M5StickCPlus2 from examples? When you do M5Burner firmware is it for Plus2 stickC - check if by chance it is not Plus version or StickC.
  • Older Core2 - v2.0.1-CORE2 won't install but v1.13.2 will.

    8
    0 Votes
    8 Posts
    5k Views
    ajb2k3A
    I have a first edition Core2 and Core2 AWS and have no issues updating the firmware.
  • New M5Stack Core 2 device captive buttons

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied