No PIC (that I'm aware of) has real analog outputs - you'll need to produ= ce a PWM output (on/off at varying duty cycles) at a significantly higher frequency than the highest you need to generate, and filter it externally= . 3 separate PWM modules are generally not found except in extremely high pin-count PICs, so you'd probably want to combine the 3 sinewaves internally and output them on a single PWM channel. Fortunately, this is= no problem - the standard PWM module has 10-bit resolution, so you could simply add up to 4 8-bit signals. An 18Fxxx PIC would be a good choice. Its hardware multiplier is exactly= what you need to adjust the amplitude of the individual sinewaves. The sinewave itself comes from a table of precalculated values. Normally= , a table covering a quarter cycle is used - you play it forwards, then backwards, then forwards with the value negated, then backwards negated. = However, a table covering a full sine cycle might be easier to work with,= and any 18F PIC should have plenty of room to hold that at reasonable resolution. You'd have three pointers into that table, one for each sinewave. At eac= h step, you'd grab the values from each pointer, multiply each by its corresponding amplitude, add them together, and send to the PWM module. = You'd then advance each pointer by an amount depending on the correspondi= ng frequency, wrapping around at the end of the table. That's all there is = to it. Jason Harper -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu