🤖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?
  • Where to find source code for the builtin firmware?

    7
    0 Votes
    7 Posts
    17k Views
    m5stackM
    @pacoblasco https://github.com/m5stack/m5stack-cam-psram
  • M5Stack core does not recognize the GPS module

    3
    0 Votes
    3 Posts
    9k Views
    M
    Thanx a 1,000,000 for taking the time to help me. Oops, my bad! I had also been playing with a Heltec 32 WiFi kit, and forgot to change the board (how embarrassing). I am still indoors, so will either need to use a battery or, perhaps, sit by the window to test GPS. At the moment, after a few seconds the software reports "Brownout detector was triggered" over serial, then reboots. I will investigate that & ask a new question if I can't solve it. Sorry to have taken your time.
  • Can you connect two (or more) battery modules in the same stack?

    5
    0 Votes
    5 Posts
    9k Views
    C
    this post say that you can!!
  • ESP32CAM Firmware

    1
    0 Votes
    1 Posts
    4k Views
    No one has replied
  • FLIR Radiometric Lepton 3.0 Base Compatibility

    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • M5Stack Gray Magnetometer Won't Calibrate

    1
    0 Votes
    1 Posts
    4k Views
    No one has replied
  • 328p firmware workflow

    4
    0 Votes
    4 Posts
    9k Views
    J
    Got it that is what I thought but I wasn't sure and just thought I'd ask. Thank you both for your response.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • Powering the M5Cam

    6
    0 Votes
    6 Posts
    9k Views
    ajb2k3A
    @martarho is the battery pack going to sleep as well? some packs "switch off" if current draw drops below a certain level.
  • firmware with WIFI AND bluetooth dual mode

    5
    0 Votes
    5 Posts
    17k Views
    J
    Hi M5stack Team Please, any update for these question ? Br Jp
  • 0 Votes
    1 Posts
    3k Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • Faces kit badly needs intro card

    9
    0 Votes
    9 Posts
    15k Views
    ajb2k3A
    @markmll I didn’t meet you I meant me!
  • [Solved]New products roadmap

    5
    0 Votes
    5 Posts
    12k Views
    m5-docsM
    @yellowelise So sorry, I don't know more details about it.
  • Grove port issues on cameraF and StickC

    4
    0 Votes
    4 Posts
    7k Views
    m5stackM
    Hi, I get what you mean, it makes a lot of sense. The one you get is surly the soldering mistake , because they didn't put enough tin on the soldering pad. We definitely could do something to improve structures deign just like what you come up with, but its not gonna help that much if we have the bad soldering.
  • M5Camera focus and lens

    5
    0 Votes
    5 Posts
    8k Views
    J
    The fisheye lens can be focused but most likely the lens is positioned to it's optimal focus prior to shipping.
  • M5 Wheel / Bala not found in I2C bus?

    3
    0 Votes
    3 Posts
    8k Views
    m5-docsM
    @tuupola M5 Wheel of BALA is connected with M5Fire via pogo pin ( gpio21 gpio22 gnd 5v ). The IIC address of M5 Wheel ( 2-DC-driver module ) is 0x56. [image: 1554001295748-bala_1.jpg] https://docs.m5stack.com/#/en/app/bala
  • External Power - What is possible?

    15
    0 Votes
    15 Posts
    44k Views
    ajb2k3A
    @b1063n said in External Power - What is possible?: So, did anyone find a solution. I was about to buy it, but then when I look at the documentation for the power supply voltage I cannot find it! Documentation is quite poor I must add. I do not need battery operated solution, and the USB power is super ugly and inconvenient! I need to use external 5V power supply connected to pins inside the board in a professional manner (no pcb hacking). Is this not possible? I cannot believe it!! Yes it is possible as the Stackable modules provide internal power to M5Stack cores. (Sorry been working on my books and documenting units with demos this weekend.) The documents I have, show that each stackable module has its own voltage regulator that delivers 5 volts to pin 28 of the internal bus (+5V). If you look at the Proto module you will see that these pins are marked ready for you. https://docs.m5stack.com/#/en/module/proto
  • HardReset are real hardware reset?

    Moved
    2
    0 Votes
    2 Posts
    5k Views
    m5-docsM
    @yellowelise Yes, hareware reset