I have an interesting problem that's been wrecking my brain and would like some help with it.

Basically what I have is a voltage readout box that has a few voltage displays on it. I would like to have a second box with the same set of voltage displays some distance away. What I'm trying to figure out is the simplest way to send data between the two boxes. Also since this is a high voltage and high electrical noise environment I'd like to do it with fiber optic cables. Now I've done this before with things like CAN-bus or Ethernet/IP devices and it works just fine. The issue is that they all require a controller and some level of programming. I'm working with some folks who would like to stay away from programming as much as possible, so I'm trying to figure out if what I want to do can be done in hardware only.

For instance here is a simple idea of how I envisioned this to work:

  • First box has an Analog-Digital converter that reads in the voltage
  • This ADC outputs digital data, let's assume it's 8-bits, on 8 separate lines
  • I take the 8 lines and convert them to optical signal using 8 fiber optic transmitters
  • Take 8 fiber optic cables and run them to the second box
  • In second box I have 8 fiber optic receivers that convert optical input into digital output
  • Digital-Analog converter reads in the data and converts it to analog output
  • Display data on a voltage readout

That sounds fine, except that I need 8 separate fiber optic cables. But if I need to read out 5 different voltages then I'd need 40 cables total, which starts to get ridiculous.

Obviously, the right thing to do is pick some sort of serial transmission that can be done with a couple or few cables. But then I'm stuck with the same problem that I stated above, need to program the thing.

Anyone know of a simple digital communication technique that would allow me to do what I want without having too many cables run between the boxes? The speed of thins thing is not critical, it's all in "human time". Mainly done for safety and monitoring, so a 1 Hz rate is plenty.


  • \$\begingroup\$ How much is the distance? Yes you are right, 40 fiber optic cables is ridiculous in price when all you need is one. \$\endgroup\$
    – Justme
    Commented Jul 2, 2021 at 23:59
  • \$\begingroup\$ We're probably talking about 10 meters or so. \$\endgroup\$
    – Lazyroot
    Commented Jul 3, 2021 at 0:10
  • 1
    \$\begingroup\$ if you don't need the voltage in digital form, why not just use a small camera? There are plenty of cheap wired and wireless cameras around with small monitors. \$\endgroup\$
    – Tesla23
    Commented Jul 3, 2021 at 0:30
  • \$\begingroup\$ Important questions are: how easy is it to get data from the existing displays, and what format is it in - this will have a major effect on how you transfer the data to the second location. If the present displays use dedicated voltmeter ICs driving an LED or (especially) LCD displays, it may be very difficult to extract the data you want to transfer. \$\endgroup\$ Commented Jul 3, 2021 at 1:24
  • \$\begingroup\$ @Tesla23, funny you should mention cameras. That's what's in place now and I'm being asked to replace it with something more "elegant" \$\endgroup\$
    – Lazyroot
    Commented Jul 3, 2021 at 2:23

6 Answers 6


If you have easy access to the actual analog signals, the easiest sollution may be to simply pass those analog signals directly to suitable meters in the second location.

Edit: I once designed a system using ADVFC32 voltage-to-frequency converters to transfer signals over optical fiber. The ADVFC32 also works as a frequency-to-voltage converter, so I was able to use the same PC board for both ends of the link. I do have all the design files, unfortunately they are in an old Altium format I can no longer read...

However, look into the ADVFC32 - it may do what you want with no computers. The system accepted and delivered 0 - 10 volt signals. The maximum frequency on the fiber was only 500 kHz

  • \$\begingroup\$ I wish I could do that, but we require "no conductor" solution due to safety issues. Behind the wall that's separating the two locations is a 50 kV system with plenty of energy. Normally with something like this I run an ethernet based controller over fiber, but my colleagues are asking me to do something without computers. I told them I'd try my best, but I doubt it will be possible. \$\endgroup\$
    – Lazyroot
    Commented Jul 3, 2021 at 3:20
  • 2
    \$\begingroup\$ if they can afford a 50KV supply, the can probably afford indusrial control equipment like a 4-20mA to optical converter and the reverse. \$\endgroup\$ Commented Jul 3, 2021 at 5:08
  • \$\begingroup\$ I think this (voltage-to-frequency) -> (fiber optics) -> (frequency-to-voltage) idea may be the simplest solution indeed. \$\endgroup\$ Commented Jul 3, 2021 at 12:45
  • \$\begingroup\$ YES!!!. This is it. Looking at the spec-sheet for ADVFC32 they have an example of fiber optically segregated set of V/F converters. This seems to be the best way to do it and still have a "hardware only" solution. \$\endgroup\$
    – Lazyroot
    Commented Jul 3, 2021 at 22:05

I'd go with SPDIF just because it's easy to implement and not hard to figure out. You'd need two cables and a micro for translation between ADC's

This is a transmitter circuit, not to complicated. And the link shows a receiver Connecting Toslink TORX179L optical receiver directly to S/PDIF coaxial input

