<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Popular Topics]]></title><description><![CDATA[A list of topics that are sorted by post count]]></description><link>https://community.m5stack.com/popular/monthly</link><generator>RSS for Node</generator><lastBuildDate>Sun, 03 May 2026 06:53:33 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/popular/monthly.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Feb 2026 16:39:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Paper S3 epub reader with usb disk mode]]></title><description><![CDATA[@L4700 Hi. Thx for testing. Frankly project happened just for me, because I have so many eReader but none was so light. Now I bought next Paper S3 device to my wife is my new tester :D. Future is unsure, for me - there's possibly all I need. And for others - there's slow  feedback.
What I am thinking about :

HW improve - still trying to figure out some fancy Screen illumination fo this HW.
Wifi portal for transfering books - USB disk mode is very slow, and removing SD card is akward.
Sync readering with other readers (maybe Calibre, not sure now)
Optimization (MCU is slow, but I see still some potencial.
Secondly thinking about future porting to newer models - but it will need some donations to buy new HW. Until this time I have just one donate from my boss :D
Sry for my English.

]]></description><link>https://community.m5stack.com/topic/8091/paper-s3-epub-reader-with-usb-disk-mode</link><guid isPermaLink="true">https://community.m5stack.com/topic/8091/paper-s3-epub-reader-with-usb-disk-mode</guid><dc:creator><![CDATA[erikbotta]]></dc:creator><pubDate>Wed, 18 Feb 2026 16:39:36 GMT</pubDate></item><item><title><![CDATA[Atomic Audio Base with M5ATOMS3R]]></title><description><![CDATA[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 &lt;M5Unified.h&gt;

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 &lt;M5Unified.h&gt;
#include &lt;M5EchoBase.h&gt;

