Navigation

    M5Stack Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. mrburns42
    3. Posts
    M
    • Continue chat with mrburns42
    • Start new chat with mrburns42
    • Flag Profile
    • Profile
    • Following
    • Followers
    • Blocks
    • Topics
    • Posts
    • Best
    • Groups

    Posts made by mrburns42

    • SPM1423 "I2S" Microphone U089 Quirks

      The module U089 is described as an I2S microphone. However, that seems not exactly true. While it can be accessed via an EDSFF I2S driver, it is not really true I2S. It supports only a clock and data line and does not have a frame select or word select line. To use the driver, it seems that you need to set some weird configurations. Using this device, the driver needs to connect the WS output to the clock pin. This is not a logically correct connection as one would assume that the bit clock line should be used. I lost many hours debugging why it did not work as I connected to the bit clock instead of the word select. The pin configurations that worked for me are shown below. "PIN_CLK" and "PIN_DATA" are the esp32 pins connected to the grove port.

      i2s_pin_config_t pin_config;
      pin_config.mck_io_num = I2S_PIN_NO_CHANGE;
      pin_config.bck_io_num = I2S_PIN_NO_CHANGE;
      pin_config.ws_io_num = PIN_CLK;
      pin_config.data_out_num = I2S_PIN_NO_CHANGE;
      pin_config.data_in_num = PIN_DATA;

      The appropriate "left" or "right" channel is also not clear. Both settings will produce an audio output. However, I cannot figure out which is the correct one. The U089 has the select pin grounded. From other datasheets, this would be the "right" channel. However, from the web page below,

      https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2s.html

      It appears that latching data on the rising edge of the clock is the left channel and not the right one. Therefore, either the espressif document is in error, or it this device is opposite the microphone datasheets.

      Does anyone know which is correct? The example code uses "right" but there is no explanation as to how that was determined.

      It would be nice it the example code had comments about the required pin configurations. That would probably help others from wasting time with the configuration, as I did.

      posted in Modules
      M
      mrburns42
    • RE: Load Micropython on M5 Stamp Pico

      Yes the baud rate is correct. The characters are not random. They appear to be a CRC error and it is being sent in hex rather than ASCII.
      Anyway, I found that if I loaded the ESP32 generic binary file then it works. At least I can get to a Micropython REPL prompt. Of course, this version is probably going to me missing the libraries that I will need. I guess I will have to build my own binary version.

      posted in Micropython
      M
      mrburns42
    • Load Micropython on M5 Stamp Pico

      I am trying to load Micropython on an M5 Stamp Pico. I am new to Micropython but skilled in microcontrollers and C++. I tried several binaries from the official website. All cause an exception crash and a boot loop. I see nothing in the official website targeting the Pico as a generic ESP32 device.

      I installed M5Burner and used that. It did not boot loop after install, but it does not seem to work. If I send it anything from the serial port, then it replies with:

      ª«ªÿÿcrc error2k«Ì«

      I do not need or want WiFi at this time.

      Is there a binary for simple serial console interface to the M5 Stamp Pico? If so where do I download it?

      If I have to build my own from source, is their a predefined header for this board so I know the appropriate configuration options?

      Thanks.

      posted in Micropython
      M
      mrburns42
    • Ultrasonic U098 Sensor Datasheet

      Is there a datasheet for the U098 sensor chip? The website list RCWL-9600 as the chip. However, there is no schematic and no datasheet for this chip that I can find. There is some example code that show banging in some magic numbers via I2C and getting other magic numbers back as the response. However, that does not really help me in using it correctly.
      Seems that at least there should be a list of available registers within the chip and their uses.
      Thanks.

      posted in Units
      M
      mrburns42