<?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[Recently Active Topics]]></title><description><![CDATA[A list of topics that have been active within the past 24 hours]]></description><link>https://community.m5stack.com/recent</link><generator>RSS for Node</generator><lastBuildDate>Sat, 14 Mar 2026 13:36:15 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/recent.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Mar 2026 21:00:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[StickS3]]></title><description><![CDATA[<p dir="auto">I'm trying to copy IR remote control codes with built-in Rx and Tx IR. The sending works, but I can't receive the signal. Does it work for anyone?</p>
]]></description><link>https://community.m5stack.com/topic/8135/sticks3</link><guid isPermaLink="true">https://community.m5stack.com/topic/8135/sticks3</guid><dc:creator><![CDATA[Mamoulian]]></dc:creator><pubDate>Fri, 13 Mar 2026 21:00:18 GMT</pubDate></item><item><title><![CDATA[M5Stack C6L: Meshtastic  change role]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/7741">@HappyUser</a> Found it in the Meshtastic app on OSX under device settings. Btw, IOS app does not allow for tcp connections as it seems.</p>
]]></description><link>https://community.m5stack.com/topic/8134/m5stack-c6l-meshtastic-change-role</link><guid isPermaLink="true">https://community.m5stack.com/topic/8134/m5stack-c6l-meshtastic-change-role</guid><dc:creator><![CDATA[HappyUser]]></dc:creator><pubDate>Fri, 13 Mar 2026 20:36:24 GMT</pubDate></item><item><title><![CDATA[M5 Burner Installation]]></title><description><![CDATA[<p dir="auto">For future reference to people who search for M5 burner shows nothing...</p>
<p dir="auto">Go into your app data folder in C:/Users/appdata/roaming</p>
<p dir="auto">Delete the M5 stack folder</p>
<p dir="auto">Also delete m5 burner and its associated files from where you keep it/run it.</p>
<p dir="auto">Re-extract the files to the place you keep your m5 burner program and run it, log-in again.</p>
]]></description><link>https://community.m5stack.com/topic/6227/m5-burner-installation</link><guid isPermaLink="true">https://community.m5stack.com/topic/6227/m5-burner-installation</guid><dc:creator><![CDATA[Max_Marz]]></dc:creator><pubDate>Fri, 13 Mar 2026 07:22:51 GMT</pubDate></item><item><title><![CDATA[Carry case (on Amazon &#x2F; Aliexpress etc. so not 3D printed) for the cardputer ADV?]]></title><description><![CDATA[<p dir="auto">Hello all, I am trying to find a robust (and small) carry case to carry the cardputer around. Any recommendations to what to get on Amazon, Aliexpress or similar?<br />
Thank you !<br />
PS: I tried to search this topic but found no reply. If this was replied to in the past - please just point me to it. Thank you!!!</p>
]]></description><link>https://community.m5stack.com/topic/8133/carry-case-on-amazon-aliexpress-etc-so-not-3d-printed-for-the-cardputer-adv</link><guid isPermaLink="true">https://community.m5stack.com/topic/8133/carry-case-on-amazon-aliexpress-etc-so-not-3d-printed-for-the-cardputer-adv</guid><dc:creator><![CDATA[Gadgetguy2000]]></dc:creator><pubDate>Thu, 12 Mar 2026 13:00:24 GMT</pubDate></item><item><title><![CDATA[M5Burner and commenting FWs]]></title><description><![CDATA[<p dir="auto">Hi guys</p>
<p dir="auto">I looked at some of the comments - they are all dated from last year. I did not see anything recent. That makes me believe that the commenting feature has been turned off.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/topic/7980/m5burner-and-commenting-fws</link><guid isPermaLink="true">https://community.m5stack.com/topic/7980/m5burner-and-commenting-fws</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Thu, 12 Mar 2026 06:21:20 GMT</pubDate></item><item><title><![CDATA[BMI270 on AtomS3R (C126) sign-flips in accelerometer output around high-acceleration events]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/459545">@doop4</a><br />
I'm not familiar with the M5Unified driver; but I've worked with the bmi270 and written a micropython driver for it..</p>
<p dir="auto">Despite your pillow; you will still get a bit of bounce.. (I've spent time testing this chip, it's very hard to not get any bounce when you do this sort of test.)</p>
<p dir="auto">But, I think you are seeing the device going out of range; at which point you get weird/invalid readings.</p>
<p dir="auto">I dont see anywhere in your code setting the acceleration range; the max is +/- 16G, but <strong>it defaults to +/- 8g, which is where your readings appear to fail.</strong> I guess M5Unified has a method for setting this? Try the biggest range.</p>
<p dir="auto">Also; you can set filtering based on an average mode; the default is to average 4 readings (the sensor runs at 20MHz) but this can be set all the way up to 128.</p>
<p dir="auto">The M5Unified driver is using 'direct readings' (just like my driver), do not confuse this with 'FIFO' mode; which is an automated, IRQ triggered high-speed burst capture method. You read the dataset out from the chip buffer after the event has ended. AFIK the M5 drivers do not support this.</p>
]]></description><link>https://community.m5stack.com/topic/8130/bmi270-on-atoms3r-c126-sign-flips-in-accelerometer-output-around-high-acceleration-events</link><guid isPermaLink="true">https://community.m5stack.com/topic/8130/bmi270-on-atoms3r-c126-sign-flips-in-accelerometer-output-around-high-acceleration-events</guid><dc:creator><![CDATA[easytarget]]></dc:creator><pubDate>Wed, 11 Mar 2026 14:24:41 GMT</pubDate></item><item><title><![CDATA[Unexpected results when using intensity slider for LED vontrol]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/5596">@robski</a> If I set them manually in the GreenSwitch and whiteSwitch it works fine</p>
]]></description><link>https://community.m5stack.com/topic/8132/unexpected-results-when-using-intensity-slider-for-led-vontrol</link><guid isPermaLink="true">https://community.m5stack.com/topic/8132/unexpected-results-when-using-intensity-slider-for-led-vontrol</guid><dc:creator><![CDATA[l.roca]]></dc:creator><pubDate>Wed, 11 Mar 2026 14:08:13 GMT</pubDate></item><item><title><![CDATA[How to create an infinite loop with a manual exit]]></title><description><![CDATA[<p dir="auto">At the end I used switches and it works.</p>
<p dir="auto">Picture1.png</p>
]]></description><link>https://community.m5stack.com/topic/8127/how-to-create-an-infinite-loop-with-a-manual-exit</link><guid isPermaLink="true">https://community.m5stack.com/topic/8127/how-to-create-an-infinite-loop-with-a-manual-exit</guid><dc:creator><![CDATA[JohnSal]]></dc:creator><pubDate>Tue, 10 Mar 2026 19:34:58 GMT</pubDate></item><item><title><![CDATA[LoRa Point to Point Comms for Cardputer ADV with LoRa868cap]]></title><description><![CDATA[<p dir="auto">Hi. Sorry but I don't use Meshtastic. The software I've written is written from scratch and is deliberately less involved than using Meshtastic's menus. There are lots of videos and articles out there to help you with the menus though.</p>
]]></description><link>https://community.m5stack.com/topic/8015/lora-point-to-point-comms-for-cardputer-adv-with-lora868cap</link><guid isPermaLink="true">https://community.m5stack.com/topic/8015/lora-point-to-point-comms-for-cardputer-adv-with-lora868cap</guid><dc:creator><![CDATA[HectorADV]]></dc:creator><pubDate>Tue, 10 Mar 2026 17:34:23 GMT</pubDate></item><item><title><![CDATA[Issue With Module GPS v2.1 and M5Core2]]></title><description><![CDATA[<p dir="auto">Hi.<br />
Have you tried reading bytes from the GPS and displaying them on a serial monitor as they arrive as below, just to show you are getting data (if the serial setup is incorrect you should still receive data but it will be gibberish):</p>
<p dir="auto">// Serial is the serial monitor<br />
// Serial1 is the GPS data</p>
<p dir="auto">int intChar;<br />
char charChar;<br />
intChar = Serial1.read();<br />
if(inChar != -1){<br />
charChar = (char)intChar;<br />
Serial.print(charChar);<br />
}</p>
<p dir="auto">I have been using the M5Stack GPS v1.1 and it was set to 115200@7N1, not the advertised 115200@8N1 so might be an issue there (I got gibberish at first)</p>
<p dir="auto">Finally my M5Stack GPSv1.1 works fine with an Adafruit Itsy Bitsy 3v controller and an ESP32S3 based controller but not with the Seeed Wio Terminal. With the Seeed Wio Terminal I get nothing at all - no gibberish, absolutely nothing. It's as if the signal is not there (but it is !!).</p>
]]></description><link>https://community.m5stack.com/topic/8125/issue-with-module-gps-v2-1-and-m5core2</link><guid isPermaLink="true">https://community.m5stack.com/topic/8125/issue-with-module-gps-v2-1-and-m5core2</guid><dc:creator><![CDATA[HectorADV]]></dc:creator><pubDate>Tue, 10 Mar 2026 17:25:51 GMT</pubDate></item><item><title><![CDATA[High acceleration axis cross-talk on BMI270 on AtomS3R (C126)]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">This is a copy of this question already asked at <a href="https://github.com/m5stack/M5Unified/issues/229" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/m5stack/M5Unified/issues/229</a></p>
<p dir="auto">Is my testing appraoch correct? Is this a bad sensor, an an expected sensor limitation? Can it be somehow corrected in hardware settings or software (I'm using M5Unified)?</p>
<p dir="auto"><a href="https://m5stack.lang-ship.com/catalog/products/controller/c126_atoms3r/" target="_blank" rel="noopener noreferrer nofollow ugc">https://m5stack.lang-ship.com/catalog/products/controller/c126_atoms3r/</a> links to <a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/K128%20CoreS3/BMI270.PDF" target="_blank" rel="noopener noreferrer nofollow ugc">https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/K128 CoreS3/BMI270.PDF</a>, which contains in the table on page 15 Cross Axis Sensitivity SXA = 1%</p>
<p dir="auto"><img src="/assets/uploads/files/1773162145372-542620729-e3aa2223-9636-416c-b577-ac37dcdbb212.png" alt="542620729-e3aa2223-9636-416c-b577-ac37dcdbb212.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">See <a href="https://www.murata.com/en-us/support/faqs/sensor/accel/char/0008" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.murata.com/en-us/support/faqs/sensor/accel/char/0008</a> for definition of "Cross Axis Sensitivity".</p>
<p dir="auto">I'm seeing some unexpectedly high values of acceleration on the axis not involved in the movement.<br />
This is how I'm testing this.<br />
Please check the procedure and the code included further down make sense, since I'm not sure whether any/what calibration is needed for the accelerometer on AtomS3R (C126).</p>
<ol>
<li>Place device FLAT on table, display facing up, USB-C port toward you</li>
<li>Position book parallel to USB-C port (as edge guide)</li>
<li>Keep device still against book edge for 2 seconds (BASELINE)</li>
<li>Slide device PARALLEL to USB-C port (forward/backward along book edge).<br />
Expected: Y-axis activates; X and Z minimal</li>
</ol>
<p dir="auto">In the results below <code>M5U</code> is the M5Unified's magnitude-constraint calibration. <code>Simple</code> is the raw sensor data with per-axis offset subtraction.</p>
<p dir="auto">Baseline (still, device flat), at <code>06:01:03.829</code>:</p>
<pre><code>M5U_x: [-0.009, 0.000] g
M5U_y: [0.000, 0.065] g
M5U_z: [0.000, 1.021] g

Simple_x: [-0.021, 0.023] g
Simple_y: [-0.005, 0.001] g
Simple_z: [0.000, 1.019] g
</code></pre>
<p dir="auto">End of motion, at <code>06:01:08.917</code>:</p>
<pre><code>M5U_x: [-0.086, 0.047] g (span 0.133g)
M5U_y: [-0.210, 0.419] g (span 0.629g)
M5U_z: [0.000, 1.024] g

Simple_x: [-0.376, 0.254] g (span 0.630g)
Simple_y: [-0.082, 0.050] g (span 0.132g)
Simple_z: [0.000, 1.022] g
</code></pre>
<p dir="auto">Both M5U and Simple methods show significant activation on the perpendicular axis (0.13g) when motion is applied to the primary axis (0.63g). This crosstalk is present in both methods, indicating it may be a sensor characteristic.</p>
<p dir="auto">I'm using <a href="https://github.com/m5stack/M5Unified/releases/tag/0.2.13" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/m5stack/M5Unified/releases/tag/0.2.13</a>.<br />
Note that the M5U calibration is applying a transformation like below, so axis exchange between the M5U and Simple methods is expected:</p>
<pre><code>CAL_X ≈ RAW_Y
CAL_Y ≈ -RAW_X  (with sign inversion!)
CAL_Z ≈ RAW_Z
</code></pre>
<p dir="auto"><a href="https://github.com/m5stack/M5Unified/blob/83f5e1a1560d3587fd7cd88422798b06d87c1894/src/utility/IMU_Class.cpp#L94-L99" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/m5stack/M5Unified/blob/83f5e1a1560d3587fd7cd88422798b06d87c1894/src/utility/IMU_Class.cpp#L94-L99</a></p>
<p dir="auto">This is the code used for the axis cross-talk test:</p>
<pre><code>/**
 * @file accel_axis_mixing.ino
 * @brief Detect axis mixing in accelerometer readings
 *
 * Test compares two calibration approaches on identical sensor data:
 * 1. M5Unified: Uses "distance from 1g" constraint (continuous, enforces magnitude)
 * 2. Simple offset: Per-axis offset tracking WITHOUT magnitude constraint
 *
 * Test procedure (requires a book as guide for precise linear motion):
 *
 *   1. Place device FLAT on table, display facing up, USB-C port toward you
 *   2. Position book parallel to USB-C port (as edge guide)
 *   3. Keep device still against book edge for 2 seconds (BASELINE)
 *   4. Slide device PARALLEL to USB-C port (forward/backward along book edge)
 *       Expected: Y-axis activates; X and Z minimal
 *
 * Analysis:
 * If axis mixing is present, the test would show unexpected
 * activation in secondary axes during motion. The simple offset method should
 * behave identically to M5Unified since both use same sensor data.
 */

#include &lt;M5Unified.h&gt;

// Simple offset tracking (on raw sensor data, no magnitude constraint)
struct SimpleOffsets {
    int16_t offset_x = 0;
    int16_t offset_y = 0;
    int16_t offset_z = 0;  // Raw offset for Z (accounting for 1g gravity)
    int sample_count = 0;
};
SimpleOffsets simple_offsets = {};
static const float ACCEL_SCALE = 8.0f / 32768.0f;  // Standard ±8g conversion

void calibrateSimpleOffsets(int duration_ms) {
    Serial.println("Calibrating simple offsets from raw sensor data (accumulating during stillness)...");

    // Reset accumulators
    int32_t sum_x = 0, sum_y = 0, sum_z = 0;
    int count = 0;
    uint32_t start = millis();

    while (millis() - start &lt; duration_ms) {
        if (M5.Imu.update()) {
            int16_t raw_x = M5.Imu.getRawData(0);
            int16_t raw_y = M5.Imu.getRawData(1);
            int16_t raw_z = M5.Imu.getRawData(2);

            sum_x += raw_x;
            sum_y += raw_y;
            sum_z += raw_z;  // We'll subtract 1g equivalent (32768/8 = 4096 LSBs)
            count++;
        }
        delay(1);
    }

    // Compute average raw offsets
    if (count &gt; 0) {
        simple_offsets.offset_x = sum_x / count;
        simple_offsets.offset_y = sum_y / count;
        simple_offsets.offset_z = (sum_z / count) - 4096;  // Subtract 1g gravity (4096 LSBs at ±8g)
        simple_offsets.sample_count = count;
    }

    Serial.printf("Raw offsets from %d samples: x=%d, y=%d, z=%d (LSBs)\n",
        count, simple_offsets.offset_x, simple_offsets.offset_y, simple_offsets.offset_z);
}

void setup() {
    auto cfg = M5.config();
    cfg.serial_baudrate = 115200;
    M5.begin(cfg);

    Serial.println("\n=== BMI270 AXIS MIXING PROOF OF CONCEPT ===");
    Serial.println("Comparing M5Unified vs Simple Offset calibration");
    Serial.println();

    // Re-initialize I2C
    M5.In_I2C.begin((i2c_port_t)I2C_NUM_0, 45, 0);
    delay(100);
    M5.Imu.update();
    delay(100);

    // M5Unified calibration
    Serial.println("1. M5Unified calibration (with magnitude constraint)...");
    M5.Imu.setCalibration(64, 64, 64);
    delay(2000);
    M5.Imu.setCalibration(0, 0, 0);

    // Simple offset calibration (on raw sensor data)
    Serial.println("2. Computing simple offsets from raw sensor data...");
    calibrateSimpleOffsets(1000);

    Serial.println();
    Serial.println("Ready to test. Use a book as edge guide for precise linear motion.");
    Serial.println("Follow the procedure in file comments.");
    Serial.println();
    Serial.println("Format: time_ms | M5U:(x,y,z)g | Simple:(x,y,z)g | ranges...");
    Serial.println("---");
}

void loop() {
    static uint32_t lastPrint = 0;
    static float m5u_min_x = 0, m5u_max_x = 0;
    static float m5u_min_y = 0, m5u_max_y = 0;
    static float m5u_min_z = 0, m5u_max_z = 0;
    static float sim_min_x = 0, sim_max_x = 0;
    static float sim_min_y = 0, sim_max_y = 0;
    static float sim_min_z = 0, sim_max_z = 0;

    uint32_t now = millis();

    if (M5.Imu.update()) {
        auto data = M5.Imu.getImuData();

        // M5Unified values (with magnitude constraint calibration)
        float m5u_x = data.accel.x;
        float m5u_y = data.accel.y;
        float m5u_z = data.accel.z;

        // Simple offset correction on raw data (no magnitude constraint)
        int16_t raw_x = M5.Imu.getRawData(0);
        int16_t raw_y = M5.Imu.getRawData(1);
        int16_t raw_z = M5.Imu.getRawData(2);

        float sim_x = (raw_x - simple_offsets.offset_x) * ACCEL_SCALE;
        float sim_y = (raw_y - simple_offsets.offset_y) * ACCEL_SCALE;
        float sim_z = (raw_z - simple_offsets.offset_z) * ACCEL_SCALE;

        // Track ranges
        if (m5u_x &lt; m5u_min_x) m5u_min_x = m5u_x;
        if (m5u_x &gt; m5u_max_x) m5u_max_x = m5u_x;
        if (m5u_y &lt; m5u_min_y) m5u_min_y = m5u_y;
        if (m5u_y &gt; m5u_max_y) m5u_max_y = m5u_y;
        if (m5u_z &lt; m5u_min_z) m5u_min_z = m5u_z;
        if (m5u_z &gt; m5u_max_z) m5u_max_z = m5u_z;

        if (sim_x &lt; sim_min_x) sim_min_x = sim_x;
        if (sim_x &gt; sim_max_x) sim_max_x = sim_x;
        if (sim_y &lt; sim_min_y) sim_min_y = sim_y;
        if (sim_y &gt; sim_max_y) sim_max_y = sim_y;
        if (sim_z &lt; sim_min_z) sim_min_z = sim_z;
        if (sim_z &gt; sim_max_z) sim_max_z = sim_z;

        // Print at 5Hz
        if (now - lastPrint &gt;= 200) {
            Serial.printf("%6lu | M5U:(%7.3f,%7.3f,%7.3f) | Sim:(%7.3f,%7.3f,%7.3f) | ",
                now,
                m5u_x, m5u_y, m5u_z,
                sim_x, sim_y, sim_z);

            Serial.printf("M5U_x:[%.3f,%.3f] M5U_y:[%.3f,%.3f] M5U_z:[%.3f,%.3f] | ",
                m5u_min_x, m5u_max_x,
                m5u_min_y, m5u_max_y,
                m5u_min_z, m5u_max_z);

            Serial.printf("Sim_x:[%.3f,%.3f] Sim_y:[%.3f,%.3f] Sim_z:[%.3f,%.3f]",
                sim_min_x, sim_max_x,
                sim_min_y, sim_max_y,
                sim_min_z, sim_max_z);

            Serial.println();
            lastPrint = now;
        }
    }

    delay(1);
}
</code></pre>
<p dir="auto">This is the serial output:</p>
<pre><code>06:01:02.606 -&gt; Format: time_ms | M5U:(x,y,z)g | Simple:(x,y,z)g | ranges...
06:01:02.606 -&gt; ---
06:01:02.606 -&gt;   3611 | M5U:( -0.005,  0.045,  1.005) | Sim:( -0.001, -0.001,  1.003) | M5U_x:[-0.005,0.000] M5U_y:[0.000,0.045] M5U_z:[0.000,1.005] | Sim_x:[-0.001,0.000] Sim_y:[-0.001,0.000] Sim_z:[0.000,1.003]
06:01:02.798 -&gt;   3815 | M5U:( -0.005,  0.043,  1.008) | Sim:(  0.001, -0.001,  1.006) | M5U_x:[-0.009,0.000] M5U_y:[0.000,0.065] M5U_z:[0.000,1.021] | Sim_x:[-0.021,0.023] Sim_y:[-0.005,0.001] Sim_z:[0.000,1.019]
06:01:03.025 -&gt;   4018 | M5U:( -0.007,  0.043,  1.003) | Sim:(  0.000, -0.003,  1.001) | M5U_x:[-0.009,0.000] M5U_y:[0.000,0.065] M5U_z:[0.000,1.021] | Sim_x:[-0.021,0.023] Sim_y:[-0.005,0.001] Sim_z:[0.000,1.019]
06:01:03.218 -&gt;   4222 | M5U:( -0.007,  0.041,  0.999) | Sim:(  0.002, -0.003,  0.997) | M5U_x:[-0.009,0.000] M5U_y:[0.000,0.065] M5U_z:[0.000,1.021] | Sim_x:[-0.021,0.023] Sim_y:[-0.005,0.001] Sim_z:[0.000,1.019]
06:01:03.412 -&gt;   4426 | M5U:( -0.007,  0.043,  1.000) | Sim:(  0.001, -0.003,  0.999) | M5U_x:[-0.009,0.000] M5U_y:[0.000,0.065] M5U_z:[0.000,1.021] | Sim_x:[-0.021,0.023] Sim_y:[-0.005,0.001] Sim_z:[0.000,1.019]
06:01:03.637 -&gt;   4629 | M5U:( -0.007,  0.042,  1.005) | Sim:(  0.001, -0.004,  1.003) | M5U_x:[-0.009,0.000] M5U_y:[0.000,0.065] M5U_z:[0.000,1.021] | Sim_x:[-0.021,0.023] Sim_y:[-0.005,0.001] Sim_z:[0.000,1.019]
06:01:03.829 -&gt;   4833 | M5U:( -0.006,  0.042,  1.002) | Sim:(  0.001, -0.003,  1.000) | M5U_x:[-0.009,0.000] M5U_y:[0.000,0.065] M5U_z:[0.000,1.021] | Sim_x:[-0.021,0.023] Sim_y:[-0.005,0.001] Sim_z:[0.000,1.019]
06:01:04.024 -&gt;   5037 | M5U:( -0.006,  0.042,  1.003) | Sim:(  0.002, -0.003,  1.001) | M5U_x:[-0.010,0.000] M5U_y:[0.000,0.065] M5U_z:[0.000,1.021] | Sim_x:[-0.021,0.023] Sim_y:[-0.006,0.001] Sim_z:[0.000,1.019]
06:01:04.249 -&gt;   5240 | M5U:( -0.010,  0.051,  1.000) | Sim:( -0.007, -0.007,  0.998) | M5U_x:[-0.022,0.000] M5U_y:[0.000,0.122] M5U_z:[0.000,1.021] | Sim_x:[-0.078,0.023] Sim_y:[-0.018,0.001] Sim_z:[0.000,1.019]
06:01:04.442 -&gt;   5444 | M5U:( -0.025,  0.122,  0.997) | Sim:( -0.079, -0.022,  0.995) | M5U_x:[-0.035,0.004] M5U_y:[0.000,0.133] M5U_z:[0.000,1.021] | Sim_x:[-0.089,0.023] Sim_y:[-0.032,0.008] Sim_z:[0.000,1.019]
06:01:04.637 -&gt;   5647 | M5U:( -0.021,  0.070,  1.002) | Sim:( -0.026, -0.017,  1.000) | M5U_x:[-0.086,0.039] M5U_y:[-0.019,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.063] Sim_y:[-0.082,0.043] Sim_z:[0.000,1.019]
06:01:04.829 -&gt;   5851 | M5U:(  0.046, -0.069,  0.985) | Sim:(  0.113,  0.050,  0.983) | M5U_x:[-0.086,0.047] M5U_y:[-0.079,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.123] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:05.056 -&gt;   6055 | M5U:(  0.006,  0.062,  0.993) | Sim:( -0.018,  0.009,  0.991) | M5U_x:[-0.086,0.047] M5U_y:[-0.079,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.123] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:05.249 -&gt;   6258 | M5U:( -0.044, -0.085,  0.990) | Sim:(  0.129, -0.041,  0.988) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:05.442 -&gt;   6462 | M5U:( -0.019,  0.015,  1.005) | Sim:(  0.029, -0.015,  1.003) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:05.667 -&gt;   6666 | M5U:( -0.017,  0.013,  1.003) | Sim:(  0.031, -0.013,  1.001) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:05.860 -&gt;   6869 | M5U:( -0.016,  0.013,  1.001) | Sim:(  0.031, -0.013,  1.000) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:06.054 -&gt;   7073 | M5U:( -0.026, -0.019,  1.001) | Sim:(  0.063, -0.023,  0.999) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:06.279 -&gt;   7277 | M5U:( -0.024, -0.053,  1.012) | Sim:(  0.097, -0.021,  1.010) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:06.470 -&gt;   7480 | M5U:( -0.028, -0.059,  1.018) | Sim:(  0.102, -0.024,  1.016) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.210] M5U_z:[0.000,1.021] | Sim_x:[-0.167,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.019]
06:01:06.663 -&gt;   7684 | M5U:(  0.020,  0.218,  1.000) | Sim:( -0.174,  0.023,  0.999) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:06.889 -&gt;   7887 | M5U:( -0.006,  0.053,  1.000) | Sim:( -0.010, -0.003,  0.999) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:07.083 -&gt;   8091 | M5U:( -0.011,  0.042,  1.002) | Sim:(  0.001, -0.008,  1.000) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:07.277 -&gt;   8295 | M5U:( -0.005,  0.041,  1.000) | Sim:(  0.003, -0.001,  0.998) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:07.503 -&gt;   8498 | M5U:( -0.007,  0.040,  1.003) | Sim:(  0.004, -0.004,  1.001) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:07.696 -&gt;   8702 | M5U:( -0.003,  0.041,  1.001) | Sim:(  0.003,  0.001,  0.999) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:07.889 -&gt;   8906 | M5U:( -0.003,  0.041,  0.994) | Sim:(  0.003,  0.000,  0.992) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:08.114 -&gt;   9109 | M5U:( -0.005,  0.042,  0.995) | Sim:(  0.002, -0.001,  0.993) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:08.307 -&gt;   9313 | M5U:( -0.004,  0.042,  1.003) | Sim:(  0.002, -0.000,  1.001) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:08.501 -&gt;   9517 | M5U:( -0.005,  0.042,  1.002) | Sim:(  0.002, -0.002,  1.000) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:08.724 -&gt;   9720 | M5U:( -0.004,  0.042,  1.002) | Sim:(  0.002, -0.001,  1.000) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
06:01:08.917 -&gt;   9924 | M5U:(  0.001,  0.048,  1.003) | Sim:( -0.004,  0.004,  1.001) | M5U_x:[-0.086,0.047] M5U_y:[-0.210,0.419] M5U_z:[0.000,1.024] | Sim_x:[-0.376,0.254] Sim_y:[-0.082,0.050] Sim_z:[0.000,1.022]
</code></pre>
]]></description><link>https://community.m5stack.com/topic/8131/high-acceleration-axis-cross-talk-on-bmi270-on-atoms3r-c126</link><guid isPermaLink="true">https://community.m5stack.com/topic/8131/high-acceleration-axis-cross-talk-on-bmi270-on-atoms3r-c126</guid><dc:creator><![CDATA[doop4]]></dc:creator><pubDate>Tue, 10 Mar 2026 17:02:43 GMT</pubDate></item><item><title><![CDATA[[bug?] Issue with axp2101 and module 4 relay (core base)]]></title><description><![CDATA[<p dir="auto">I'm having an issue where if I use the axp2101 component in esphome, my cores3-se-lite (connected to 12V via a DIN base) stops finding the module 4 relay (<a href="https://docs.m5stack.com/en/module/4relay" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.m5stack.com/en/module/4relay</a>).</p>
<p dir="auto">This code works (I can hear the relays clicking, and see 0x26 on the i2c scan) (note custom component module4relay is basically unit4relay adapter for a different register to enable the relays)</p>
<pre><code>

