The project is using the SPI output of an Espruino Pico to send messages to an LED strip controller. The issue is that occasionally the Pin is damaged. Using an oscilloscope has shown that there is some noise on the comms lines. The thinking is that occasionally there may be voltage spikes that have traveled along the comms line and blown the pin (although this has been seen on the scope). I am looking for a way to electrically protect the SPI pins. I set up a transistor in line so that the SPI signal would switch the transistor, but the voltage drop was too great and the signal is inverted, making this not an option. I have also tried an optoisolator, but with no luck.


Is there a chip/IC that can achieve electrical isolation for an SPI line?

Thanks in advance for any help you can give.

  • \$\begingroup\$ What didn't work about the optoisolator? That's pretty much the go-to solution for your problem. \$\endgroup\$ – whatsisname Dec 2 '15 at 20:03

You are asking for non-inverting isolation driver. A unidirectional quad (4 lines) would be enough to buffer all 4 SPI lines.

There are many, many options. Here is one very cool one that offers 1K volt RMS (!) of isolation between the inputs and outputs...


(Read about how it works- there is NO electrical connection between input and output!)

That said, my guess is that this might not be what you need. If you tried an opto-isolator and still had problems, them there might be something else going on. Did the opto-isolator not work at all, or did you still get damaged pins even with it in line?

You might want to try some simpler solutions first. Try maybe a resistor and clamping diode like this...


simulate this circuit – Schematic created using CircuitLab

|improve this answer|||||
  • \$\begingroup\$ How do you use a unidirectional driver to isolate both MOSI and MISO? The power connections for input and output sides can't be separated. \$\endgroup\$ – David Dec 2 '15 at 20:53
  • \$\begingroup\$ There are chips in that line that have multipule unidirectional buffers on a single chip and some buffers go one way and others go the other way. For example, the Si8605 has 4 unidirectional buffers- two in each direction. You could use this for fully buffered SPI by connecting the MOSI and SCLK going to the slave and MISO from the slave. \$\endgroup\$ – bigjosh Dec 3 '15 at 3:22
  • \$\begingroup\$ @bigjosh: exactly. And if you really want to go all out, you can have galvanics on the power lines for even more isolation. Common in medical devices. \$\endgroup\$ – whatsisname Dec 3 '15 at 7:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.