Thanks for the tips. I've done some more experiments, mayby someone can (re-) use the results. My aim is to produce a few different sounds (at least one for shooting, one for being hit and one for being killed) which are both loud enough to be heard from some distance and appropriate for their function. I've finished the electronics, now I'll start exprimenting with waveforms (using PWM). ELECTRONICS The most simple solution is to couple a PIC output directly to a speaker, with or without a C. This gives a verly low volume due to the limited drive capability of the PIC. ___ \ / PIC --------------| |----- Gnd Lsp - ___ || \ / PIC ------||------| |----- Gnd C || Lsp - Direct PIC output with and without capacitive coupling: simple, but not much volume due to PIC impedance. The one-transistor solution has the drawback that current always flows through the speaker in the same direction (switched DC), which in the long run could be bad for the speaker, and limits the movement of the conus: it can only move from the middle position to one of the extreme positions. And when you leave the pin in the wrong (is this case: high) position for too long quite a current will flow through the speaker, not a good idea for a battery-powered application. ___ \ / /----| |---- Vcc R ____ |/ - PIC ------|____|----| Lsp |> npn \ Gnd or +------- Vcc |/ PIC ----------------| |> ___ Lsp npn \ \ / +---| |--- Gnd - single npn buffer: more volume, but not optimal (DC problem) That's why I initially choose a npn/pnp pair, which gives a real AC of Vcc Top-Top (effective voltage is lower: 0.5 * Vcc for a square wave, 1/2*sqrt(2) * Vcc for a sine). npn / Vcc |/ +---| ___ | |>\ || \ / PIC ---------+ +---||----| |--- Vcc or Gnd | | PIC-Vcc In my application I'll have a 7-9V NiCad which is regulated down to 5V for the PIC and the SFH506 IR receiver, so I can gain some volume by using the NiCad directly. This requires a level shifter (3th transistor). ____ +---|____|------+---- Vcc > Vcc-PIC | |/ +----------+--| ___ ____ |/ | |>\ || \ / PIC --|____|---| | +---||---| |-+ |>\ | | PIC-Vcc you'll have to add two level-shifters (no need for two PIC outputs then, the level shifters are also inverters). npn / Vcc |/ +---| ___ | |>\ \ / PIC1 --------+ +---| |-+ | |\ || | PIC2 --------+ +---||--+ (inverse | |