TTS
Arduino Text-to-Speech Library
Install / Use
/learn @jscrane/TTSREADME
View this project on CADLAB.io.
TTS
Text-to-Speech Library for Arduino
- checkout this project into your
sketchbook/librariesfolder - requires an amplifier on the PWM output pin (see below)
- see blog articles
Supported Hardware
- ATmega328-based Arduinos (e.g., Uno, Pro, Pro Mini, etc.): pins 3, 9, 10
- ArduTouch: pin 9
- ATmega1280-based Arduinos (e.g., Mega): pins 44, 45, 46
- Arduino Leonardo: pin 5
- Arduino Due: pins DAC0 or DAC1
- Teensy 3.2: pin A14
- Teensy 3.5, 3.6: pins A21, A22
- Teensy LC: pin A12
- ESP8266: pins 0 to 16 (with analogWrite())
- ESP32: DAC1 or DAC2 (pins 25 or 26)
Amplifier

Component choices in this circuit aren't very critical:
- 22k (vs 27k) and 47n (vs 10n) parts in the input low-pass filter
- 100n (vs 10u) bypass capacitor between pin 7 and gnd
- Used the inverting input instead of the non-inverting one (although in this circuit I noticed no difference)
- 47n (vs 100n) output snubber capacitor
Credits
- original implementation by Clive Webster in Webbotlib
- ported to Arduino by Gabriel Petrut
- Stephen Crane modified it to use pins other than pin 10 with the help of this tutorial
- manitou48 added support for Leonardo and ARM processors with DAC (Teensy, Due)
See Also
- Teensy forum
- separate port/hack for MBED ARM with DAC repository
- Hackaday article on LM386 amplifiers
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
