> ## Documentation Index
> Fetch the complete documentation index at: https://learn.pcbcupid.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Beginner-friendly guide to building your own button-operated Speech-to-Text Kit using the PCB Cupid GLYPH C6 microcontroller, T5848 I2S microphone, and Android companion app.

# GLYPH Voice Kit

# GLYPH Voice Kit

<div style={{ display: 'flex', gap: '10px', flexWrap: 'wrap', marginBottom: '1.25rem' }}>
  <span style={{ backgroundColor: '#0D9373', color: '#fff', padding: '4px 10px', borderRadius: '6px', fontSize: '0.8rem', fontWeight: 600 }}>Firmware: transport-r6</span>
  <span style={{ backgroundColor: '#10b981', color: '#fff', padding: '4px 10px', borderRadius: '6px', fontSize: '0.8rem', fontWeight: 600 }}>App: v0.11.0</span>
  <span style={{ backgroundColor: '#6366f1', color: '#fff', padding: '4px 10px', borderRadius: '6px', fontSize: '0.8rem', fontWeight: 600 }}>License: MIT</span>
  <span style={{ backgroundColor: '#f59e0b', color: '#fff', padding: '4px 10px', borderRadius: '6px', fontSize: '0.8rem', fontWeight: 600 }}>ESP32-C6 RISC-V</span>
</div>