enter image description here Source: https://circuit-diagramz.com/optical-spdif-output-schematic-circuit-diagram/

  • \$\begingroup\$ S/PDIF is a protocol to transmit audio, I don't recommend it. You can use Toslink optical links for other purposes as well, the common cables, transmitters and receivers with the JIS F05 connectors are cheaply available. \$\endgroup\$
    – Justme
    Commented Jul 3, 2021 at 0:03
  • \$\begingroup\$ My issue is not the optical side of the circuit. I think I have that well handled. I've used Broadcom optical transmitter/receiver to send TTL signal from a pulse generator and it works fine. I suspect I would use similar units to do this work. The problem is that I need something "dumb" that can take a series of hi/lo signals over fiber and convert it to something readable. I can have some sort of microcontroller in place and get it to read some data, but it requires programming. Again I'd like to avoid having to program anything on this device. \$\endgroup\$
    – Lazyroot
    Commented Jul 3, 2021 at 0:14
  • \$\begingroup\$ I suppose the question does not reflect that. Programming a micro to translate serial data is not that difficult. Learning an IP stack is. The ADC requirement of the project requires some kind of programming to read the serial or parallel data from the ADC (I am unaware of ADC's that dont use a serial or parallel data bus.) \$\endgroup\$
    – Voltage Spike
    Commented Jul 3, 2021 at 0:57
  • \$\begingroup\$ @Lazyroot How many digits in the displays to be copied -- worst case, I mean. And do the numbers need to be perfectly replicated? Precise to the last digit? \$\endgroup\$
    – jonk
    Commented Jul 3, 2021 at 1:09
  • 2
    \$\begingroup\$ Voltage to frequency comes to mind. Just modulate the tx led with the frequency. Simple to recover. For accuracy you could have a reference voltage switched in at a regular interval. Surely there’s an off the shelf solution - 50kV is not kiddy stuff and a significant investment. \$\endgroup\$
    – Kartman
    Commented Jul 3, 2021 at 3:58

Amongst the many solutions to this X-Y problem (I mean, can't you put a ready flashed Arduino in a small box and say it's 'hardware'? If they need to fix it just unplug it and plug in the spare)...

How about five parallel V-F-opto-F-V-voltmeter channels?

  • Low density of links. From your OP you seemed to be happy with 8, unhappy with 40, so 5 should do.
  • All links identical. Spares should any channel go down. Four working ones to compare with any channel that's not working. Swap Tx and Rx ends to determine which is failed.
  • Modest accuracy, reasonable speed.
  • Easy to comprehend what's going on.

Use a 4046 PLL chip for each end. Just the VCO at the transmit end to give V2F conversion. Send a modest frequency over your opto link, so can use the very cheapest grade of opto components. Use the whole PLL at the receive end for F2V. Send the demodulated voltage to a voltmeter. Even use identical boards for both Tx and Rx end, reconfigured with jumpers.

A much tidier solution would be to buy something like an Adafruit PyPortal, only $55, has a large display, and is python programmable. Multiplex your five V2F senders in hardware onto a single optical fibre, with some protocol like pulse length to distinguish the channels (and mux in some calibration GND and V_FSD levels for enhanced accuracy) and then count the pulses and drive the display. Perhaps one off-the-shelf self-contained piece of equipment might convince them to accept programmable stuff?


Serdes sounds the answer to me. Both TI and Maxim make the same parts under different part numbers and they are interchangeable. Here's the MAXIM diagram: -

enter image description here

I've used them for combining multiple disparate data streams and then uncombining them at some distance away. Should work just fine with the parallel output of an ADC.

Regards using fibre - no problem with these chips interfacing to fibre drivers and receivers to replace the shielded twisted pair shown above.

Ten lines of digital data are provided by the devices so that leaves a couple spare for any conversion ready line (or a sync line) you might also need to feed to the receiver.

Both TI and Maxim parts are interchangeable.

Picture above from here.


These exist in “low cost” ;) commercial solutions.

I assume you would choose the UNIdirectional 8 ch. but it supports up to 16 analog channels + 32 digital channels BIdirectional with WDM Splitters.

enter image description here


Get your favorite embedded system of choice to interface the meters (Raspberry Pi or similar), run a web server on it that has a CGI interface to the sensors. Then use Ethernet-to-optical for the back haul connection. On the outside you could use any system you want, including some kind of industrial PC with a touch panel, which has a web client to display the data.

If this sounds like ‘programming’ it is. But it will be a lot less effort for a one-off than inventing some serdes protocol.

That said, DMX512 over optical could also do this. This might be more in the spirit of your question. DMX512 is very doable on an Arduino or similar lower-end micro board (yes, ‘programming’ again, but you also said ‘simplest’.) The ‘head’ would be your unit in the HV room, and its ‘universe’ would be the meters outside. Very regular, very predictable, set it once and forget it.

Either way you’ll need to figure out the data acquisition part that works in tandem with the existing meters. To me, that’s the more challenging part of the system given the hazardous voltages involved.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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