driverless · speech → keystrokes

Speak.
It types.

Hold the button, say your piece, let go. The words land wherever your cursor is — because the board is a standard USB keyboard. No desktop app, driver, or companion software.

Undo Send
Your browser can't talk to serial devices.
Open this page in Chrome or Edge on a desktop.
This page has to be served over https for the installer to run.

Takes about a minute ¡ Needs a USB-C data cable ¡ Configure your endpoint after flashing

Don't have the board yet? Waveshare ESP32-S3-Touch-AMOLED-1.8 — it must be the V1. Why that matters.

Affiliate link — I earn a small commission, at no extra cost to you.

Buy on AliExpress

How it goes

  1. Flash itPlug the board in, click the button above, pick it from the chooser.
  2. Scan the QR codeThe screen raises its own Wi-Fi network. Join it from your phone and a setup page opens by itself.
  3. Choose your transcriptionUse OpenAI, another compatible service, or your own server. Add an API key only when that endpoint needs one.
  4. Hold, speak, releaseThe transcript is typed into any host that accepts a USB keyboard. No driver or desktop app required.

See it work

A finger holds down the button on the TapTalk device; it glows, then releases, and the words 'Hello, world.' are typed into the document on the connected iPad.

Your service, your choice

  1. Use OpenAIThe default endpoint and model are ready for your own OpenAI key. ChatGPT subscriptions do not include API usage; create a dedicated project key, set a budget, and paste it during setup.
  2. Or use any compatible endpointEnter an OpenAI-compatible /v1/audio/transcriptions URL, its model name, and a key only if that server requires one.

Run it your way

TapTalk does not choose, operate, or bill for a transcription service. It sends your recording to the endpoint you configure, then types the returned text.

A server on your home network can use plain HTTP and no API key. Use HTTPS for every endpoint outside a trusted LAN.

Custom endpoint format and security notes

Read this first

You need a V1 board

Waveshare sells two different boards under one name. Turn yours over: the sticker must say SH8601 and FT3168. A V2 board (CO5300 / CST816) flashes fine and then shows a black screen.

There is no reset button

The power chip drives the reset line. If no device shows up in the chooser, hold BOOT, tap PWR, release BOOT, and click Install again. If it seems stuck afterwards, unplug and replug.

Your endpoint and API key are not encrypted

Anyone holding this board with a USB cable can read the endpoint and key from flash. Use a dedicated, limited key when your service needs one, and erase the device before you lend it. The reasoning, in full.

Chrome or Edge, on a desktop

Installing uses the Web Serial API, which Safari and Firefox do not implement. Once flashed, the device needs no browser at all.

What this build does

Display, touch, and the hold-to-talk screenworks
Microphone capture, with a live level meterworks
Wi-Fi and on-device setupworks
OpenAI transcription over HTTPSworks
Custom OpenAI-compatible endpointhardware test next
Typing as a driverless USB keyboardworks
10 keyboard layouts: English, Portuguese, Spanish, French, German, Italianhardware test next

Setup asks which layout the computer is set to; accents are typed with dead keys and "ação" arrives as written. Cyrillic and Greek are on the roadmap. Emoji are skipped rather than mangled.