ESP32 Projects

This ESP32 Voice Recorder Has No Buttons and No Touch – Here’s How It Works

Last Updated on May 19, 2026 by Engr. Shahzada Fahad

Can an ESP32 really work as a voice recorder?

In this article, I turn an ESP32 into a real, gesture-controlled voice recorder and show how it records audio and saves proper WAV files to an SD card with no buttons and no touch controls at all. making it a complete DIY ESP32 voice recorder.Minimal ESP32 Voice Recorder setup with no touch controls or physical buttons

Normally, audio recording projects mean extra modules, complex wiring, and messy code. You need a separate microphone, an amplifier, power management, and even after all that, you still fight noise and stability issues.

But this board changes everything with gesture control, making it feel like a true no button voice recorder and a smooth gesture controlled ESP32 project, almost like a smart voice recorder ESP32 that responds naturally without any physical interaction.

Makerfabs MaTouch 3.16-inch TFT display with ESP32-S3 for building an ESP32 voice recorder

This is the Makerfabs MaTouch ESP32-S3 Parallel TFT 3.16-inch ST7701S development kit..It already includes a digital microphone, a powerful ESP32-S3, a large display, and proper power management — all in one clean design.

ESP32 Voice Recorder board with onboard components on Makerfabs MaTouch ESP32-S3 TFT module

No extra modules. No wiring mess. That’s why it’s perfect for building a gesture-controlled ESP32 voice recorder.

One thing I really appreciate about Makerfabs is that they don’t hide the design.

All the important connections are exposed and clearly laid out.

Wiring schematic of ESP32 Voice Recorder with MaTouch TFT display module

You can actually see how the microphone, display, power circuit, and ESP32 are connected.

This makes it much easier to learn, understand the signal flow, and eventually build your own designs from scratch. Don’t worry, if you are not able to see the connections clearly, this circuit diagram is available in the folder.

Portable ESP32 Voice Recorder with rechargeable lithium battery connection

Portability is another big deal for a real voice recorder.

This board supports a battery with built-in charging, so with a small Li-ion battery, the project becomes fully portable.

No power banks. No USB cables.

Just switch it on and record anywhere.

Close-up of INMP441 I2S MEMS microphone connected to ESP32 voice recorder circuit

The microphone used here is the INMP441 digital I2S microphone.

It’s one of the best choices for ESP32 audio projects.

Because it’s digital, the audio goes straight to the ESP32 over I2S, avoiding analog noise, unstable ADC readings, and signal issues.

The INMP441 isn’t meant for studio music production, and its sensitivity is fixed; but for speech, learning, and embedded voice recorders, it’s an excellent choice.

And the best part?

Everything is already integrated properly.

Microphone, display, power system, and controls are all ready to go.

That means less time fighting hardware and more time understanding how audio recording actually works on the ESP32.

If you want ready-to-use project folders and extra resources, you can support my work on Patreon.

With just a $1 subscription, you get access to all my premium projects.


ESP32 Voice Recorder Software Setup – Arduino IDE, Boards & Libraries

Before we start writing any code, let me quickly share my software setup so you can follow along without any issues.

Installing board packages and libraries for ESP32 Voice Recorder project

I am using Arduino IDE version 2.3.6, along with the ESP32 boards package version 2.0.11; if you want you can also try 2.0.16. This setup works reliably with the ESP32-S3 and avoids compatibility problems.

For libraries, you will need two important ones.

The first is the QMI8658 library version 1.0.1, which is used for gesture and motion input on this board.

And for Arduino_GFX_Library watch the video.

For the Arduino_GFX_Library

Go into the “lib” folder.

Installing Arduino GFX library for ESP32 voice recorder display on MaTouch TFT 3.16-inch board

From here, copy “GFX_Library_for_Arduino”… and paste it into your Arduino libraries folder.

If you already have an older GFX library installed, make sure you delete it first.

Otherwise, you may run into multiple libraries found errors during compilation, and that can cause unnecessary confusion.

