All Projects → maspetsberger → esp32-i2s-mems

maspetsberger / esp32-i2s-mems

Licence: other
Using an I2S MEMS microphone on an ESP32

Projects that are alternatives of or similar to esp32-i2s-mems

micropython-i2s-examples
Examples for I2S support on microcontrollers that run MicroPython
Stars: ✭ 40 (-61.17%)
Mutual labels:  esp32, i2s, i2s-microphone
esp32cam-ready
Plug and Play firmware for the esp32cam. Flash, provision and connect to rtsp.
Stars: ✭ 67 (-34.95%)
Mutual labels:  esp32, esp32-arduino
M5Stack-Air-Quality-ESPHome
ESPHome configuration for M5Stack's PM2.5 Air Quality Kit with the PMSA003 particulate matter sensor and the SHT20 temperature and humidity sensor
Stars: ✭ 19 (-81.55%)
Mutual labels:  esp32, esp32-arduino
Farm-Data-Relay-System
A system that uses ESP-NOW, LoRa, and other protocols to transport sensor data in remote areas without relying on WiFi.
Stars: ✭ 97 (-5.83%)
Mutual labels:  esp32, esp32-arduino
ESPHome-Air-Quality-Monitor
ESPHome configuration for a DIY indoor air quality monitor for CO₂ concentration, PM2.5 and PM10 concentrations, and temperature, humidity and pressure
Stars: ✭ 42 (-59.22%)
Mutual labels:  esp32, esp32-arduino
esp32FOTA
Experiments in firmware OTA updates for ESP32 dev boards
Stars: ✭ 185 (+79.61%)
Mutual labels:  esp32, esp32-arduino
esptool
esptool.py replacement written in #golang
Stars: ✭ 18 (-82.52%)
Mutual labels:  esp32, esp32-arduino
wifiaudio-tx-firmware
ESP32 based wifi auio transmitter firmware
Stars: ✭ 31 (-69.9%)
Mutual labels:  esp32, esp32-arduino
ReactESP
An asynchronous programming library for the ESP32 and other microcontrollers using the Arduino framework.
Stars: ✭ 26 (-74.76%)
Mutual labels:  esp32, esp32-arduino
esp32WS2811
Arduino library for ESP32 to drive WS2811 LEDs using the RMT peripheral
Stars: ✭ 22 (-78.64%)
Mutual labels:  esp32, esp32-arduino
esp32-internet-ota
ESP32 + GitHub Actions + Husarnet. A boilerplate project for ESP32 allowing in-field firmware update using GitHub Actions workflow.
Stars: ✭ 28 (-72.82%)
Mutual labels:  esp32, esp32-arduino
ESP-Alerts-for-Android
Send Android Notifications to an ESP32 with OLED display
Stars: ✭ 42 (-59.22%)
Mutual labels:  esp32, esp32-arduino
ESP32-LCD-I2S
Espressif ESP32 driving a controller-less monochrome lcd with parallel I2S bus
Stars: ✭ 54 (-47.57%)
Mutual labels:  esp32, i2s
TinyPixelMapper
a Pixelmapping software for the ESP32 and ESP8266 for addressible LED Strips, with a OSC controll interface and FFT
Stars: ✭ 22 (-78.64%)
Mutual labels:  esp32, esp32-arduino
NeoGB-Printer
An open-source and standalone Gameboy Printer emulator 100% compatible with all officially released games (110 in total) that support the accessory. Just print and save the images as BMP
Stars: ✭ 61 (-40.78%)
Mutual labels:  esp32, esp32-arduino
esp-rgb-led-matrix
Full RGB LED matrix, based on an ESP32 and WS2812B LEDs.
Stars: ✭ 91 (-11.65%)
Mutual labels:  esp32, esp32-arduino
OneWire
Library for Dallas/Maxim 1-Wire Chips
Stars: ✭ 32 (-68.93%)
Mutual labels:  esp32, esp32-arduino
OctoWifi-LEDs-Controller
LEDs driver for ESP32 ( support ART-NET, RGB888, RGB565, Z888 )
Stars: ✭ 16 (-84.47%)
Mutual labels:  esp32, esp32-arduino
ESP32AudioFramework
Dual core concurrent multi-task processing of continuous real-time audio on the ESP-32
Stars: ✭ 35 (-66.02%)
Mutual labels:  esp32, esp32-arduino
ESP-StepperMotor-Server
Turn your ESP32 into a complete stepper motor control server with web UI, REST API and serial control interface
Stars: ✭ 133 (+29.13%)
Mutual labels:  esp32, esp32-arduino

#ESP32 I2S MEMS Microphone Arduino IDE Example This repository holds some samples for connecting a I2S MEMS microphone to an ESP32 board.

At first I thought hooking up an I2S microphone would be straight forward, but it seems that I2S is a somewhat new or neglected interface. The examples distributed by adafruit only apply for Feather M0; the generic I2S example from the ESP32 examples is not directly applicable. Hence this repository.

Components used in this example

I am using these components:

How to connect the components?

There are no dedicated I2S pins on the ESP32. Instead, you will have to configure/enable the pins in your code. Eventually, I connected I2S-MEMS pins to the following ESP32 pins:

  • SEL is unconnected, i.e. only one channel, apparently left
  • LRCL to #15
  • DOUT to #32
  • BCKL to #14
  • GND to GND
  • 3V to 3V

Don't try to connect them to the similar sounding SCL/SCA/SCK, they're for the incompatible I2C interface.

How to use the examples?

You can open each of the examples as a sketch in the Arduino IDE. I've commonly used a baudrate of 115200, you will need to configure this in your serial monitor, otherwise it'll display rubbish.

Noteworthy

  • Either the SEL config is wrong, or the ESP32 I2S channel handling.
    • I had to use I2S_CHANNEL_FMT_ONLY_RIGHT whenever SEL pin was unconnected/ground, and I2S_CHANNEL_FMT_ONLY_RIGHT when SEL is high.
  • I could only get it to work with 32 bit sampling.
    • I don't know if this is a limitation of either hardware, or a configuration mistake on my side.
  • Although the setup seems to react nicely to noise.
    • I do not know if the recorded data is actually a valid sound.
    • There might be some bit-juggling still to be done.

Credits

Credits go to Adafruit for the easy-to-use hardware and the nice guide (even if it is not fully applicable here, it's still a great place for starters) and the espressif examples.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].