EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026 
<== Date ==> <== Thread ==>

Subject: RE: Consultation: connecting I2C/SPI devices to network
From: Abdalla Ahmad via Tech-talk <[email protected]>
To: "[email protected]" <[email protected]>
Date: Mon, 15 Dec 2025 11:21:44 +0000

Exposing such communication protocols on the network requires writing a TCP or UDP server that is intermediate between the SPI or I2C port and the network, I think the best setup is the following:

  • Have a single-board computer (BeagleBone, Raspberry Pi, etc.) that has available SPI or I2C ports.
  • Write a TCP server that reads/write to the SPI or I2C and expose them via string commands received from Ethernet.
  • Develop a stream device IOC that connects to the intermediate server.

 

If your system requires SPI, I wrote an SPI driver on the BeagleBone black that interfaces with AD7606-18 ADCs https://github.com/AbdallaDalleh/ad7606-spi the driver uses Linux system calls to talk with the on-board SPI port “/dev/spi1.0”.

 

Best Regards,

Abdalla Al-Dalleh

Control Engineer

SESAME

 

From: Tech-talk <[email protected]> On Behalf Of Florian Feldbauer via Tech-talk
Sent: Monday, December 15, 2025 1:31 PM
To: [email protected]
Subject: Re: Consultation: connecting I2C/SPI devices to network

 

Hey Gabriel,

 

I typically use a Raspberry Pi to readout devices via I2C.
For this task I wrote a small i2c device support module, that uses Stream Device + Asyn (https://github.com/ffeldbauer/drvAsynI2C)

 

It does not make the I2C communication directly accessible on network, but it makes all the data points accessible via CA/PVA through an EPICS IOC.

 

If you really want to have a I2C to Ethernet bridge, I would most likely use a RP2040 or ESP32 microcontroller and implement a simple UDP or TCP protocol exchanging either ASCII or raw "strings" containing the data.

 

HTH,
Florian

 

 

On 12/15/25 10:43, Gabriel Fedel via Tech-talk wrote:

Dear tech-talk,

 

Any experience or suggestion of bringing hardware communicating I2C and/or SPI to be accessible on network? 

Maybe even some EPICS integration experience on them ?

 

Thanks in advance

-- 
Ruhr-Universität Bochum
AG der Experimentalphysik I
Dr. Florian Feldbauer
NB 2/131 / Fach 125
Universitätsstr. 150
D-44801 Bochum
 
Office: NB 2/134
Phone:  (+49)234 / 32-23563
Fax:    (+49)234 / 32-14170
https://paluma.ruhr-uni-bochum.de

References:
Consultation: connecting I2C/SPI devices to network Gabriel Fedel via Tech-talk
Re: Consultation: connecting I2C/SPI devices to network Florian Feldbauer via Tech-talk

Navigate by Date:
Prev: Re: Consultation: connecting I2C/SPI devices to network Florian Feldbauer via Tech-talk
Next: Re: Consultation: connecting I2C/SPI devices to network Heinz Junkes via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026 
Navigate by Thread:
Prev: Re: Consultation: connecting I2C/SPI devices to network Florian Feldbauer via Tech-talk
Next: Re: Consultation: connecting I2C/SPI devices to network Heinz Junkes via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <20252026 
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·