<CardGroup cols={2}>
  <Card title="GitHub Repository" icon="github" href="https://github.com/pcbcupid/Glyph-Voice">
    Browse source code, report issues, and check technical specifications on [pcbcupid/Glyph-Voice](https://github.com/pcbcupid/Glyph-Voice).
  </Card>

  <Card title="Download App & Firmware" icon="download" href="https://github.com/pcbcupid/Glyph-Voice/releases/">
    Grab the prebuilt Android APK (`glyph-voice-0.11.0.apk`) and ready-to-flash binary files directly from [GitHub Releases](https://github.com/pcbcupid/Glyph-Voice/releases/).
  </Card>
</CardGroup>

***

## 1. What is the GLYPH Voice Kit?

The **GLYPH Voice Kit** is a portable, button-operated voice transcription and AI note-taking system. By pairing the [GLYPH C6](/documentation/modules/glyph/glyph-esp32c6/overview-glyph-c6) development board with a high-performance [G-Sense 1-Channel Microphone (T5848)](/documentation/modules/g-sense/t5848-microphone) and an Android companion app, you can capture spoken voice anywhere and instantly convert it into written text.

### How It Works (The Simple Version)

1. **Press to Talk:** Tap the **BOOT** button on your GLYPH C6 board to begin speaking.
2. **Audio Streaming:** The board captures your voice through the digital I2S microphone, filters the audio, and streams it wirelessly to your phone's personal Wi-Fi hotspot over a local WebSocket.
3. **On-Device Speech-to-Text:** The Android companion app transcribes your words in real time using an offline, on-device AI model (NVIDIA Parakeet). No internet connection or cellular data is needed!
4. **Instant AI Summary (Optional):** When you finish speaking, the app can automatically summarize your notes into a clean, concise paragraph using DeepSeek or OpenAI.

***

## 2. Quick Start: 4 Easy Steps

<Steps>
  <Step title="Wire Your Hardware">
    Connect the [G-Sense T5848 Microphone](/documentation/modules/g-sense/t5848-microphone) to your [GLYPH C6](/documentation/modules/glyph/glyph-esp32c6/overview-glyph-c6) with 5 jumper wires as shown in the [Wiring Table](#3-hardware-wiring).
  </Step>

  <Step title="Flash the Firmware">
    Download the ready-to-use firmware binary from [GitHub Releases](https://github.com/pcbcupid/Glyph-Voice/releases/) and flash it to your GLYPH C6 using Web Flasher or `esptool.py`.
  </Step>

  <Step title="Configure Wi-Fi Credentials">
    Power on your board. Connect your phone to the board's setup network (`GLYPH-Setup-XXXXXX`), open `http://192.168.4.1/` in your browser, and enter your phone hotspot name and password.
  </Step>

  <Step title="Open App & Start Talking">
    Install `glyph-voice-0.11.0.apk` from [GitHub Releases](https://github.com/pcbcupid/Glyph-Voice/releases/), turn on your 2.4 GHz phone hotspot, tap **Connect** in the app, and click the **BOOT** button to record!
  </Step>
</Steps>

***

## 3. Hardware & Wiring

### Bill of Materials (What You Need)

| Component | Quantity | Description & Documentation |
| :- | :-: | :- |
| **Microcontroller** | 1 | [GLYPH C6 Development Board](/documentation/modules/glyph/glyph-esp32c6/overview-glyph-c6) • [Pinout Guide](/documentation/modules/glyph/glyph-esp32c6/glyphc6-pinouts) |
| **Microphone Module** | 1 | [G-Sense 1-Channel Microphone (T5848)](/documentation/modules/g-sense/t5848-microphone) |
| **Jumper Wires** | 5 | Female-to-Female DuPont jumper wires |
| **USB Cable** | 1 | USB Type-C data & power cable |
| **Android Smartphone** | 1 | Android 8.0 or newer with 2.4 GHz Wi-Fi Hotspot support |

***

### Pin Connection Table

Connect your microphone directly to your GLYPH C6 using the following pin mapping:

| GLYPH C6 Pin | T5848 Mic Pin | Function | Notes |
| :- | :- | :- | :- |
| **3V3** | **VCC** | 3.3V Power | Safe, regulated logic supply from GLYPH board |
| **GND** | **GND** | Ground | Common system ground |
| **GPIO 16** | **L/R** | Channel Select | Held LOW by firmware to select Left audio channel |
| **GPIO 17** | **WS / LRCLK** | Word Select Clock | Frame synchronization clock (48 kHz) |
| **GPIO 22** | **SCK / BCLK** | Bit Clock | Serial data clock (3.072 MHz) |
| **GPIO 23** | **SD / DOUT** | Serial Data | Digital voice audio data going into the GLYPH C6 |
| **GPIO 9 (BOOT)** | *On-board button* | Record Button | Built-in tactile button; click to Start / Stop recording |

<Tip>
  **USB CDC Setting:**
  Because GPIO 16 and GPIO 17 share internal lines with UART0, ensure **USB CDC On Boot** is enabled in the Arduino IDE tools menu (`Tools → USB CDC On Boot → Enabled`) when compiling firmware from source.
</Tip>

***

## 4. Setting Up the Firmware

You can either flash the precompiled binary directly or build the sketch from source in the Arduino IDE.

<Tabs>
  <Tab title="Option A: Flash Prebuilt Binary (Recommended)">
    1. Download `glyph-voice-c6-0.11.0.bin` from [Releases · pcbcupid/Glyph-Voice](https://github.com/pcbcupid/Glyph-Voice/releases/).
    2. Connect your GLYPH C6 board to your computer with a USB-C cable.
    3. Run the following command in your terminal:

    ```bash theme={null}
    python -m esptool --chip esp32c6 --port <YOUR_COM_PORT> --baud 460800 write-flash 0x0 glyph-voice-c6-0.11.0.bin
    ```
  </Tab>

  <Tab title="Option B: Arduino IDE">
    1. Open Arduino IDE and install the **esp32** board package (version `3.3.10`).
    2. Install the **WebSockets** library by Markus Sattler (`2.7.2`).
    3. Open `firmware/glyph_voice/glyph_voice.ino` from the cloned repository.
    4. Under **Tools → Board**, select **Pcbcupid GLYPH C6**.
    5. Set **Tools → USB CDC On Boot** to **Enabled**.
    6. Select your serial port and click **Upload**.
  </Tab>
</Tabs>

### Wi-Fi First-Time Setup Portal

When you turn on the board for the first time, it creates its own Wi-Fi setup hotspot:

1. **Connect:** On your phone or laptop, look for the Wi-Fi network named `GLYPH-Setup-XXXXXX` (where XXXXXX is part of your board's MAC address).
2. **Password:** Enter `glyphvoice`.
3. **Open Portal:** Navigate to `http://192.168.4.1/` in your browser.
4. **Save Hotspot Details:** Enter your phone's Wi-Fi hotspot name (SSID) and password, then tap Save. The GLYPH C6 will reboot and connect to your phone automatically.
5. **Need to Reconfigure Later?** While the board is disconnected from Wi-Fi, press and hold the **BOOT** button for **5 seconds** to bring back the setup portal.

***

## 5. Android Companion App

The open-source companion app manages the connection, runs the on-device AI transcription model, and saves your conversation history.

<Card title="Download Android APK" icon="android" href="https://github.com/pcbcupid/Glyph-Voice/releases/">
  Download `glyph-voice-0.11.0.apk` from the official releases page and install it on your device.
</Card>

### App Highlights

* **Zero Intrusive Permissions:** The app does not request phone microphone access, location, or file storage permissions.
* **Background Recording:** Runs as a persistent foreground service so recording and transcription continue smoothly even if you lock your screen.
* **Searchable History:** All previous transcriptions and summaries are stored locally in an embedded SQLite database on your phone.

### How to Connect

1. Enable your phone's **Personal Hotspot** (make sure **2.4 GHz band** or **Extend Compatibility** is turned ON).
2. Turn on your GLYPH Voice hardware.
3. Open the **GLYPH Voice** app on your phone and tap **Connect**.
4. The app automatically discovers the board on your hotspot within 3 seconds.
5. Click the **BOOT** button on the GLYPH C6: live words will begin appearing on your screen as you speak!

***

## 6. Speech Recognition: Offline vs Cloud

The app gives you the flexibility to transcribe completely offline or connect to cloud speech services.

| Feature | Local Parakeet (Default) | Cloud Speech (Optional) |
| :- | :- | :- |
| **Model** | `nvidia/parakeet-unified-en-0.6b` | User-configured (e.g. OpenAI Whisper) |
| **Internet Required** | **No** (100% Offline) | **Yes** (Cellular or Wi-Fi data) |
| **Privacy** | Audio never leaves your phone | Audio chunks sent via HTTPS to your API endpoint |
| **Punctuation** | Full punctuation & capitalization | Depends on cloud model |
| **Storage Requirement** | \~663 MB model extracted on initial run | Minimal app storage |

### Offline Parakeet Model

The default engine uses an optimized INT8-quantized export of NVIDIA's Parakeet model running via `sherpa-onnx`. The weights are packaged with the app release and extracted automatically the first time you tap Connect. It provides fast, accurate English transcription directly using your phone's processor.

### Using Cloud Transcription (Optional)

If you prefer using an external cloud service (such as OpenAI Whisper):

1. Open the right drawer in the app and choose **Speech recognition → Cloud**.
2. Enter your OpenAI-compatible endpoint URL (e.g., `https://api.openai.com/v1/audio/transcriptions`).
3. Paste your API key. Keys are encrypted securely inside your phone's hardware-backed **Android Keystore**.

***

## 7. Automated AI Summaries

If you want your spoken voice notes automatically organized into neat summaries:

1. Open the right drawer in the app and tap **Connect your API**.
2. Select your provider:
   * **DeepSeek:** Powered by DeepSeek's conversational models.
   * **OpenAI:** Powered by models like `gpt-4.1-mini`.
3. Paste your API Key.

Whenever you finish a recording longer than 2 seconds, the app automatically formats the transcript into a natural, easy-to-read summary paragraph. You can toggle between the original verbatim transcript and the summary at any time!

***

## 8. Simple Troubleshooting Tips

* **Board not connecting to hotspot?**\
  Ensure your phone's hotspot is broadcasting on the **2.4 GHz** frequency band. The ESP32-C6 Wi-Fi radio cannot connect to 5 GHz-only hotspots.
* **App doesn't discover the board?**\
  Turn off **AP Isolation** or **Client Isolation** in your phone's hotspot settings so the board and phone can communicate over local UDP.
* **Audio sounds empty or silent?**\
  Double check that the **SD / DOUT** pin of the T5848 mic is connected to **GPIO 23** and **WS / LRCLK** is wired to **GPIO 17**.
* **Accidentally entered flashing mode?**\
  If you hold the BOOT button while plugging in the USB cable, the board enters ROM bootloader mode. Simply unplug and plug it back in without touching the button.

***

## 9. Source Code & References

The complete source code for firmware, companion app, audio processing core, and hardware design is fully open source under the MIT license:

* **Source Code Repository:** [pcbcupid/Glyph-Voice](https://github.com/pcbcupid/Glyph-Voice)
* **Releases & APK Downloads:** [Releases · pcbcupid/Glyph-Voice](https://github.com/pcbcupid/Glyph-Voice/releases/)
* **Microcontroller Reference:** [PCB Cupid GLYPH C6 Documentation](/documentation/modules/glyph/glyph-esp32c6/overview-glyph-c6)
* **Microphone Reference:** [PCB Cupid G-Sense T5848 Microphone](/documentation/modules/g-sense/t5848-microphone)
