Hi Neil, Improvements you could make to the existing scheme, before changing topolog= y,=20 include: Adding a terminating/load resistor at the receiving end. Add hysteresis at = receiver=20 (e.g. in hardware with CMOS 4093/40106 Schmitt trigger, or in PIC with 2 x= =20 comparator setpoints). Add low pass filter (RC =3D cheap). Increase voltage= swing to=20 5 or even 12V (add transistor as you say. cheap), with pull-up resistor bec= omes=20 open-drain/open-collector config allowing allowing multiple senders into 1 = x receiver,=20 if that is useful. Beyond that, yes, you can look at differential driving, then twisted pairs,= then=20 balanced, with isolation... the list goes on. With RS485 and CAN bus a comm= on=20 fault is blown driver chips when the live cable carrying the signal wires &= power is=20 cut with wire cutters, live, or otherwise shorting of adjacent wires during= live=20 connection/disconnection. Not too hard to design around, can be worth consi= dering. Brent On 17 May 2017 at 15:07, Neil wrote: > I'm doing one-way digital communications between 2 PICs about 12 feet=20 > apart. ~50 kHz max. Cable currently has 12V, ground, and one data=20 > wire (5V direct from a PIC 18F output). Nothing is twisted yet -- just= =20 > straight wires. At this stage, it's functional and works fine as it is,= =20 > but I'd like to add EMI/noise immunity (against possible external noise=20 > from other nearby signals). Shielding is noticeably increasing that=20 > cabling cost, so I'm thinking of differential signaling instead. =20 > Looking for a simple way to do this. >=20 > First thought was to use RS-485 or similar differential transceivers,=20 > but that adds a few dollars, which is higher than I'd like. CAN=20 > transceivers are lower cost (~$0.40 each side). However, CAN is a=20 > relatively low-level signal, so I'm thinking that I can just use 2 I/O=20 > pins on the sender to create my own differential 5V-ish signal, and use=20 > the comparator on the receiving PIC to process the differential signal. = =20 > I would need to add some resistors at the receiving end as the (PIC32)=20 > comparator inputs can only handle up to 3.3V on that side. From=20 > anyone's experience, would this even make a dent in the system's ability= =20 > to reduce noise effects? Additionally, I am hoping to have the sender=20 > be open-drain, and pull-up at the receiver. Should this be hard-driven=20 > to 5V instead for better noise immunity? >=20 > Another thought is that I have 12V available at the sender, so I can use= =20 > that for the signaling level, but that adds a couple transistors. Or I=20 > can stay open-drain at the sender and pull up to 12V at the receiver,=20 > then voltage divide. Would it make a difference for differential signali= ng? >=20 > Thanks, > -Neil. --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .