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

Subcategories

  • 551 Topics
    2k Posts
    H
    @Danieldsouza I prefer to use KiCAD for schematic and PCB design. The software is open source It runs on Windows, Linux, Mac there is a strong community there is a ton of libraries for thousands of components some part distributor and assembling factories provide their own library or allow symbol and footprint download making your own symbols and footprints is very easy design rule checking I am not an advanced user but managed to make a 4-layer PCB after watching a few tutorial videos. Independend of the EDA Tool make sure you avoid the common tripping hazard like missing blocking caps or unwanted ground loops.
  • When you meet problems using M5Stack, we help you solve it.

    201 Topics
    990 Posts
    S
    不小心下载了一个imu什么的……咔咔一顿后……我关了重新开……,但还是不会动,只会左右动,然后跳舞的话只会亮灯,不会动,只能左右转动……
  • 505 Topics
    2k Posts
    D
    Hopefully I can shed a little light on this topic. The AIN4-20mA unit uses a STM32 processor to handle the I2C interface in software. For some reason, the timing is not wholly compatible with the Raspberry Pi kernel I2C drivers. However, the Espressif I2C implementation is a lot more tolerant and flexible and works just fine. That's why it works with the M5 controllers. There was a an update to the github repo for this unit's firmware (https://github.com/m5stack/M5Module-4-20mA-Internal-FW) which changed the I2C library that was used. It's possible that this will fix it, but I haven't bothered to set up a STM32 development system to try it. If you really want to use a Pi or other Linux host board, you could use any inexpensive ESP device (like an M5Stamp) as a go-between. Another option is to use something like the Arduino UNO Q, which runs Linux on the main processor and allows you to run C++ code on the STM32 microcontroller to talk to I2C devices. It's really better to run real-time control on a separate microcontroller anyway.
  • 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!
  • M5 Stamp S3 (or M5Dial): Input from console

    1
    1 Votes
    1 Posts
    2k Views
    No one has replied
  • My M5DINMeter is not working.

    7
    1
    0 Votes
    7 Posts
    5k Views
    S
    @felmue Thank you for your answer. I erased and burned the firmware 2.0.4 hotfix version several times and it worked. I don't know why it suddenly started working. I just repeatedly erased and burned it.
  • M5Dial connect to account

    2
    0 Votes
    2 Posts
    2k Views
    ajb2k3A
    Use M5Burner to erase and reburn uiflow2.
  • what's the Pin for M5dial BtnA

    7
    0 Votes
    7 Posts
    6k Views
    C
    @codeblue This diagram on page two. Here a cutout with my annotation: [image: 1713164860351-5bc0376f-2c72-442e-832b-9149e4348239-image.png]
  • M5 BugC2 default software functions

    2
    0 Votes
    2 Posts
    2k Views
    teastainT
    @俺がガンダムだ You are probably just seeing the Product Demo and test firmware. Almost all M5Stack products are 'ready to be programmed' but do very little outside the box. Use UIFlow or Arduino IDE to add functions of your own choice and your own design. https://docs.m5stack.com/en/app/BUGC2 https://github.com/m5stack/M5Hat-BugC
  • M5Stack ESP32-S3 with PSRAM ?

    2
    0 Votes
    2 Posts
    3k Views
    L
    @luckylinux you may look for generic esp32-s3-devkitc-1
  • New M5 Cardputer Displays only Several Colored Lines at Top of Screen

    2
    0 Votes
    2 Posts
    2k Views
    ajb2k3A
    Have you tried erasing the firmware and returning the firmware with M5Burner?
  • M5Stack RS485 Base and Unit

    2
    0 Votes
    2 Posts
    2k Views
    felmueF
    Hello @luckylinux correct, the Atomic RS485 Base is not isolated. See schematic here. Compared to Isolated RS485 Unit which uses the CA-IS3082W IC - schematic here. Thanks Felix
  • Oh dear. Cardputer2 coming

    4
    1
    1 Votes
    4 Posts
    5k Views
    ajb2k3A
    There is also people in the discord cardputer community looking into adding a second bigger screen.
  • M5 CoreS3 power drain issue.

    cores3
    6
    0 Votes
    6 Posts
    7k Views
    L
    I recall the last action before I started to have the issue and I now suspect it was my particular scenario of charging the din base battery that might have damaged one or more of the power distribution mosfets. I shall describe the scenario here as a caution for fellow core s3 owners. firmware installed: uiflow 2.0.1 external device connected: M5Stack GPS/BDS unit connected to port c at the din base. charger used: wall charger with multiple usb c and a ports. one of the usb c port was used. sequence of event: a gps related uiflow program was running and the battery dropped low connected the wall charger to the core s3 with a usb c to c cable to charge the battery inside the din base after some time switched off the core s3 by holding the power button while the charging is still going on core s3 felt very warm to the touch but I did not think too much of it. charging was completed after the red indicator turned off I suspected that in sequence 4 one or more mosfets were overheated and damaged.
  • M5Dial power plug

    2
    0 Votes
    2 Posts
    2k Views
    teastainT
    @eicke Search this community website for: Dial connector And see the M5Stack Dial document page here: https://docs.m5stack.com/en/core/M5Dial [image: 1711040449978-1709937244466-screenshot-2024-03-08-at-5.33.53-pm.png] https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/products/core/M5Dial/DB2EK-2.54-2P-GN-S 2.54mm 2Pin Green.pdf Also I just realized that the actual 2 pin part number is in the URL of the datasheet! DB2EK-2.54-2P-GN-S \o/
  • Problem download SW with CoreS3

    2
    0 Votes
    2 Posts
    2k Views
    ajb2k3A
    @alex1 not without more information ?
  • M5paper: disable boot logo/menu

    m5paper uiflow
    2
    0 Votes
    2 Posts
    4k Views
    H
    Sorry for digging this old post....but... I have the same Issue. My application should update the display "as smooth as possible" that means the short flickering for a full refresh is ok (takes less than 1 second) but not the whole startup flickering-clearing-UIFlowLogo-flickering-nothinguntilmydatagetready-flickering thing. My solution is now a wait instead of sleep which draws the battery too fast. Any idea how to do that in UIFlow?
  • M5Paper doesn't work without been connected to the ligth

    2
    0 Votes
    2 Posts
    2k Views
    ajb2k3A
    Have you charged it for several hours?
  • Hall effect Unit SKU:U084 programming

    2
    0 Votes
    2 Posts
    3k Views
    H
    Here you find the information about this module: https://docs.m5stack.com/en/unit/hall According to the schematic it contains three A3144 Hall-sensors and a 74HC08 AND-Logic. The datasheet of the A3144 tells me that it has an open-collector output and the schematic that they are pulled up to 3.3V by resistors. So the function is: as long as all three sensors are not in a magnetic field that is higher than the level for switching (see datasheet), the AND gate output is HIGH. If one or more of the sensors are triggered by magnetic field, the output goes LOW. There is nothing to configure or program inside the module. The decission if the module fits to your project is up to you. By the way, if you plan to use a Arduino compatible controller it might be an option to use one that is based on ESP32. The controller already contains a Hall-Sensor. Just that you know: M5Stack does not make a mystery about the inside of their modules. You always find a schematic and all the datasheets that tells you everything about the hardware and its function. It is a big benefit if you learn to read and understand this informattion.
  • Stamp Pico connected to ESP32 Downloader on Mac M1 Pro, nothing happens

    8
    0 Votes
    8 Posts
    6k Views
    ajb2k3A
    @teastain When I started I had a 2012 MBP (still have it sat on the floor) but had to buy a 2022 M1 iMac for M5Stack writing . The device came recommended but I wouldn't be surprised if it was the stupid TB port.
  • Cardputer and drawJpgFile

    3
    0 Votes
    3 Posts
    4k Views
    W
    Hi, I created an issue in the M5GFX repository. Big kudos to @lovyan03 for providing a very fast answer and solution. For me the solution for an M5Stack CoreS3 is to add an include for <SD.h> #include <SD.h> #include <M5CoreS3.h> See M5GFX issue #79 Error: cannot declare variable 'file' to be of abstract type 'lgfx::v1::DataWrapperTfs::SDFS' for reference.
  • M5StackCore 2 V1.1 powerup automatically for connecting to a battery.

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • An Augmented T-Lite Thermal Camera

    1
    1 Votes
    1 Posts
    2k Views
    No one has replied
  • 360 Servo motor in fire

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