21 July 2004.

When I reprogrammed my Enigma-e, I added the usual key clicks on the buzzer. While this is better than nothing it is not very realistic. When Paul Reuvers created his RISC OS Enigma simulator, he added wave files recorded from a real Enigma by Jim Oram. These are very realistic sounds recorded in 16 bit at 60kHz sample rate. So I set about seeing if I could replay wave files from a PIC. The first job was to convert the sound samples to 8 bit. I then re-sampled at about 7kHz. This would just about fit into the PIC memory, a second 16F876A device identical to the chip used in the reprogramming. A simple D/A convertor was made with a few resistors, a transistor added to drive a small 60mm loudspeaker fixed to the rib. The second PIC receives the serial out from the main PIC. This is the lamp character that is transmitted when the serial port is enabled. This character, when received by the sound PIC plays the key down wave file. I also arranged in the reprogramming to send another control character when the Enigma key is released. The purpose of this was to turn the lamp off when the external lampboard is used. This control character is also received by the sound PIC and plays the key up wave file. A second control character is transmitted when any of the wheels are adjusted. This plays a third wheel move wave file.

Here is a photo of the added soundcard.

So what does this sound like? Well you hear realistic mechanical noises coming from inside a wooden case - just like the real machine. Wow!
The reduced sample rate seems to give a realistic sound.

10 August 2004.

SoundCard now modified to work with original Enigma-e

This version connects to the Buzzer B terminal on the Enigma-e. With the Enigma-e buzzer enabled (jumper 1 removed), the SoundCard detects the key down and key up clicks and plays the appropriate sound wave files. On my machine I removed the buzzer and replaced it with a 10 k resistor. The buzzer is now re-located on the SoundCard. A jumper is provided to activate either the buzzer, which plays the original sounds, or the speaker which plays the sound files. Here is a PDF file of the SoundCard schematic. Point 'B' connects to terminal B on the Enigma-e buzzer. Since this uses up one bit of the B port, the sound file is now only 7 bits rather than 8. However there is no additional loss in sound quality. Most of the sound quality loss is due to the reduced sample rate. The speaker drive circuit is quite simple, it could be made better with a few single rail Op-Amps, but I decided to keep it simple. I also swapped the speaker for a slightly better one.
Here is a photo of the latest SoundCard version showing the re-located buzzer and the jumpers:

New SoundCard Removed buzzer
(also relocated T7 to other side of PCB,
since I kept bending it)

I tried to detect the wheel move sound to play the third sound file, but it was not very reliable. When the Up/Down buttons were held down the repeat sound was similar to the key down sound which would play instead. I gave up trying to make it idiot-proof - Enigma was never ever idiot proof!
I have also added a Ni-MH rechargeable battery, although the label says its made in Springfield which sounds a bit dodgy to me! I still need to add a charger circuit, before it gets too flat!