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

Subcategories

  • 547 Topics
    2k Posts
    G
    Is there any secret in how to unscrew the screws on the orange connector for the wires that go to the load cell? I have tried several screwdrivers and nothing seems to move them. I am afraid of stripping the head. Any suggestions?
  • When you meet problems using M5Stack, we help you solve it.

    200 Topics
    989 Posts
    robskiR
    @johnericsutton hard to believe that unit is designed in such way to report value only when measured source is above 0...
  • 504 Topics
    2k Posts
    C
    In case anyone else comes across this post, it appears that the wires coming out of the DinMeter PortB are reversed to the label, at least on my unit. G1 is the yellow wire, and G2 is the white one. It works as expected to do a digital read on the pins for a button push.
  • 1k Topics
    6k Posts
    ShawnHymelS
    @felmue That helps a lot, thank you!
  • 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.

    257 Topics
    845 Posts
    kurikoK
    @wwhite https://docs.m5stack.com/en/guide/realtime/openai/atomic_echo_base
  • Section Rules / 版块规则

    Pinned
    1
    0 Votes
    1 Posts
    9k Views
    No one has replied
  • Stack Chan unboxing

    1
    5
    0 Votes
    1 Posts
    14 Views
    No one has replied
  • Tab5 RS485 connector

    6
    0 Votes
    6 Posts
    3k Views
    Y
    @scroggyg I had the same question, so I looked into it and found out it's a Molex PicoBlade 6-pin. It’s sometimes called "Micro JST", but it's really a 1.25mm pitch Molex connector.
  • paper s3 micropython example for Power.lightSleep()

    7
    0 Votes
    7 Posts
    643 Views
    felmueF
    Hello @jhfoo2 well, in my experience and with my M5PaperS3 it takes a couple of readouts (e.g. M5.update()) until the return value from the touch controller goes back to 0. Please let me know if you find a more elegant solution. Thanks Felix
  • Paper S3 White background is not (epaper) white with BMP

    1
    0 Votes
    1 Posts
    192 Views
    No one has replied
  • Paper S3 wake on IMU?

    7
    0 Votes
    7 Posts
    3k Views
    J
    Hi. Thanks for posting the code. Can you confirm if this is a once-and-done write to the BMI? I code in micropython and wonder if I can run your code and then flash back to micropython and it'd still work.
  • PaperS3 screen stuck

    7
    0 Votes
    7 Posts
    7k Views
    A
    @claudiu Same happen with me..I used another laptop for login and problem resolved of loginitalicised text
  • can anyone support xiaozhi in cardputer?

    2
    0 Votes
    2 Posts
    1k Views
    M
    截至2026年2月13日,M5burner中,yarnell已经上传了xiaozhi的adv版本固件V2.2.2。
  • REPL on Cardputer ADV: PikaScript v1.12.0

    2
    0 Votes
    2 Posts
    482 Views
    Z
    @10sor Hi, here is some documetation: https://pikadoc-en.readthedocs.io/en/latest/index.html and a gh-repo here: https://github.com/pikasTech/pikaPython?tab=readme-ov-file Hope, it helps. zedr0k
  • Inside M5StickS3

    3
    1 Votes
    3 Posts
    2k Views
    KabronK
    @felmue Too low resolution :(
  • сломалась кнопка

    1
    0 Votes
    1 Posts
    201 Views
    No one has replied
  • ENV Monitor ADV

    2
    0 Votes
    2 Posts
    1k Views
    N
    Hi, @aliense44. I have a Card Computer ADV, a GPS/LoRa module, and an ENV III Sensor. I was trying to test the ENV Monitor ADV app, but it didn't display any information. Could you tell me how to connect it for it to work with the app? Thank you.
  • Charging Tab 5 in sleep mode?

    3
    0 Votes
    3 Posts
    2k Views
    W
    @felmue Yeah, seems to be correct. Thanks.
  • Tab5 RTC backup battery specifications

    9
    1
    0 Votes
    9 Posts
    4k Views
    easytargetE
    Like @felmue I also did a bit more testing of the low voltage flags, then enabled the charge circuit (and setting the charge voltage via bfvsel to unlimited). The clock has held time ever since. I'm curious about how long the capacitor can run the clock when fully charged and I have disabled charging again. But my device spends most of it's time on USB power so the duration is hard to measure; so lets try to estimate it :-) If the frequency out and I2C is disabled (inien = True) the device should typically draw 0.3 µA when on backup battery (table 5 in the datasheet). The capacitor is possibly a ML414H; 0.07 F. Table 3 in the datasheet says that the clock oscillator minimum voltage is 1.1v, and the start voltage is VStandby; 3.3v. So we just need to work out the discharge time. Start with working out the equivalent resistance at 3.3v; R=Voltage/Current = 3.3/0.0000003 = 11000000 = 11 MΩ Now use an online discharge calculator to do the 'heavy lifting'... https://3roam.com/capacitor-discharge-time-calculator/ (I like that site; it shows the maths used) This gives an estimated! time of 845932 seconds; which is ~235 hours, almost ten days. Which seems reasonable for a capacitor backup.
  • Tab5 LoRa

    1
    0 Votes
    1 Posts
    519 Views
    No one has replied
  • Chain Blank Proto use cases

    1
    0 Votes
    1 Posts
    334 Views
    No one has replied
  • M5Dial V1 (not V1.1) BtnA not responding (too low of priority?)

    1
    3
    0 Votes
    1 Posts
    303 Views
    No one has replied
  • 1 Votes
    3 Posts
    1k Views
    easytargetE
    @felmue Thank you for doing the test :-) I guess this simplifies things for anybody writing a driver; but does prevent people having fun-and-games with under/over clocking the camera module. I think it also means you cannot 'stop' the camera, which may be problem for extreme power saving. But I suspect the reset pin can be used to halt the module too.
  • How to scale a bitmap drawn with M5.Display.drawBitmap() on M5Stack?

    1
    1
    0 Votes
    1 Posts
    434 Views
    No one has replied
  • Tab 5, how to enable Lora?

    5
    0 Votes
    5 Posts
    2k Views
    H
    @easytarget thank you. That is indeed an option. In my experience not to much work to get a Lora module working. We have a number of them in the field. But we would like the tab5 not become thicker as it is. We are now considering to place an Heltec Lora inside. Maybe that could work. Regards.