At 04:55 PM 2/26/2004 +0000, you wrote: > >Don't forget that there is a simple way to drive from a > >PIC at 5V to a 3.3V peripheral. With PORT bit always low, > >just use the TRIS bit to drive the output low, and use > >a pullup to 3.3V to set the level. > >Trouble is that the lines the OP wants to interface to 3.3V are the UART >lines, so he cannot use the TRIS trick. > >As an afterthought, the OP should look at the Philips I2C interface doc >which has a section on doing exactly this on I2C lines. > >See >http://www.semiconductors.philips.com/acrobat/literature/9398/39340011.pdf That's a nice circuit. Just 2 pullup resistors and 2 2N700x transistors. total for both directions. Come to think of it, you could use BJTs too, with base resistors as thus: 3.3V 5V o o | | .-. .-. 10K | | | | 10K | | | | '-' '-' | | | | --- | 0/3.3 in o---v \---+--o 0/5V out 3.3v 5V o o | | .-. .-. 10K | | | | 10K | | | | '-' '-' | | | | | --- o-+----/ v-------o 0/5v in 0/3.3v out Only disadvantage I see is that it requires access to (and draws current from) the 3.3V supply (or you could create a local 3.3V supply from the 5V supply, but that would add at least one part. Best regards, Spehro Pefhany --"it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads