Skip to content
SFP Doctor is a hardware & software project for reading and writing the EEPROM on SFP/SFP+ modules
CSS TypeScript PowerShell HTML C JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

License: GPLv3

SFP Doctor

SFP Doctor is an open source hardware & software project for reading and writing the EEPROM inside SFP & SFP+ modules.


SFP modules contain an EEPROM which contains information about the module. This information includes the OUI (Organizationally Unique Identifier) which identifies the vendor of the module.

Some NIC's and switches are locked to using a particular vendors own SFP modules, this hardware and software project provides a tool for reading and modifying this information (providing the vendor has not disabled write access to the EEPROM).

The hardware design is intended to be as simple and cheap as possible, therefore it makes use of the Cypress CYC8CKIT-059 prototyping board as the USB interface to the EEPROM on the module, this board is readily and cheaply available.

Repository Contents

  • /hardware - KiCad schematic and PCB layout source files.
  • /firmware - The firmware for the CY8C5888LTI-LP097 microcontroller on the Cypress CYC8CKIT-059 prototyping board.
  • /software - The desktop software to control the hardware.
  • /drivers - Platform dependent drivers for the hardware interface.

Required Tools

Building Software


After installing the prequestite packages, use the following commands.

yarn run build
yarn run start

The platform binary can be created with the following commands.

yarn run build
yarn run dist

(Please note that currently the software is not functional)


Open the firmware project in PSOC Creator and select build to create the firmware image.

Project Status


  • Design: Complete.
  • Manufacture: In progress.


  • Development: Started.


  • Development: Started.

With Thanks

This project is using a USB VID & PID kindly allocated by Their repository can be found here. They support open source development by providing VID/PID pairs for free.


This project is open source and the entire project is released under the GPLv3 license.

Distributed as-is; no warranty is given.

You can’t perform that action at this time.