I was looking for an inexpensive solution like a PLC modem, but nothing was found. The modem should also be simple and easy to made in manufacturing. Therefore i did modem myself. Modem is opensource.

WARNING! The modem has a few parts under high voltage and they requires additional isolation.

Because Our modem is most likely to work in an environment with other modems, eg modems G3 Prime, HomePlug, ... then the task is to filter out frequencies not included in the frequency range we used when receiving the signal.

With galvanic isolation everything is clear, why the bandpass filter? If you look at the circuit, it's just a high-pass filter, but ... As a high-pass filter, the filter is designed for a cut-off frequency of 1.7 MHz (at low frequencies). Those. All that is lower, including a 50-60 Hz network is not visible in principle. The resonance frequency of the oscillatory circuit is approximately 2.5-3 MHz. The ferrite is selected for which the operating frequency is approximately 1 MHz. Thus, the "physics" of ferrite works as a low-pass filter. As a result, the frequencies of modem by passed is 1.8 - 1.9 MHz. All what lower and higher is cut. Our required frequency is 1.87 MHz. At the resonance frequency, the amplitude amplification (simulation) is approximately 100-120 times. But taking into account the physical limitations of ferrite, the real resonance was obtained at the frequencies 1.8 - 1.9 MHz, and is approximately 15-30 times in amplitude. This is what we need.

Implementation in the HW

A specialized board is developed as Arduino shild - the PLC modem.


In Arduino you can use one from:

  • SPI
  • I2C
  • UART

Detail description how it work: http://open-plc.blogspot.ru/2017/02/plc-modem.html

Feachures of modem:

Operating range of supply voltageDC 0-48V; AC 0-250V
The maximum power consumption does not exceed1W
Modem operation modecontinuous; transparent
ConnectorsArduino UNO compatible
Used interfacesOne from SPI; I2C; UART
Logical organization of networksSimple peer-to-peer networks without the possibility of subnetting, each modem has a unique address
Data transfer rate on the PLC network1200 - 19200 bps
Frequency range for data transfer via PLCFixed, 1.87 MHz
Level of signalLess than 116 dBmV

The first implementation "in hardware" will be both a shild and a library for Arduino. The test of prototype already performed. Firmvare is developed and tested. It takes about 1.5-2 months.

In the same project, the modem is implemented as a plug-in socket with analysis of power consumption and load dimming.

BOM on https://www.findchips.com

Unfortunately, on the site www.findchips.com I did not find connectors for arduino and DG500-5.08-02P.

But DG500-5.08-02P can be replaced by any similar, for example from PhoenixContact.

A set of connectors for Arduino UNO can be bought on the AliExpress.

For example: Arduino connectors

The solution also has a self-made transformer. The characteristics are calculated under the found ring-barrel (tor).

When firmware to be ready, it to be posted on the hackday.io

After that the product is ready for serial production.

Scheme and gerber-PCB in attached fle.