esphome:
  name: relay-test-s3
  friendly_name: relay-test-s3


esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "Kh5g1ThAQ3SUqKw9GnyJUI5PyOkndNl4+ykbxHoUIjc="

ota:
  - platform: esphome
    password: "5f65f9ff9e4ab8b3c928a7216c551525"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Relay-Test Fallback Hotspot"
    password: "G1ypogSTYlkb"

captive_portal:

i2c:
  - id: bus_internal 
    sda: GPIO12
    scl: GPIO11
    scan: true 

  - id: bus_port_a 
    sda: GPIO2
    scl: GPIO1
    scan: true 

external_components:
  - source: github://ngolf/esphome-yaml/components
    components: module4relay

module4relay:
  i2c_id: bus_internal

switch:
  - platform: module4relay
    relay_1:
      name: "Module Relay Channel 1"
      restore_mode: RESTORE_DEFAULT_OFF
    relay_2:
      name: "Module Relay Channel 2"
      restore_mode: RESTORE_DEFAULT_OFF
    relay_3:
      name: "Module Relay Channel 3"
      restore_mode: RESTORE_DEFAULT_OFF
    relay_4:
      name: "Module Channel 4"
      restore_mode: RESTORE_DEFAULT_OFF

</code></pre>
<p dir="auto">But adding the axp2101 component (which I need for the backlight) makes the relay stopping being found on i2c scan, and relays inoperable.</p>
<pre><code>(external_components:)
  - source: github://ngolf/esphome-yaml/components
    components: module4relay