Once you have the Arduino IDE installed, the ESP32 board package set correctly, and both of these libraries added, the software side is fully ready. At this point, we are officially prepared to move forward and start building the voice recorder.

Arduino IDE:

Arduino IDE 2.3.6

ESP32 Boards package:

ESP32 V2.0.11 or ESP32 V2.0.16

Libraries:

QMI8658 v1.0.1 library

GFX_Library_for_Arduino

Install JPEGDecoder v2.0.0 library


ESP32 Voice Recorder Full Code

This code turns the ESP32-S3 into a complete, gesture-controlled voice recorder. Audio from the digital I2S microphone is captured cleanly and written directly to the SD card in standard WAV format, so every recording can be played instantly on any device. The ESP32 handles this in real time, making sure no audio data is lost.

The TFT display gives clear visual feedback at every stage. In standby, the system waits for input. When recording starts, the screen switches to a bold red “REC” indicator, and when recording stops, it turns green and confirms that the file has been saved. You always know exactly what the recorder is doing.

Instead of buttons, the QMI8658 motion sensor is used for control. After a short calibration at startup, a simple shake gesture starts or stops recording. This makes the whole system fast, intuitive, and completely touch-free.



How to Upload Code to ESP32-S3 Voice Recorder (Correct Settings)

To upload the program, here is what you need to do:

First, go to the Tools menu > Board > ESP32, and select ESP32S3 Dev Module.

Go back to the Tools Menu > Port, and choose the correct communication port.

Again to the tools menu > Flash Size, and select 16MB.

Again go to the Tools menu > Partition Scheme and select 16M Flash

And one last time, go to Tools Menu > PSRAM, and select OPI PSRAM.

Once these settings are done, you can simply click the Upload button.

Uploading program to MaTouch ESP32-S3 parallel TFT 3.16-inch board for voice recorder firmware

As you can see, the program has been successfully uploaded.


Real ESP32 Voice Recorder Demo – Shake to Record, Save & Play Audio

As soon as we flip the power switch, the system takes about two seconds to initialize.

Calibrating IMU and gyroscope sensors for gesture-controlled ESP32 voice recorder project

During this time, it’s zeroing out the accelerometer and calibrating itself. Pro tip here: keep the device completely still during this phase. If you move it too much, the shake detection can become a little too sensitive later.

Once the calibration is done, the system enters standby mode.

ESP32 Voice Recorder running in low power standby mode on TFT display

At this point, it’s fully armed and ready to go. Now, instead of fumbling around with tiny buttons, all you need to do is give the device a quick shake to start recording.

ESP32 Voice Recorder quick shake feature with accelerometer sensor

The moment recording starts, the interface changes instantly.

Interactive UI design for ESP32 Voice Recorder with touchscreen display

A big red circle appears on the screen with the word “REC” stamped right in the center. You simply cannot miss it. That large recording indicator makes it very clear that audio is being captured, even if the recorder is placed a few feet away from you.

Sound recording storage process in ESP32 Voice Recorder using SD card

When you are done recording, just shake the device again. The recording stops immediately, the screen turns green, and a clear “SAVED!” message appears.

SD card audio storage feature in ESP32 Voice Recorder setup

The file name is shown right there on the display, so there’s no guessing and no risk of losing your audio.

Before we play the recording, let me set the right expectations.

Right now, this project is using very basic audio settings. We are using a buffer size of 1024, 16-bit audio, and a 22.05 kHz sample rate. That puts us around AM-radio to podcast-draft quality;  clear enough for speech, but definitely not studio grade. And that’s completely by design.

Right now, the goal is not to chase perfect sound. The goal is to build a reliable, gesture-controlled voice recorder and really understand the fundamentals: how the ESP32 captures digital audio, how that data is written cleanly to an SD card, and how motion control replaces physical buttons. This is version one, and it’s doing exactly what it’s meant to do.

Alright, with that out of the way… let’s play the recording. “For the practical Demonstration watch the video tutorial”.

