💬 Building a wired RS485 sensor network

  • Admin

    This thread contains comments for the article "Building a wired RS485 sensor network" posted on MySensors.org.

  • Is it possible to have 1pcs NRF24L01 as serial gateway + 1 pcs RS485 as serial gateway (both with it's own Arduino Nano) connected at the same time to a controller? Will I just have to add 2 USB/serial gateways to my Domoticz?

  • Admin

    Yes. I'm almost certain Domoticz can handle multiple gateways..

  • Mod

    Yes it does

  • Could you provide details about the MySensor release version this was made on? I was not able to get it running on version 2.0.0. The development branch however worked fine.

  • Mod

    @Bart could you clarify what you mean by "this"?

  • On the Demonstration video what is each device? There are three devices but only two code examples.

    Am I right in saying the left device is the motion sensor, the middle device is getting the sensor data over RS-485 from the left device and sending it over the air to the right device which is an Ethernet gateway by the looks of it? Or has the video got nothing to do with the code examples?

  • Admin


    The video was created by @LeoDesigner and was posted here, my guess it was just test:


  • @mfalkvidd I am referring to the code samples from the article 🙂 I think it would be good to have a well documented working example. Maybe that's just me but I am getting a feeling there's a lot of scattered info about RS485 configuration.

  • Admin

    The article was written only a day ago. I'm open to add more information you see fit. Asked the community for help creating a wiring diagram in Fritzing but no one took up the request 😉

    The examples in the article are from directly from the 2.0 repository and should contain the configuration needed.

  • @hek OK, thanks for the hint - thought the article is older. Anyway as I am already on it, I will try to prepare something.

    BTW, Apart from the SerialGateway (where Serial is obviously not available for the debug), should the Serial work for the debug? Assuming I am using AltSoftSerial or Serial1 for the RS485 I guess it should be possible. However with DEBUG on I was not able to get it to work.

  • Admin

    Yes, for a regular node you should be able to print debug info.

  • Please, how many sensors on the bus you tested? I think, that this multimaster rs485 protocol is not very usefull for large number of nodes and heavy traffic..
    I am working on protocol for CAN bus nodes connected to to the serial gateway, but documentation for mysensors code is very bad.
    Its easier for me make it from scratch and use mysensors serial protocol between gateway and controller. only.

  • I would like to create a rs485 network that is 'local' to a specific device, (one that uses many arduinos to manage a process currently using a mega hardware serial ports as the intermediary and local interface ) and one mysensors note to relay sensor data from the rs485(local network) to the wireless mysensors network. Mostly I am wondering if I can use the wired network gateway and wireless network repeter features at the same time? any help is appreciated.


  • Hi, I build up the set up with serial gateway and the motion sensor but nothing happens (only nonsence is is seen in the serial monitor)
    However if I run this small program using the AltSoftSerial library I can communicatie without any issue in both directions.
    Have others the same issue, or what do I overlook?

    #include <AltSoftSerial.h>

    AltSoftSerial altSerial;
    #define SSerialTxControl 2 //RS485 Direction control

    #define RS485Transmit HIGH
    #define RS485Receive LOW
    bool ReceiveOrSend = RS485Transmit;

    void setup() {

    Serial.println("AltSoftSerial Test Begin");
    pinMode(SSerialTxControl, OUTPUT);
    digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit
    if (ReceiveOrSend ){
    Serial.println("send mode");
    digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit
    } else
    digitalWrite(SSerialTxControl, RS485Receive); // Enable RS485 Transmit
    Serial.println("receive mode");

    void loop() {
    char receivedOnRS485;

    if (ReceiveOrSend ){
    altSerial.println(" Hello world");
    } else

    if (altSerial.available()) {
    receivedOnRS485 = altSerial.read();

  • 2.1.0-beta tested and works between two nanos over altsoftserial
    COM6:GW, COM9:Bus monitor and COM5:Node

  • Tried this but I get an errormessage when I complile sketch for the gateway.
    The node presents itself but the messsage is not recognised/ answered by the gateway.

  • Has anyone else got this working alright ? I've connected 5v, GND, pins 8 to RD. 9 to DI. DE + RE to 2 and connected the rs485 modules via A B. Not getting any replys. Does the rs485 link need a resistor across it? Cheers.


Suggested Topics