🤖Have you ever tried Chat.M5Stack.com before asking??😎

Subcategories

  • 552 Topics
    2k Posts
    O
    Dear M5stack team, i've been using the SC850SL to get images and it works great:)) However currently im running it at full resolution. I noticed in the datasheet of SC850SL that it has a 2x2 binning mode to output 1080p with full FOV. Is it possible to implement this function? I think this would require a new init table? Best regards, Oxidane
  • When you meet problems using M5Stack, we help you solve it.

    201 Topics
    990 Posts
    S
    不小心下载了一个imu什么的……咔咔一顿后……我关了重新开……,但还是不会动,只会左右动,然后跳舞的话只会亮灯,不会动,只能左右转动……
  • 506 Topics
    2k Posts
    F
    Yesterday, using the M5paper S3 to create a project for the Global Innovation Contest 2026 detected an issue with the screen of the M5paper. A horizontal line is crossing the screen, it seems a line of the screen is broken (it's not changing to other color). I changed the firmware, uploaded C Arduino code and then micropython and the issue persists (it's not a software problem) I linked down below two photos of the screen. Does anyone have the same issue? [image: 1782510887123-line1_small.jpg] [image: 1782510903828-line2_small.jpg]
  • 1k Topics
    6k Posts
    L
    If you're planning to use an external 1S LiPo with the M5Core2 through BUS pins 1 and 30, it's worth checking the board schematic first. The community confirmed that pin 30 is directly connected to VBAT, so an external battery with the same voltage can work. One important tip is to avoid connecting two rechargeable batteries in parallel without proper protection. Discussions like this are why I keep coming back to the M5Stack community, and even Laptop Giant enjoys following practical hardware insights like these.
  • 55 Topics
    203 Posts
    J
    I have been able to get a program to work that uses the M5EchoBase library but no luck using the unified library. For example the simple program below doesn't work. #include <M5Unified.h> void setup() { // 1. Initialize M5Unified delay(1000); // Delay for a moment to allow the system to stabilize. auto cfg = M5.config(); cfg.serial_baudrate = 115200; M5.begin(cfg); // 2. Configure the Speaker for the Atomic Audio Base (ES8311) // We access the speaker configuration directly via M5.Speaker.config() auto spk_cfg = M5.Speaker.config(); // Set pins for Atomic Audio Base (ES8311) spk_cfg.pin_bck = 8; // BCLK spk_cfg.pin_ws = 6; // LRCK (WS) spk_cfg.pin_data_out = 5; // DAC (DOUT) spk_cfg.i2s_port = I2S_NUM_0; // Configure for external codec (not internal DAC) spk_cfg.use_dac = false; spk_cfg.sample_rate = 44100; // Apply the configuration M5.Speaker.config(spk_cfg); // 3. Start the speaker M5.Speaker.begin(); // 4. Set volume (0-255) M5.Speaker.setVolume(128); } void loop() { M5.update(); // Play a 1000 Hz tone for 1000 milliseconds (1 second) M5.Speaker.tone(1000, 1000); // Wait for the tone to finish delay(1000); // Small delay before next loop delay(1000); } Is there no way to set up the ES8311 codec without using M5EchoBase? strangely if I run the program below then load the above program the tone works? But I can't stick the M5.Speaker.tone(1000, 1000); command in the program below and have it work. Does anyone know how to play a tone using only the Unified library from an AtomS3R into a Atomic Audio Base (ES8311 codec)? #include <M5Unified.h> #include <M5EchoBase.h> #if defined(CONFIG_IDF_TARGET_ESP32S3) #define RECORD_SIZE (1024 * 400) #elif defined(CONFIG_IDF_TARGET_ESP32) #define RECORD_SIZE (1024 * 400) #endif #if (ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)) M5EchoBase echobase; #else M5EchoBase echobase(I2S_NUM_0); #endif static uint8_t *buffer = nullptr; // Pointer to hold the audio buffer. void setup() { delay(1000); // Delay for a moment to allow the system to stabilize. auto cfg = M5.config(); cfg.serial_baudrate = 115200; M5.begin(cfg); // Initialize the EchoBase with ATOMS3 pinmap. #if defined(CONFIG_IDF_TARGET_ESP32S3) if (!echobase.init(44100 /*Sample Rate*/, 38 /*I2C SDA*/, 39 /*I2C SCL*/, 7 /*I2S DIN*/, 6 /*I2S WS*/, 5 /*I2S DOUT*/, 8 /*I2S BCK*/, Wire) != 0) { Serial.println("Failed to initialize EchoBase!"); while (true) { delay(1000); } } #elif defined(CONFIG_IDF_TARGET_ESP32) // Initialize the EchoBase with ATOM pinmap. if (!echobase.init(44100 /*Sample Rate*/, 25 /*I2C SDA*/, 21 /*I2C SCL*/, 23 /*I2S DIN*/, 19 /*I2S WS*/, 22 /*I2S DOUT*/, 33 /*I2S BCK*/, Wire) != 0) { Serial.println("Failed to initialize EchoBase!"); while (true) { delay(1000); } } #endif echobase.setSpeakerVolume(80); // Set speaker volume to 70%. echobase.setMicGain(ES8311_MIC_GAIN_0DB); // Set microphone gain to 0dB. buffer = (uint8_t *)malloc(RECORD_SIZE); // Allocate memory for the record buffer. // Check if memory allocation was successful. if (buffer == nullptr) { // If memory allocation fails, enter an infinite loop. while (true) { Serial.println("Failed to allocate memory :("); delay(1000); } } Serial.println("EchoBase ready, start recording and playing!"); // M5.Speaker.tone(2000, 2000); // delay(2000); } void loop() { Serial.println("Start recording..."); // Recording echobase.setMute(false); echobase.record(buffer, RECORD_SIZE); // Record audio into buffer. delay(100); Serial.println("Start playing..."); // Playing echobase.setMute(false); delay(10); echobase.play(buffer, RECORD_SIZE); // Play audio from buffer. //M5.Speaker.playRaw(buffer, RECORD_SIZE, 44100, false, 1, 0); delay(100); }
  • For topics on the M5Stack Atom.

    260 Topics
    849 Posts
    K
    After a lot of testing and searching it became apparent that the M5Atom controller did not work properly (never had this type of problem before). This, outdated software and some wrong suggestions by both ChatGPT and the AI bot from M5Stack (with the knowledge base available) made it a bit of struggle. However, after all updates and testing different hardware it finally works again. So thanks to anyone that spent time on this!
  • What is the best orientation of M5Stack Atom-lite to get better RSSI?

    3
    0 Votes
    3 Posts
    3k Views
    P
    @felmue Hi Felix, Thank you for pointing me the discussion. It does provide valuable information, however, it doesn't discuss about the orientation of the antenna. I am curious that in your applications, how do you usually position the 3D antenna? My WiFi router has three whip antennas all positioned vertically, is putting Atom-lite LED/button up (3D antenna facing down) a good practice? Paul
  • M5Station RS485 port

    2
    0 Votes
    2 Posts
    2k Views
    felmueF
    Hello @luisgcu you are correct the GPIO choice is a bit unfortunate. That said it helps if you want to debug what's going on on the Modbus connection by using a Modbus sniffer. I've found this one and it decodes the RTU data nicely. See below: captured packet 1: length = 8, CRC: 6F8C = 6F8C [OK] DUMP: 04 05 00 00 FF 00 8C 6F As for ESP32 debug output. You can always setup Serial to output debug onto a different GPIO. Thanks Felix
  • Cores3 uiflow

    15
    0 Votes
    15 Posts
    17k Views
    ajb2k3A
    @bouvin said in Cores3 uiflow: I, too, have received a CoreS3. I have flashed many Core2s before, but this does not seem to work? From the M5Burner application, I can select the Alpha13 UIFlow 2.0 firmware, successfully burn it to the CoreS3, but it starts up regardless in the demo application…. Are others seeing the same? The S3 generation is flashed differently to previous generations, you have to manually put the S3 devices into boot mode by holding down the reset button to get a green light to get them to flash. I have a video about it going live on Saturday on Youtube.
  • M5stack Timer Camera F: advice on using power.isCharging()

    3
    0 Votes
    3 Posts
    3k Views
    S
    Dear @felmue Thank you very much for your quick response! Unfortunately, it is what I expected, but you were very kind! Best, Simoc
  • M5paper void disableEXTPower()

    4
    0 Votes
    4 Posts
    4k Views
    felmueF
    Hello @HappyUser yes, that should solve the issue of how to power off (and back on) the SIM7080 unit (or any other unit for that matter). Thanks Felix
  • M5Stack Core S3

    8
    0 Votes
    8 Posts
    8k Views
    B
    OK, thanks. Steve
  • UnitV Wifi Networking

    3
    0 Votes
    3 Posts
    3k Views
    U
    Thanks. I already have got UnitV2, UnitV (both OV7740 and OV2640) for evaluation. Do any of the K210 based UnitVs have built-in Wi-Fi's? It would be strange if they don't because once you deploy them in the field you want some sort of network connectivity and would be odd to use a controller with each one of them to go along (as I need multiple Units to be deployed) - keeping aside costs and looking at it purely from ease of use. With UNITV2, it's very easy to work with as its simply a SBC with linux but the one I received gets really hot (higher temperatures: 70+) within 5-10 minutes of operation so would prefer not to use it for any real world application.
  • Error: "BalaC maybe not connect"

    2
    0 Votes
    2 Posts
    3k Views
    C
    I think the unit is defective. Interesting, because other things work: display, program w/ UI Flow, etc. I tried several M5Stick, M5StickPlus, M5StickPlus 1.1. They all work. Only the initial M5StickPlus 1.1 has this issue. And BTW, it behaves similarly when connected to a servo HAT.
  • Position calculation for color block

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • PWM on IO extension module?

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • M5-TOUGH / unable to change display brightness

    7
    0 Votes
    7 Posts
    9k Views
    E
    @felmue said in M5-TOUGH / unable to change display brightness: M5.Axp.SetLDOVoltage(3,3000); Hi Felmue! That one works, thanks a lot! Really confusing that there is a PWM backlight LED mentioned in the library which does not work. And that the usage of SetLcdVoltage is inconsistent between the Core2 and TOUGH. On Core2 the LcdVoltage changes DCDC3 (@param number 0=DCDC1 / 1=DCDC2 / 2=DCDC3 ) which is connected to LCD_BL. For the TOUGH on the other hand DCDC3 is unused and they used the LDO3. So maybe they should simply change the line SetDCVoltage(2, voltage); to M5.Axp.SetLDOVoltage(3,voltage); or maybe even better introduce a new function SetLCDBacklightVoltage(...) in their library. Thanks to all for your hints.
  • CM4 Stack Issues from the very start.

    3
    0 Votes
    3 Posts
    3k Views
    ajb2k3A
    No it was from this place: https://github.com/m5stack/m5stack-linux-dtoverlays/tree/main/examples The issue is actually a dependence missing from the install instructions (user writeup error) fixed with adding the following command: sudo apt-get install qtdeclarative5-dev before running cmake .. && make
  • Timer Camera X: improve image quality

    1
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • 0 Votes
    4 Posts
    6k Views
    teastainT
    @themusicman, I checked out your code because my graphics are rather boring/default. I will try implementing some of your examples!
  • Multiple errors when using <M5GFX.h> and MM5Stack.h> in same program

    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • 0 Votes
    1 Posts
    3k Views
    No one has replied
  • 0 Votes
    1 Posts
    3k Views
    No one has replied
  • M5stack Camera

    1
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • 0 Votes
    5 Posts
    11k Views
    T
    @ajb2k3 said in How do I enter BOOT mode on M5Core2: Wrong boot mode detected (0x0)! The chip needs to be in download mode: @themusicman This means that something else in OSX is access the USBport via a terminal preventing M5Burner from being able to access the port. Please make sure only M5Burner is running and that no other terminal software is running. I tried on my MacBookPro (original issue was on iMac) with no other serial terminal software running, exactly the same issues unfortunately. I have now returned the M5Core2 device back to thePiHut and am awaiting a replacement. Thanks for your support though @ajb2k3 - it is much appreciated.
  • Operational Temperature Range M5Stamp ESP32S3

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