A voice recorder and note-taker on Waveshare's ESP32-P4-WIFI6-Touch-LCD-4.3, a 480 x 800 portrait screen with two microphones, a speaker and a card slot.
Tap the big key and the board records; the arcs either side of it are the board's two microphones, MIC1 on the left and MIC2 on the right, each filling from the bottom up with what it hears, and the two bands of bars under it show what it hears and what it plays. The key turns coral while it records and the caption counts the seconds. Tap again and the note is saved, named by the date and time - "Note 14:32", with "Sun 25 Oct 2026, 14:32" and its length in seconds on its row. The list holds every note, newest first: tap one and PLAY plays it through the speaker - the row gets a play mark and the strip over the list counts the time played against the note's length - STOP stops it, NAME brings up a box and a keyboard to call it something ("Shopping" - the time stays on its row), DELETE removes it.
Notes go to the SD card, or to the board's own flash when Settings says so or no card is in. The line under the date says which, with an SD card or a chip icon and the room left there ("SD 14.2 GB free"). The list shows the notes on both, each row marked with where it is, and each is played, named and deleted where it is. A card put in is tried before anything uses it - a file written, read back and deleted - and while that runs the line says "SD card getting ready..." and the record key waits; take the card out and its notes leave the list while the flash's stay, put it back and they return. The cog opens Settings: save to the card or the flash, the speaker's volume, the codec's own gain and the microphones' sensitivity. The Wi-Fi icon opens a page with a code: scan it with a phone, and the phone joins the board's own network and chooses your Wi-Fi for it. Once the board is on a network the clock at the top right sets itself from a time server; before that, notes are numbered.
Everything here is an ordinary widget. The key is a round button whose Disabled is bound to "Recording waits for the SD card", with a second one for the recording state; each side is a pair of arcs, one bound to "MIC1 level" and one to "MIC2 level"; the bars are two Spectrum analysers, one on the microphone and one on the player; the storage line is an SD card icon and a chip icon hidden by "Recording goes to the SD card", beside a label bound to "Free space where recordings go"; the list is a Data list whose setting "Lists the recordings in /notes", kept on both the card and the flash, fills it, with Record to a file set to "A new file each time" on the card while a switch says so, and Play, Name and Delete a recording on "the one chosen in a list". The "SD card put in" and "SD card taken out" automations that refill and empty the list are on the Data tab, to change as you like.
It is an Arduino export for the ESP32-P4, and it has run on the board it is drawn for: recording to the card and the flash, the list following the card out and back in, naming, the dated names, the storage line and the Wi-Fi code. One known edge: a card taken out and put back while the board runs can fail its first recording or two; a card in from the start has not. The Data list and the Spectrum analyser are part of Pro; the design is free to open, restyle and press Play on.
About this design
Voice Notes is an LVGL interface for the Waveshare ESP32-P4-WIFI6-Touch-LCD-4.3 (ST7701 (MIPI-DSI) 480 x 800, GT911 touch), with 3 screens and 82 widgets, made for Arduino (C++) on LVGL 9.
Screens
Notes
Settings
Phone
Hardware and build
Board
Waveshare ESP32-P4-WIFI6-Touch-LCD-4.3
MCU
ESP32-P4
Display
ST7701 (MIPI-DSI)
Resolution
480 x 800
Touch
GT911
Graphics library
GFX Library for Arduino
LVGL
v9
Exports to
Arduino (C++)
Peripherals
SD card (SDMMC, 4-bit), Wi-Fi co-processor (ESP32-C6 on SDIO, ESP-Hosted)
Libraries
lvgl, ESP8266Audio, GFX Library for Arduino
Purchase this boardAffiliate link: LCD Wizard may earn a commission if you buy through it.
Notes from the author
A voice recorder on a 4.3-inch portrait touchscreen: tap the key, say something, and the note is saved with its date and time - to the SD card, or the board's own flash. One list holds every note, newest first, to play back, name or delete, and a line at the top says where the next one goes and how much room is left.
Using it
Open a copy in the designer and it is yours to edit: restyle the screens, move it to another board, and export the Arduino (C++) project. Designing is free, and a copy needs no account. Open the designer.