axp2101:
  id: axp2101_pmu
  i2c_id: bus_internal
</code></pre>
]]></description><link>https://community.m5stack.com/topic/8128/bug-issue-with-axp2101-and-module-4-relay-core-base</link><guid isPermaLink="true">https://community.m5stack.com/topic/8128/bug-issue-with-axp2101-and-module-4-relay-core-base</guid><dc:creator><![CDATA[ngolf]]></dc:creator><pubDate>Tue, 10 Mar 2026 14:45:59 GMT</pubDate></item><item><title><![CDATA[ToF Hat only Short Range (UIflow2)]]></title><description><![CDATA[<p dir="auto">I have a problem with the ToF Hat (not the external I2C module).<br />
I tested the Hat with the Stick plus2 in the UIflow IDE and I can measure up to 2m without any problems. When I try to implement the same logic in the UIflow2 IDE, only Short Range seems to work, as the maximum measurement is 1.4m. This also happens with the Stick S3 in UIflow2.</p>
<p dir="auto">In UIflow, long range seems to be activated directly. However, I cannot find a block to set the ToF Hat to long range in UIflow2.<br />
There is official information that you have to set it to long range for 2 m, but I can't find how to do that.</p>
<p dir="auto">set_signal_rate_limit is available, but set_vcsel_pulse_period is not – that's what the M5 AI suggests.</p>
<p dir="auto">Who can help me with this?</p>
]]></description><link>https://community.m5stack.com/topic/8129/tof-hat-only-short-range-uiflow2</link><guid isPermaLink="true">https://community.m5stack.com/topic/8129/tof-hat-only-short-range-uiflow2</guid><dc:creator><![CDATA[Wambo6000]]></dc:creator><pubDate>Tue, 10 Mar 2026 07:42:06 GMT</pubDate></item><item><title><![CDATA[Issue with unit 4 relay on cores3]]></title><description><![CDATA[<p dir="auto">On the cores3 (module connected through port A), I see no devices found on i2c scan when using esphome. It finds OK on the atom-lite.<br />
If using the "Cores3 test" binary from m5stack, I can see the address found on the i2c scan app.</p>
]]></description><link>https://community.m5stack.com/topic/8126/issue-with-unit-4-relay-on-cores3</link><guid isPermaLink="true">https://community.m5stack.com/topic/8126/issue-with-unit-4-relay-on-cores3</guid><dc:creator><![CDATA[ngolf]]></dc:creator><pubDate>Mon, 09 Mar 2026 19:57:31 GMT</pubDate></item><item><title><![CDATA[External 1S LIPO on M5Core2 BUS PIN1 and PIN30?]]></title><description><![CDATA[<p dir="auto">I want to extend the battery life of the M5 Core2 unit (communicating through WiFi every 5 seconds, and that takes a lot of power unfortunately).</p>
<p dir="auto">I tried to find information about it, and want to confirm that it is OK to connect the external Lipo battery to pins 1 and 30 on the "BUS expansion port"? And that the battery will be charged when connected to the external USB power? And I don't need to remove the internal 500mAh battery, since they would be connected in parallel anyhow?</p>
<p dir="auto">Since I need the IMU as well, I guess I'll sandwich the existing Core2_Ext and put a simple header in between, unless someone has a better suggestions (I don't have the small JST connectors that I could use to replace).</p>
<p dir="auto">I did ask the <a href="https://chat.m5stack.com/" target="_blank" rel="noopener noreferrer nofollow ugc">https://chat.m5stack.com/</a> and it basically agrees if with me, but I'd like to confirm this with fellow human beings to be sure :)</p>
<p dir="auto">Additionally, are those correct locations (as depicted in the picture)?</p>
<p dir="auto"><img src="/assets/uploads/files/1772996280169-m5-stack-core2-board.jpg" alt="M5-Stack-Core2-Board.jpg" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.m5stack.com/topic/8124/external-1s-lipo-on-m5core2-bus-pin1-and-pin30</link><guid isPermaLink="true">https://community.m5stack.com/topic/8124/external-1s-lipo-on-m5core2-bus-pin1-and-pin30</guid><dc:creator><![CDATA[skyflyer]]></dc:creator><pubDate>Sun, 08 Mar 2026 18:58:07 GMT</pubDate></item><item><title><![CDATA[ESP32 and  RS485]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/457860">@alex9</a></p>
<p dir="auto">it looks like yes, GPIO0 is TX pin for RS485. See pinmap <a href="https://docs.m5stack.com/en/core/StamPLC?id=pinmap" target="_blank" rel="noopener noreferrer nofollow ugc">here</a>.</p>
<p dir="auto">The platformio.ini example can be found <a href="https://docs.m5stack.com/en/core/StamPLC?id=platformio" target="_blank" rel="noopener noreferrer nofollow ugc">here</a>.</p>
<p dir="auto">Running a quick search I did not find an RS485 example, sorry.</p>
<p dir="auto">Edit: Maybe try this RS485 <a href="https://github.com/arduino-libraries/ArduinoRS485" target="_blank" rel="noopener noreferrer nofollow ugc">library</a>.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/topic/8123/esp32-and-rs485</link><guid isPermaLink="true">https://community.m5stack.com/topic/8123/esp32-and-rs485</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sun, 08 Mar 2026 08:30:56 GMT</pubDate></item><item><title><![CDATA[Industrial Analog pH Meter]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">A good industrial  pH Meter Kit will be great to have.</p>
<p dir="auto">Thanks</p>
]]></description><link>https://community.m5stack.com/topic/8122/industrial-analog-ph-meter</link><guid isPermaLink="true">https://community.m5stack.com/topic/8122/industrial-analog-ph-meter</guid><dc:creator><![CDATA[l.roca]]></dc:creator><pubDate>Sat, 07 Mar 2026 20:29:39 GMT</pubDate></item><item><title><![CDATA[RGB unit issues]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/123289">@JohnSal</a></p>
<p dir="auto">I think you only need to add one RGB unit but with number set to 6 instead of 3.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/topic/8121/rgb-unit-issues</link><guid isPermaLink="true">https://community.m5stack.com/topic/8121/rgb-unit-issues</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sat, 07 Mar 2026 18:30:48 GMT</pubDate></item><item><title><![CDATA[Seeking for a specific unit, .. any ideas]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/7741">@HappyUser</a></p>
<p dir="auto">just curious, which SIM module did you settle on?</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/topic/8103/seeking-for-a-specific-unit-any-ideas</link><guid isPermaLink="true">https://community.m5stack.com/topic/8103/seeking-for-a-specific-unit-any-ideas</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sat, 07 Mar 2026 15:56:12 GMT</pubDate></item><item><title><![CDATA[UIFlow 2.0 + Cardputer ADV, where is the GPIO 14pin header support?]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/458958">@hotellonely</a></p>
<p dir="auto">yes, it looks like the drop-down box needs fixing. In the mean time you can use all GPOs on the 14 pin header via some custom code blocks.</p>
<p dir="auto">I created an example in UIFlow2 Project Zone called M5CardputerAdv_ExtPin_Test_UIFlow2.4.2</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/topic/8118/uiflow-2-0-cardputer-adv-where-is-the-gpio-14pin-header-support</link><guid isPermaLink="true">https://community.m5stack.com/topic/8118/uiflow-2-0-cardputer-adv-where-is-the-gpio-14pin-header-support</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sat, 07 Mar 2026 15:53:59 GMT</pubDate></item></channel></rss>