#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 &gt;= 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);
}


]]></description><link>https://community.m5stack.com/topic/8188/atomic-audio-base-with-m5atoms3r</link><guid isPermaLink="true">https://community.m5stack.com/topic/8188/atomic-audio-base-with-m5atoms3r</guid><dc:creator><![CDATA[jimruxton]]></dc:creator><pubDate>Wed, 22 Apr 2026 04:32:05 GMT</pubDate></item><item><title><![CDATA[Where is the IMU (MPU6886) located in the M5Stack Fire?]]></title><description><![CDATA[@felmue That helps a lot, thank you!
]]></description><link>https://community.m5stack.com/topic/8189/where-is-the-imu-mpu6886-located-in-the-m5stack-fire</link><guid isPermaLink="true">https://community.m5stack.com/topic/8189/where-is-the-imu-mpu6886-located-in-the-m5stack-fire</guid><dc:creator><![CDATA[ShawnHymel]]></dc:creator><pubDate>Tue, 21 Apr 2026 20:45:50 GMT</pubDate></item><item><title><![CDATA[Adding a switch to the DinMeter]]></title><description><![CDATA[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.
]]></description><link>https://community.m5stack.com/topic/8183/adding-a-switch-to-the-dinmeter</link><guid isPermaLink="true">https://community.m5stack.com/topic/8183/adding-a-switch-to-the-dinmeter</guid><dc:creator><![CDATA[cdnstig]]></dc:creator><pubDate>Fri, 10 Apr 2026 13:02:13 GMT</pubDate></item><item><title><![CDATA[Unit CamS3 and MicroPython]]></title><description><![CDATA[@kuriko Thanks. How can I do it?
]]></description><link>https://community.m5stack.com/topic/8181/unit-cams3-and-micropython</link><guid isPermaLink="true">https://community.m5stack.com/topic/8181/unit-cams3-and-micropython</guid><dc:creator><![CDATA[l.roca]]></dc:creator><pubDate>Thu, 09 Apr 2026 08:07:55 GMT</pubDate></item><item><title><![CDATA[TimerCamera-X and MicroPython]]></title><description><![CDATA[Thanks. How can I do it?
]]></description><link>https://community.m5stack.com/topic/8180/timercamera-x-and-micropython</link><guid isPermaLink="true">https://community.m5stack.com/topic/8180/timercamera-x-and-micropython</guid><dc:creator><![CDATA[l.roca]]></dc:creator><pubDate>Thu, 09 Apr 2026 08:00:13 GMT</pubDate></item><item><title><![CDATA[Using M5Stack GPS Module v2.1 (ATGM336H) with Raspberry Pi Pico — No UART Output]]></title><description><![CDATA[Hello @obolland
according to the schematic GNSS_TX becomes M5-RXD which is then available (depending on set dip switch) on GPIOs: 3, 13, 16, 34 or 35 which translates to pins 13, 22, 15, 26 or 2 on the M5 Stack bus.
BTW: Since you are not stacking the module you can set all dip switches to 'on' at the same time (if you like).
Note: I do not have the M5Stack GPS Module v2.1 so I cannot test this myself.
Thanks
Felix
]]></description><link>https://community.m5stack.com/topic/8172/using-m5stack-gps-module-v2-1-atgm336h-with-raspberry-pi-pico-no-uart-output</link><guid isPermaLink="true">https://community.m5stack.com/topic/8172/using-m5stack-gps-module-v2-1-atgm336h-with-raspberry-pi-pico-no-uart-output</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Mon, 06 Apr 2026 10:32:30 GMT</pubDate></item><item><title><![CDATA[Do you rely on YouTube for M5Stack tutorials or prefer docs&#x2F;forums?]]></title><description><![CDATA[I’ve gone back and forth on this a lot. For me, YouTube is great when I’m just trying to get a quick feel for how something works—like seeing a UIFlow block setup in action or how someone wires a sensor. It helps things “click” faster compared to reading docs alone.
But yeah, I’ve run into the same issue you mentioned—some videos skip key steps or assume you already know part of the setup. That’s where things break, especially with M5Stack since small details (like firmware version or library differences) can mess everything up.
What’s worked best for me is using videos as a starting point, then keeping the official docs and forum open alongside. Most of the time, if something doesn’t work exactly like in the video, the answer is usually buried in documentation or a forum thread.
I did follow a YouTube project once for a simple ESP32 sensor dashboard. It mostly worked, but I still had to tweak pin configs and update a library to get it running properly. So yeah—not really “copy and paste,” more like guided trial and error.
If you find a creator who explains why they’re doing something instead of just showing steps, those are worth sticking with. Otherwise, I treat videos more like demos and rely on docs/forums for the real detail.
]]></description><link>https://community.m5stack.com/topic/8173/do-you-rely-on-youtube-for-m5stack-tutorials-or-prefer-docs-forums</link><guid isPermaLink="true">https://community.m5stack.com/topic/8173/do-you-rely-on-youtube-for-m5stack-tutorials-or-prefer-docs-forums</guid><dc:creator><![CDATA[evelyngrace12]]></dc:creator><pubDate>Mon, 06 Apr 2026 15:11:10 GMT</pubDate></item><item><title><![CDATA[Stackchan unboxing and setup troubleshoot]]></title><description><![CDATA[In my case, this symptom occurred when the SSID of the WiFi access point connected to StackChan and my smartphone were not the same.
This was because StackChan was connected on 2.4GHz and my smartphone was connected on 5GHz.
When I switched my smartphone to 2.4GHz, it connected.
]]></description><link>https://community.m5stack.com/topic/8196/stackchan-unboxing-and-setup-troubleshoot</link><guid isPermaLink="true">https://community.m5stack.com/topic/8196/stackchan-unboxing-and-setup-troubleshoot</guid><dc:creator><![CDATA[HRHRacing]]></dc:creator><pubDate>Sat, 02 May 2026 02:20:20 GMT</pubDate></item><item><title><![CDATA[Blue Chronos v1.1.0 - Precision Timekeeping for Cardputer]]></title><description><![CDATA[@Blue_Mac think you meant to type Blue_Chronos in the url instead of Blue-Chronos as the link provided is incorrect
]]></description><link>https://community.m5stack.com/topic/8185/blue-chronos-v1-1-0-precision-timekeeping-for-cardputer</link><guid isPermaLink="true">https://community.m5stack.com/topic/8185/blue-chronos-v1-1-0-precision-timekeeping-for-cardputer</guid><dc:creator><![CDATA[Pt_Royale]]></dc:creator><pubDate>Wed, 15 Apr 2026 06:32:05 GMT</pubDate></item><item><title><![CDATA[UiFlow 2.0 discuss(how-to, bug, feature request or sometings)]]></title><description><![CDATA[@RBOUMAN58
Got the problem solved, burned the 2.4.4 firmware using M5Burner, problems gone... programs are working again
]]></description><link>https://community.m5stack.com/topic/4955/uiflow-2-0-discuss-how-to-bug-feature-request-or-sometings</link><guid isPermaLink="true">https://community.m5stack.com/topic/4955/uiflow-2-0-discuss-how-to-bug-feature-request-or-sometings</guid><dc:creator><![CDATA[RBOUMAN58]]></dc:creator><pubDate>Sun, 08 Jan 2023 06:03:18 GMT</pubDate></item><item><title><![CDATA[UIFlow2.0 ADV V2.4.3 not Burning]]></title><description><![CDATA[I have the same problem too. It works with 2.4.2.
]]></description><link>https://community.m5stack.com/topic/8175/uiflow2-0-adv-v2-4-3-not-burning</link><guid isPermaLink="true">https://community.m5stack.com/topic/8175/uiflow2-0-adv-v2-4-3-not-burning</guid><dc:creator><![CDATA[stefano.biggi]]></dc:creator><pubDate>Mon, 06 Apr 2026 23:36:01 GMT</pubDate></item><item><title><![CDATA[EZData 2.0 is missing from UiFlow 2.3.5]]></title><description><![CDATA[any news?
]]></description><link>https://community.m5stack.com/topic/7821/ezdata-2-0-is-missing-from-uiflow-2-3-5</link><guid isPermaLink="true">https://community.m5stack.com/topic/7821/ezdata-2-0-is-missing-from-uiflow-2-3-5</guid><dc:creator><![CDATA[tom-test1]]></dc:creator><pubDate>Tue, 16 Sep 2025 07:13:04 GMT</pubDate></item><item><title><![CDATA[OpenAI Voice Assistant For AtomS3R - How do I start a chat? Is there a wake phrase?]]></title><description><![CDATA[@wwhite https://docs.m5stack.com/en/guide/realtime/openai/atomic_echo_base
]]></description><link>https://community.m5stack.com/topic/8171/openai-voice-assistant-for-atoms3r-how-do-i-start-a-chat-is-there-a-wake-phrase</link><guid isPermaLink="true">https://community.m5stack.com/topic/8171/openai-voice-assistant-for-atoms3r-how-do-i-start-a-chat-is-there-a-wake-phrase</guid><dc:creator><![CDATA[kuriko]]></dc:creator><pubDate>Sun, 05 Apr 2026 20:23:21 GMT</pubDate></item><item><title><![CDATA[M5burner not working]]></title><description><![CDATA[@GiovanniCaenazzo
disconnect M5Dial
press and hold boot button at the back ofM5Dial - in the middle of Stamp Controller - it is very gentle switch
connect M5Dial to USB
M5Burner should detect com port in boot mode
]]></description><link>https://community.m5stack.com/topic/8179/m5burner-not-working</link><guid isPermaLink="true">https://community.m5stack.com/topic/8179/m5burner-not-working</guid><dc:creator><![CDATA[robski]]></dc:creator><pubDate>Wed, 08 Apr 2026 16:57:10 GMT</pubDate></item><item><title><![CDATA[[M5TAB5]Display flicker issue. Is this a manufacturing defect?]]></title><description><![CDATA[@y-shibata-aqua-k
I was able to resolve this issue by updating the M5GFX library in the Arduino IDE to the latest develop branch version.
Therefore, I will close this issue.
]]></description><link>https://community.m5stack.com/topic/8176/m5tab5-display-flicker-issue-is-this-a-manufacturing-defect</link><guid isPermaLink="true">https://community.m5stack.com/topic/8176/m5tab5-display-flicker-issue-is-this-a-manufacturing-defect</guid><dc:creator><![CDATA[y-shibata-aqua-k]]></dc:creator><pubDate>Tue, 07 Apr 2026 06:53:53 GMT</pubDate></item><item><title><![CDATA[StamPLC Run Issue]]></title><description><![CDATA[Hi guys
it looks like another unfortunate regression. If I burn UIFlow2 firmware 2.4.2 onto my M5StamPLC I can control the relay and LED just fine.
Unfortunately the UIFlow2 firmware source code in github repository uiflow-micropython  (at the time of writing this) is still on version 2.4.2. So it's impossible to tell what has changed between 2.4.2 and 2.4.3 causing this issue.
Thanks
Felix
]]></description><link>https://community.m5stack.com/topic/8080/stamplc-run-issue</link><guid isPermaLink="true">https://community.m5stack.com/topic/8080/stamplc-run-issue</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Thu, 12 Feb 2026 10:15:02 GMT</pubDate></item><item><title><![CDATA[Pixel Pets - open-source virtual pets for CoreS3, Core2 and StickC PLUS2]]></title><link>https://community.m5stack.com/topic/8199/pixel-pets-open-source-virtual-pets-for-cores3-core2-and-stickc-plus2</link><guid isPermaLink="true">https://community.m5stack.com/topic/8199/pixel-pets-open-source-virtual-pets-for-cores3-core2-and-stickc-plus2</guid><pubDate>Sat, 02 May 2026 23:28:42 GMT</pubDate></item><item><title><![CDATA[StackChan - kawaii embodied ai harness - claude code&#x2F;codex&#x2F;pi harness integration]]></title><link>https://community.m5stack.com/topic/8197/stackchan-kawaii-embodied-ai-harness-claude-code-codex-pi-harness-integration</link><guid isPermaLink="true">https://community.m5stack.com/topic/8197/stackchan-kawaii-embodied-ai-harness-claude-code-codex-pi-harness-integration</guid><pubDate>Sat, 02 May 2026 14:51:16 GMT</pubDate></item><item><title><![CDATA[StackChan がやってきました。]]></title><link>https://community.m5stack.com/topic/8198/stackchan-がやってきました</link><guid isPermaLink="true">https://community.m5stack.com/topic/8198/stackchan-がやってきました</guid><pubDate>Sat, 02 May 2026 10:59:36 GMT</pubDate></item></channel></rss>