Alright, so what you are hearing right now is coming directly from the ESP32 voice recorder. This is raw audio; 16-bit, 22 kilohertz, written straight to the SD card.

So yes, it sounds a bit thin, and it doesn’t have that studio warmth or punch.

And that’s completely expected.

This version is focused on functionality, not perfection.

It’s here to prove that the ESP32 can record audio reliably, save proper WAV files, and can be controlled entirely using gestures.

In the next video and article, we are taking a big step forward. I will be building a true studio-style voice recorder specifically for voiceovers.

That means proper DSP processing, digital gain control, limiters, noise handling, and all the techniques that actually shape and polish audio. If sound quality matters to you, that’s a video you absolutely don’t want to miss.

So, that’s all for now.


 

Watch Video Tutorial:

ESP32 Voice Recorder  |  No Buttons, No Touch

Frequently Asked Questions

Can an ESP32 really work as a voice recorder?

Yes, the ESP32-S3 can be used as a complete ESP32 voice recorder, capable of capturing audio and saving it as WAV files on an SD card.

How does this ESP32 voice recorder work without buttons or touch?

This project uses a gesture controlled ESP32 system, where a simple shake starts and stops recording instead of physical buttons.

What is the shake-to-record feature in this ESP32 project?

The shake feature uses motion detection to trigger recording, making it a true no button voice recorder experience.

Which ESP32 board is used in this voice recorder project?

The project uses the Makerfabs MaTouch ESP32-S3 TFT development board, which integrates display, power, and audio support.

What microphone is used in this ESP32 audio recording system?

The project uses the INMP441 ESP32 I2S microphone, which provides clean digital audio input.

Why is an I2S microphone used in ESP32 audio recording?

An ESP32 I2S microphone like INMP441 sends digital audio directly to ESP32, reducing noise and improving stability.

Does the ESP32 save WAV files directly?

Yes, this project uses ESP32 save WAV file functionality to store properly formatted audio files on SD card.

Where are audio files stored in this ESP32 voice recorder?

All recordings are saved on an SD card using the ESP32 SD card recording system.

What format is used for recorded audio files?

The system saves audio in standard WAV format, so files can be played on any device without conversion.

What sensor is used for gesture detection?

The QMI8658 accelerometer/IMU is used to detect shaking for controlling the ESP32 voice recorder without buttons.

What libraries are required for ESP32 audio recording?

This ESP32 audio recording project uses:

  • QMI8658 library
  • Arduino_GFX_Library
  • JPEGDecoder
  • SD and SPI libraries

What Arduino IDE version is used in this project?

The project uses Arduino IDE 2.3.6 for programming the ESP32.

Which ESP32 board package is required?

You need ESP32 board package v2.0.11 or v2.0.16 for stable compilation.

What sample rate is used in ESP32 audio recording?

The system uses 22.05 kHz sample rate, which gives clear speech quality suitable for voice recording.

What type of ESP32 project is this?

This is a gesture controlled ESP32 voice recorder project with SD card storage and I2S audio input.

Can ESP32 handle real-time audio recording?

Yes, ESP32 can handle real-time ESP32 audio recording by streaming I2S data into SD card storage.

Is this project suitable for beginners?

It is intermediate level because it combines ESP32 I2S microphone, SD card, IMU sensor, and display UI.

What makes this ESP32 voice recorder different?

It has:

  • No buttons
  • No touch input
  • Shake control
  • SD card WAV recording
  • Integrated display UI

Discover more from Electronic Clinic

Subscribe to get the latest posts sent to your email.

Engr. Shahzada Fahad

Engr. Shahzada Fahad is an Electrical Engineer with over 15 years of hands-on experience in electronics design, programming, and PCB development. He specializes in microcontrollers (Arduino, ESP32, STM32, Raspberry Pi), robotics, and IoT systems. He is the founder and lead author at Electronic Clinic, dedicated to sharing practical knowledge.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Discover more from Electronic Clinic

Subscribe now to keep reading and get access to the full archive.

Continue reading

Electronic Clinic
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.