AI Meeting Recorder - Summarise Your Meetings Instantly

by techiesms in Circuits > Wearables

143 Views, 1 Favorites, 0 Comments

AI Meeting Recorder - Summarise Your Meetings Instantly

216fa90f-dd1f-4c79-a592-9c03caa3ed8a.png
The BEST AI Project Ever🔥🔥 | AI Meeting Recorder using XIAO ESP32 S3 Sense

In this project, I will show you how to build an AI-powered meeting recorder using the Seeed XIAO ESP32-S3 Sense. This compact device can record meetings, transcribe speech into text, generate AI summaries, and store everything directly on a microSD card—all without needing a computer or smartphone.

The system hosts a real-time web dashboard accessible over WiFi, allowing you to monitor live transcriptions, view meeting summaries, and access your complete meeting history directly from any device on your network.

Features

  1. Continuous audio recording using the onboard PDM microphone.
  2. Automatic speech-to-text transcription powered by ElevenLabs, transcribing speech as the meeting happens.
  3. Live meeting summaries generated during recording with key discussion points and action items.
  4. Unlimited meeting duration support through intelligent map-reduce summarization.
  5. Automatic saving of recordings, transcripts, and summaries to microSD card for permanent local storage.
  6. Real-time responsive web dashboard accessible through WiFi.
  7. Chat functionality to ask questions about recorded meetings.
  8. Physical push button for starting and stopping recordings without using the dashboard.
  9. Regenerate summaries for past meetings using saved transcripts.
  10. Battery-optimized operation for portable, standalone use.
  11. Complete privacy with local data storage—no cloud uploads required.

Supplies

Screenshot 2026-06-01 at 7.21.24 PM.png

Hardware Requirements

  1. Seeed XIAO ESP32-S3 Sense
  2. microSD Card (8GB or higher)
  3. USB-C Cable
  4. Push Button(6x6x8mm tactile switch)
  5. Battery(optional, for portable use)
  6. Side ON/OFF Switch

Why the XIAO ESP32-S3 Sense?

The XIAO ESP32-S3 Sense is the ideal choice for this project for several key reasons:

  1. Dual-Core Processing: The microcontroller has two independent processors. One core handles continuous audio recording while the other manages WiFi communication and API requests to the cloud-based AI services. This separation ensures that recording remains uninterrupted while summaries are being generated in the background.
  2. Integrated Hardware: The board includes a built-in digital PDM microphone and a microSD card slot, eliminating the need for external components and reducing wiring complexity. This integration results in cleaner audio input for the speech-to-text engine.
  3. Sufficient Memory: The 8MB of additional RAM (PSRAM) allows the device to buffer and process large audio chunks efficiently. This is critical for handling extended meetings without memory limitations, as processing audio data is memory-intensive.
  4. Compact Form Factor: Despite its powerful capabilities, the XIAO ESP32-S3 Sense is extremely compact, making it suitable for placement in any meeting room or workspace without being intrusive.

Software Requirements

Before uploading the project, install the required software and board packages in Arduino IDE.

Arduino IDE

  1. Download and install Arduino IDE version 2.3.x or later from the official Arduino website.

Board Package Installation

  1. Install the ESP32 board package using the Arduino IDE Boards Manager.
  2. Search for "esp32" by Espressif Systems and install version 3.0.x or later

Version 3.0 or later is required because the project uses driver/i2s_pdm.h from ESP-IDF 5.x. Earlier ESP32 core versions (2.x) will not compile correctly.

Board Selection

  1. After installation, select the correct board:
  2. Go to Tools → Board → esp32 → XIAO_ESP32S3
  3. Go to Tools → PSRAM and select "OPI PSRAM" (this is required for the project).

Built-in ESP32 Libraries

The following libraries are already included with the ESP32 Arduino core and require no separate installation:

  1. WiFi
  2. WebServer
  3. HTTPClient
  4. SD
  5. FS
  6. ESPmDNS

The project includes a bundled JSON parser called Shubh'Json inside the src/json/ folder, so no additional library installation is needed.

Web Flasher (Alternative Method)

For users who prefer not to use Arduino IDE, a web-based flasher is available at:

https://techiesms.github.io/MeetingRecorder/

The web flasher allows you to directly flash the firmware to your board from your browser without installing Arduino IDE. Simply connect your XIAO ESP32-S3 Sense board via USB-C and follow the on-screen instructions.

Once all software and board packages are installed or the firmware is flashed, the project is ready to compile and upload to the Seeed XIAO ESP32-S3 Sense board.

API Keys Required

Screenshot 2026-06-01 at 7.24.13 PM.png
Screenshot 2026-06-01 at 7.24.37 PM.png
Screenshot 2026-06-01 at 7.24.48 PM.png
Screenshot 2026-06-01 at 7.25.03 PM.png
Screenshot 2026-06-01 at 7.25.26 PM.png
Screenshot 2026-06-01 at 7.25.36 PM.png
Screenshot 2026-06-01 at 7.25.49 PM.png
Screenshot 2026-06-01 at 7.27.02 PM.png
Screenshot 2026-06-01 at 7.27.21 PM.png
Screenshot 2026-06-01 at 7.53.40 PM.png
Screenshot 2026-06-01 at 7.53.55 PM.png
Screenshot 2026-06-01 at 7.55.23 PM.png
Screenshot 2026-06-01 at 7.55.42 PM.png
Screenshot 2026-06-01 at 7.56.14 PM.png
Screenshot 2026-06-01 at 7.56.29 PM.png
Screenshot 2026-06-01 at 7.56.41 PM.png
Screenshot 2026-06-01 at 7.56.55 PM.png

Required API Keys and Setup

This project uses two online AI services: one for speech-to-text transcription and another for AI-generated summaries. You need to create accounts and obtain API keys from both services before starting the device.

ElevenLabs API Key (Speech-to-Text)

The ElevenLabs API powers the speech-to-text transcription using the Scribe v1 model. This service converts your meeting audio into accurate text transcripts.

To get started:

  1. Visit ElevenLabs at https://elevenlabs.io/
  2. Create a free account
  3. Free tier includes a generous usage quota suitable for testing and typical usage
  4. Once logged in, open your profile settings and generate an API key
  5. Copy this key and you will enter it during device setup

OpenAI API Key (Meeting Summaries)

The OpenAI API generates both the rolling summaries during the meeting and the final structured meeting summary using GPT-4o-mini, a cost-effective language model.

To get started:

  1. Visit OpenAI at https://platform.openai.com/api-keys
  2. Create an account or log in if you already have one
  3. Navigate to the API keys section
  4. Generate a new API key
  5. OpenAI uses a pay-as-you-go pricing model; the cost per meeting is very low for normal usage
  6. Copy this key and you will enter it during device setup

How API Keys Are Stored

The API keys are not hardcoded inside the Arduino sketch code. Instead, you enter them one time through the device web dashboard during initial setup, and they are automatically saved to the microSD card in a file called config.json. This approach makes it easy to update or change API keys later without needing to edit and re-upload the firmware to the device.

Once both API keys are obtained, proceed to the device setup section where you will enter them through the web interface.

Flash the Firmware

Flashing the Firmware

Download the MeetingRecorder firmware from the official repository:

GitHub Repository: github.com

Once downloaded:

  1. Open the MeetingRecorder.ino file in Arduino IDE
  2. Configure the board settings as described in the software requirements section
  3. Select the correct board: Tools → Board → esp32 → XIAO_ESP32S3
  4. Click Upload to flash the firmware onto the device

After uploading completes, the device will reboot automatically and enter initial setup mode.

First-Time WiFi and API Key Configuration

Once the firmware is flashed, the device creates its own WiFi network for configuration. This allows you to set up your WiFi credentials and API keys without needing an existing internet connection.

Connect to the device WiFi:

  1. Network Name (SSID): MeetingRecorder
  2. Password: recorder123

Open your browser and navigate to:

  1. http://192.168.4.1

This opens the device configuration page. Click the Setup icon in the top-right corner and enter:

  1. Your home WiFi SSID and password
  2. Your ElevenLabs API key (obtained from elevenlabs.io)
  3. Your OpenAI API key (obtained from openai.com)

Click Save and Reconnect. The device will restart and connect to your home WiFi network. Once connected, you can access the dashboard from any device on the same network using the URL:

  1. http://meetingrecorder.local

Starting a Meeting

You can record meetings in two ways:

Using the Web Dashboard:

  1. Open http://meetingrecorder.local in your browser
  2. Click Start Meeting to begin recording
  3. Click Stop Meeting to end the session

Using the Physical Push Button:

  1. Press the button once to start recording
  2. Press the button again to stop recording

This allows you to use the device without needing a phone or browser nearby.

Viewing Meeting Results

During Recording:

  1. The live summary updates continuously on the dashboard
  2. The transcript appears in real-time as audio is processed
  3. Meeting statistics show word count, duration, and processing status

After Recording Stops:

  1. The system automatically generates a comprehensive Final Summary
  2. Access the Meeting History to view all past recordings
  3. Click Copy to quickly copy any summary or transcript
  4. All data is stored on the microSD card in timestamped folders

Stored Data Organization

All recordings are organized on the microSD card with the following structure:

  1. config.json — Contains WiFi credentials and API keys
  2. meeting_<timestamp>/
  3. chunk_0.wav through chunk_N.wav — Raw 16 kHz mono audio (15 seconds each)
  4. chunk_0.txt through chunk_N.txt — Transcripts for each audio chunk
  5. full_transcript.txt — Complete meeting transcript
  6. summary.txt — Rolling summary updates during recording
  7. summary_final.txt — Final structured summary (Overview, Key Points, Decisions, Action Items)

How It Works Behind the Scenes

The device uses two processor cores for efficient operation:

Core 0 — Audio Recording:

  1. Continuously captures audio from the microphone
  2. Saves 15-second audio chunks to the microSD card
  3. Ensures recording never interrupts, even during API calls

