PiHat SFP "encoder"

cheap access to SFP eeprom and DOM data from a raspberry Pi

Similar projects worth following
this project is a small PCB "piHat" design to interface the I2C bus of SFP and SFP+ modules with a raspberry Pi.
Basic I2C tools from raspbian will permit to read or write the eeprom data

(Please note that this project is NOT fiber optic network interface. just a cheap way to edit the internal data of the optic module)

This project is inspired from this

Some basic software is available from this site.


PCB manufacturing Gerber Files

force-download - 7.88 kB - 05/04/2017 at 12:28



lots of technical data about SFP and the eeprom content.

octetstream - 946.21 kB - 05/03/2017 at 23:29


  • 3 × 10K Resistor SMD 1206 case
  • 1 × SFP cage and connector RS Components order code 896-7469 and 896-7471
  • 1 × 100nF Capacitor SMD 1206 case
  • 1 × 40pin 2lines 2.54" female header. exemple RS Components order code 254-6182
  • 1 × 60x30mm double layer PCB Can be manufactured from the plans but I still have some PCB available.

View project log

  • 1
    Step 1

    One hole of the metal cage is misplaced.

    You just have to cut or bend this pin and it will be ok.

View all instructions

Enjoy this project?



Joe wrote 07/15/2021 at 07:04 point

Do you know if by reading the information of the SFF GPON transceiver I can obtain the distance traveled by the fiber? to detect faults? 

  Are you sure? yes | no

jgarland wrote 08/29/2017 at 18:22 point

I used your code to read the data from the SFF GPON transceiver module in the Adtran device that my phone company uses to terminate my gigabit internet service. I cracked open the Adtran TA-324 and soldered on a header for the I2C interface and plugged my raspberry pi into it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates