A Arduino-based CW sidetone generator and keyer.
The sidetone is generated in software and converted to a analog signal via PWM and a low-pass RC-filter.
- Sine wave tone using PWM.
- Adjustable sidetone frequency 400-911Hz.
- Adjustable keyer speed 5-37wpm.
- Keyboard keyer.
- Serial keyer.
- Keyer output.
- Command mode (set speed and tone).
- Iambic keyer.
- Gaussian wave envelope.
- Simple record and replay.
Arduino pin | Attached to |
---|---|
A0 | Tone pot slider |
A1 | Speed pot slider |
D2 | Paddle dit/key 3.5mm stereo plug tip |
D2 | 10K ohm to GND |
D3 | PS/2 Keyboard CLK |
D4 | Keyer output circuit |
D5 | Paddle dah 3.5mm stereo plug ring |
D5 | 10K ohm to GND |
D7 | PS/2 Keyboard DATA |
D11 | Low-pass filter |
Potentiometer end terminals connected to GND and VCC.
VCC to paddle/key 3.5mm stereo plug sleeve.
Low pass filter (692 Hz):
- 5K resistor attached from D11 (PWM) to output
- 0.047uF cap from output to ground
- output to amplifier
Keyer output circuit:
- D4 to Logic level N-channel MOSFET gate pin
- MOSFET source pin to GND
- MOSFET drain pin to keyer output
Requires the Arduino IDE installed in ARDUINODIR.
export ARDUINODIR=/Users/daijo/Code/Arduino/
export SERIALDEV=/dev/tty.usbserial-A6007ZuZ
export BOARD=atmega328
make
make upload
For the ATtiny custom board/kit you also need the arduino-tiny additions found at http://code.google.com/p/arduino-tiny/. You can also use my fork of Arduino with arduino-tiny https://github.com/daijo/Arduino.
export BOARD=at2313at1
export ARDUINOPORT=tiny