Introduction
In this sequence of posts, you will see how to upload a sketch to a programmable logic controller using Ethernet connection instead of using the USB. USB is the most common way to upload a sketch into an industrial Arduino board but it is not always the most comfortable way because you need to bring the industrial controller near of a PC or vice versa.
Requirements
Ethernet or 20 I/Os PLC:Â Â Â Â Ethernet PLCÂ Â Â Â Â 20 I/Os PLCÂ Â Â Â Â
Industrial Shields boards:Â Â Â Industrial Shields Boards
Â
Description
The sequence of posts will be divided into 3 posts in total, which are the 3 big steps to reproduce it.
- Install the Ariadne Bootloader into MDuino.
- Get the binary file from an sketch.ino
- Send the binary file using tftp client
Â
Install the Ariadne Bootloader into MDuino.
In the first post, you will see the first step that has to be done. This step is changing the BOOTLOADER of the Arduino. Why? The Bootloader that comes by default does not support this Ethernet uploading, so it is necessary to burn another one that permits upload via Ethernet.
The bootloaders can be found on the official github page of Ariadne. There are two different bootloaders depending on the version of the PLC controller MDuino you are using. For the PLUS version, you will be using the w5500 bootloader which is the Ethernet chip it comes with PLUS version. For the 7 version or older ones, you will need to use the w5100.Â
You can find the bootloaders on the following links:
     Bootloader Industrial Shields (PLUS version)
Once you have the bootloader downloaded, you need to move it into the bootloader folders.Â
For Windows:
C:\Users\User\AppData\Local\Arduino15\packages\industrialshields\hardware\avr\1.0.3-rc1\bootloaders
For Linux:
 $HOME/.arduino15/packages/industrialshields/hardware/avr/1.0.3-rc1/bootloaders
It is important not to delete the original bootloader that appears on this folder. What you need to do is to change the original name of mduino.hex into mduino-original.hex and the Ariadne bootloader will get now the name of mduino.hex.
After that, you just need to burn the bootloader. Burning a bootloader into an Arduino board is already explained in the following post.
HOW TO UPLOAD A BOOTLOADER ON AN ARDBOX/M-DUINO PLC
If you liked this post, continue reading the ones below:
2nd PART:Â UPLOADING AN SKETCH TO A PLC USING ETHERNET. STEP 2. BINARY FILE
 3rd PART: UPLOADING AN SKETCH TO A PLC USING ETHERNET. STEP 3. TFTP CLIENT
How to upload a sketch to an industrial PLC using Ethernet