Core 1 — Processing and API Communication:

  1. Retrieves completed audio chunks
  2. Sends audio to ElevenLabs for transcription
  3. Sends transcripts to OpenAI for summary generation
  4. Updates the dashboard with results in real-time

This dual-core approach ensures smooth operation without audio gaps or delays.

Important Security Considerations

API Key Storage:

  1. API keys are saved in plaintext in the config.json file on the microSD card
  2. Do not share your microSD card or publish its contents publicly
  3. Keep the card secure like you would a password file

WiFi Security:

  1. The default access point password is "recorder123"
  2. Change this password before using in sensitive environments by editing the AP_PASSWORD setting before flashing
  3. The device can run in both AP (access point) and STA (station) modes simultaneously for flexibility

Data Privacy:

  1. All recordings are stored locally on your microSD card
  2. Nothing is automatically uploaded to cloud storage
  3. You have complete control over your meeting data

Web Dashboard Interface

Screenshot 2026-06-01 at 6.58.31 PM.png
Screenshot 2026-06-01 at 6.58.52 PM.png
Screenshot 2026-06-01 at 8.26.30 PM.png

The MeetingRecorder is controlled through a responsive web dashboard accessible at http://meetingrecorder.local from any device on your WiFi network. The interface is designed for both desktop and mobile use.

Main Dashboard View

The live recording interface displays:

  1. Recording Status: Shows whether a meeting is currently active with a large Start/Stop button
  2. Live Transcript: Displays the real-time speech-to-text as it happens, showing the last portion of the meeting
  3. Live Rolling Summary: Updates continuously during recording with the AI-generated summary so far
  4. Meeting Statistics: Shows word count, duration, number of audio chunks processed, and WiFi signal strength

Navigation Tabs

The dashboard is organized into three main sections:

Live Tab:

  1. Active when a meeting is recording
  2. Shows real-time transcript and rolling summary
  3. Displays meeting timer and processing status
  4. One-button start/stop control

History Tab:

  1. Lists all past meetings with timestamps
  2. Shows final summaries for each recording
  3. Allows copying summaries and transcripts
  4. Includes a regenerate button to re-run summarization on past meetings
  5. One-click delete for removing meetings

Settings Tab:

  1. WiFi configuration and status
  2. API key management (update ElevenLabs and OpenAI keys)
  3. Device information and uptime
  4. Factory reset option (with confirmation)

Quick Actions

Throughout the interface:

  1. Copy Button: Instantly copy any summary or transcript to clipboard
  2. Download: Access raw transcript and audio files from the SD card
  3. Regenerate: Re-run the summarization pipeline on past meetings
  4. Delete: Remove individual meetings from history

Mobile Responsiveness

The dashboard automatically adapts to phone, tablet, or desktop screens. All core features work on mobile devices, making it convenient to manage recordings from anywhere on your network.

PCB Assembly

b3477344-16b8-4b8c-9d8e-55b42bb20a4e.png
Screenshot 2026-06-01 at 4.47.09 PM.png
Screenshot 2026-06-01 at 4.47.49 PM.png
ca308f4e-fac7-41e0-8756-ae17b396c65d.png
fa307baa-58cc-4378-b984-00af335605b5.png
d7658081-41f0-4b11-bdcb-2e421b8d305f.png

A custom PCB was designed to consolidate all components into a single board. The design was verified using HQDFM software for Design for Manufacturing (DFM) analysis before manufacturing to ensure correct production and identify any potential issues.

Here I would like to thanks NextPCB for sponsoring Amazing and High Quality PCBs

PCB Assembly Process:

  1. Solder paste is applied to PCB pads using a stencil.
  2. Surface-mount components are placed on the board.
  3. The PCB passes through a reflow oven to melt solder and create permanent connections.
  4. Through-hole components like the push button and switch are manually soldered.
  5. Assembled board is tested for functionality.

3D-Printed Casing

The assembled PCB is housed in a custom 3D-printed casing designed for portability and durability. The casing is shaped as a pendant, allowing the device to be worn on a lanyard or placed discreetly on a desk during meetings. The design includes:

  1. Protective enclosure for the PCB and battery.
  2. Accessible openings for the push button and power switch.
  3. Mounting points for secure battery placement.
  4. Ergonomic shape for comfortable handling and wearing.

The complete assembled device is now ready for firmware flashing and testing.

Conclusion

Screenshot 2026-06-01 at 7.12.29 PM.png
Screenshot 2026-06-01 at 5.04.51 PM.png

The AI Meeting Recorder proves that sophisticated AI workflows can run on affordable hardware. By combining the XIAO ESP32-S3 Sense with ElevenLabs and OpenAI, you get a standalone device that records, transcribes, and summarizes meetings automatically—without a computer or cloud storage fees.

Key Benefits:

  1. Complete privacy with local data storage.
  2. Portable and wearable design.
  3. No subscription or cloud uploads required.
  4. Real-time transcription and summarization.

Once assembled and configured with your WiFi and API credentials, the device is ready to use. Simply press record and let it handle everything else. Your meetings are automatically captured, transcribed, and summarized for easy reference.