A low-cost, DIY data diode for ICS
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
DYODE v1 (full) Additions to README Jul 25, 2017
DYODE v2 (light) Add hardware relatefd files Jul 25, 2017
Talks Add BruCon 0x09 presentation Oct 7, 2017
.gitignore Initial commit Jul 20, 2017
LICENSE Initial commit Jul 20, 2017
README.md Additions to README Jul 25, 2017


DYODE : Do Your Own Diode

A DIY, low-cost data diode for ICS This project aims at creating a working data diode for a fraction of the price of the commercial ones.

This project includes two versions of DYODE :

  • DYODE full : a 19" rack-sized data diode

dyodev1 picture

  • DYODE light : a very compact and ultra low-cost version with performance limitations

dyodev2 picture

For detailed information, including steps to make your own, take a look at the wiki. You may also take a look at the public talks done on this project.


The DYODE project is composed of 3 main parts:

  • An INPUT counter
  • A unidirectional, light-based data transfer mechanism
  • An OUTPUT counter

The full version relies on optical-copper converters to transmit data, while the light version uses an optocoupler.

Hardware for DYODE light is open-source: PCB Gerber files are provided, as well as .stl files to 3D print the case.


DYODE is an open-source project developed in Python.


  • Modbus data transfer
  • File transfer (DYODE full only)
  • Screen sharing (DYODE full only)


This project is published under GPLv3. Take a look at the full license.