[GUIDE] Remotely program with ARDUINO IDE - Serial to Ethernet Connector

I've been searching in the past couple of weeks for a solution to remotely access ARDUINO IDE to program a local ARUDINO (or vice-versa).
In the next lines I will try to explain the solution I've found:
[ARDUINO] <--> LOCAL PC <==> NETWORK <==> REMOTE PC <--> [ARDUINO IDE]

I was searching for a solution that allow me to send serial over ethernet in order to remotely program my arduinos.
In my case I have a home computer with Windows 10 and Arduino IDE installed on it. As all the source code from my projects.
This computer does not have a keyboard nor a mouse or a monitor. I control-it through remote desktop.

I'm always on the move with my work laptop.
I needed a way to expose the local ARDUINO COM PORT from my work laptop to the remote home computer.
Windows Remote Desktop supports this "exposing" but the remote ports are not seen by the remote machine (device manager and arduino IDE)-

Something like this:

[ARDUINO] <--> LOCAL PC <==> NETWORK <==> REMOTE PC <--> [ARDUINO IDE]

After searching Arduino forums, googled it, testing several other tools and having many different experiences with virtual and local ports, i opted to use :

"Serial to Ethernet Connector"
https://www.serial-over-ethernet.com/

The procedure is as this:

  • Install software in both server (local machine) and client (remote machine).
  • Make sure no other app is using the port you which to share - COM ports work in app exclusive access.
  • If using Microsoft Remote Desktop to connect to the remote machine,
    make sure NOT TO EXPOSE the local ports to the remote machine
    (remote desktop/more/local resources/do NOT select ports or COM devices).
  • Local machine (Serial to Ethernet Connector - SERVER):
    Server connections
    Share the Port to which ARDUINO is connected (in my case COM1 - should confirm it in windows device manager)
    Select a TCP PORT (ex: 5000);
    Choose a protocol (telnet RFC2217 worked best with arduino ide);
    Saved-it.
  • Remote machine (Serial to Ethernet Connector - CLIENT)
    Client Connections
    Create a port in the remote machine (I opted also for COM1 as it was available);
    Select the IP of the server machine;
    Select the TCP PORT equal as the server (5000);
    Choose the protocol equal as the server (telnet RFC2217);
  • Arduino IDE was configured to COM1, manually have to configure as ARDUINO UNO device.

And it works great !
A Local Arduino device programmed by a remote Arduino IDE.
You can restart the remote connection, open and close connection, restart the machine and it connects automatically.

QUICK NOTES:

  • Serial to Ethernet Connector installs a a service.
  • Even after restarting windows, the COM network bridge is automatically established !
  • Remember that in Windows each com port can only be used by one application at a time (I had some issues with com0com that was taking on the COM ports, and both software cannot be installed at the same time.) If you need to access the local COM port (the one where the device is connected) - you need to go into Serial to Ethernet Connector (server side) and pause the service.
  • Make sure you are sharing the correct port. Connecting different Arduino devices may lead to different local serial ports being opened - just confirm with Windows Device Manager.

(I hope this helps someone else)

2 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.