🤖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.

    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...
  • 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
    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.

    259 Topics
    847 Posts
    R
    Two years ago I set up 6 atom lites with moister sensors for my raised gardens. This year I added another garden. I have download the same program only with different client name and different topic to publish to. I'm using EMQX intergration within Home Assistant as my MQTT server. The Atom Lite logs into the server but is not publishing the topic for some reason. I went back to the old version of UIFlow that was working on the rest of my beds with the same results. I updated to the latest version of EMOX with the same effect. Does anyone have a clue as to what might be going on?
  • SKU:U087 with Raspberry Pi 4

    1
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • unable to load code stampc3

    3
    0 Votes
    3 Posts
    3k Views
    ajb2k3A
    Sorry I’ve been busy with projects and Stamp Pico D4 examples. Something I need to check is does it work using the C3 internal usb programmer
  • M5Stamp C3 powered by alkaline batteries

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • M5Stamp C3 and Arduino IDE

    8
    1 Votes
    8 Posts
    17k Views
    H
    @felmue said in M5Stamp C3 and Arduino IDE: Hello @HaSch The error message looks familiar - see this thread. Thanks Felix I looked at this thread but it didn't work for me. Grounding Pin 9 and trying to flash ends with the same result. How can I use another TTL2USB port? I only have the one provided using the board.
  • ATOM RS-485 - No power via USB

    2
    0 Votes
    2 Posts
    3k Views
    felmueF
    Hello @watchforstock looking at the ATOM RS485 schematic the only way I see which would keep the M5Atom from powering up when plugged into the ATOM RS485 is if somehow the 5 V line is (partly) shorted to GND. Now, there is a built-in DC-DC converter in the ATOM RS485 converting the input voltage from the RS485 connector to 5 V. In your case however this DC-DC converter is not fed an input voltage. Maybe the DC-DC converter IC didn't like the fact it was fed 5 V into its output from the M5Atom. You could try to measure the 5 V on the Groove connector while the M5Atom is plugged into the ATOM RS485 to see if it somehow is pulled down. Thanks Felix
  • Is it safe to Power m5paper and m5ink with fast charge 20W power banks?

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • Measuring energy consumption with M5stack basic

    3
    0 Votes
    3 Posts
    4k Views
    R
    Thank You Felmue. The source code that is mentioned in the post you linked should be run in arduino ? Thank you
  • UIFlow server connection unresponsive after reboot of Core2

    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • Core2 is not a finished product

    4
    0 Votes
    4 Posts
    7k Views
    L
    @ajb2k3 But then how comes I have an issue with the Core 2 but none with the M5Paper ? I have installed the CP210X driver manually, ie not using any standard driver from Win10. If both devices use the DOWDQ6 they should end up behaving the same way, no? For the UIFlow menu on the Core2, at least after a reboot I can get to UIFlow in wifi mode. I takes several tries usually as it seems the touchscreen is not always immediately responsive. But at least I can reboot, put it back on UIFlow wifi mode and upload new versions of code.
  • M5stack Basic core or other for measuring energy consumption ?

    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • unit of measurement of SetPulse (BugC)

    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • Stamp pico min max V

    12
    0 Votes
    12 Posts
    10k Views
    ajb2k3A
    工作电压/供电电压 3.0 V ~ 3.6 V Operating voltage/supply voltage 3.0 V ~ 3.6 V
  • Arduino Debug on ESP32

    Moved
    7
    4 Votes
    7 Posts
    22k Views
    ajb2k3A
    @mhaberler I don't I'm just a moderator of the forums do not work for M5Stack and so have nothing to do with their manufacturing and product quality testing.
  • This topic is deleted!

    1
    3
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • binary file for unit camera diy kit

    2
    0 Votes
    2 Posts
    3k Views
    ajb2k3A
    You should find it in M5Burner. https://docs.m5stack.com/en/download
  • Unit V2 GUI Doesn't Have All Features

    2
    0 Votes
    2 Posts
    4k Views
    OyczEO
    @kylecat1 Hey, yes its could be old FW burned, i think i was the same with my unit, go to https://docs.m5stack.com/en/quick_start/unitv2/update and follow the guide.
  • 0 Votes
    1 Posts
    3k Views
    No one has replied
  • Core2 + Face RFID cannot get work

    6
    0 Votes
    6 Posts
    12k Views
    M
    @jvaleri Thanks for posting this link!
  • Unit V2 ssh password not working

    unitv
    2
    0 Votes
    2 Posts
    6k Views
    bjone6B
    What user name are you using?
  • 0 Votes
    2 Posts
    5k Views
    E
    Hi, Which is the minimum time between snapshots? Can I take and send a picture per second? Thanks in advance!