Guide for Connecting to Arduino Opta

Guidance for Connecting to Arduino Opta using Arduino PLC IDE

After working with the Arduino Opta off and on for almost two years in an industrial setting and working through each update to the Opta board core and the Arduino PLC IDE, I grew very frustrated working with the Opta because nothing seemed to be working as it should. I had every problem that could be found on the Arduino forum regarding the Opta, and the official Arduino guides seemed to be ignorant of the real issues and/or solutions that many faced. However, I believe that I have finally discovered a solution for consistently connecting to the Arduino Opta: flashing the bootloader, going "online" with the device, and uploading the code. The following steps have proved to give me repeatable success in working with the Arduino Opta.

Goal/Scope

In this guide, I will show you how to get started using the Opta from scratch: from unboxing to uploading and running your code.

Disclaimers

  • I have only been working with the Arduino Opta WiFi (AFX00002).
  • I purhcased my two Optas in the summer of 2024. (I'm not sure if the ones sold today will have the same issues that I had with mine).
  • I have not tried to connect to the Optas over ModbusTCP (only over Modbus using a USBC cable).

My Setup

  • Windows 11 PC
  • Finder's Factory Reset Tool
  • Arduino PLC IDE v1.0.8
  • Arduino IDE v2.3.10
  • Arduino Mbed OS Opta Boards v4.6.0 (in Arduino IDE)

STEPS

  1. Power the Opta with +12V to +24V.
  2. Connect the Opta to your PC using a USBC cable.
  3. Reset the Opta to factory settings using Finder's Factory Reset Tool.
  4. Unplug the Opta from your PC.
  5. Configure the Opta's QSPI using the QSPIFormat program in Arduino IDE (follow this guide: https://docs.arduino.cc/tutorials/opta/memory-partitioning/).
    (Not sure how necessary this is after using the factory reset tool).
  6. Unplug the Opta from your PC.
  7. Open Arduino PLC IDE as admin. (I believe that opening as admin is required for first time setup).
  8. Create a new project using Opta v1.3 as the target and place it in a directory whose total character length does not exceed 250 (VERY IMPORTANT). Believe it or not, this is an issue that has bit me in the past.
  9. Plug in the Opta to your PC.
  10. Put the Opta in bootloader mode by double pressing the reset button (look for the blinking/flashing green LED for confirmation).
  11. Find the tabs at the top of the IDE and navigate to Project>Refresh current target in Arduino IDE PLC.
  12. Open the Opta Configuration window by accessing it in the Reources tab in the left-hand window. (It is the first entry "Opta" under the "Configuration" heading).
  13. Select "Automatic (BootLoader)" in the Port dropdown menu in the "Other" box in the Opta Configuration window.
  14. Click "Download."
  15. Wait for the download to complete.
  16. Close the Arduino PLC IDE.
  17. Unplug the Opta from your PC.
  18. Open Arduino PLC IDE again.
  19. Plug in the Opta to your PC.
  20. Reset the Opta by pressing its reset button once.
  21. Navigate to Project>Refresh current target in Arduino IDE PLC.
  22. Navigate to On-line>Set up communication...
  23. Activate the Modbus protocol (if it's not already).
  24. Open the properties window of the Modbus protocol.
  25. Look for the Opta's port(s) and select it. (I only saw one COM port for my Opta).
    If your Opta is showing COM port(s) as greater than 100 (COM100 or higher), you need to reconfigure the devices via Device Manager in Windows to ensure that the Opta is assigned a COM port less than 100 (COM99 or lower). To do this, first make note of which COM port(s) your Opta uses. Then, unplug the Opta. Next, open Device Manager as admin, expand the COM ports tree, click the "View" tab at the top of Device Manager, and select "Show hidden devices." Now, with all the currently non-connected devices in view, begin removing the ones with lower COM port numbers by right clicking them and selecting "Uninstall device." This will free up lower numbered COM ports that the Opta will be able to use the next time it's plugged into your PC.
  26. Make sure your Modbus protocol (not Modbus ASCII) is setup up with the following parameters:
    Baudrate = 38400
    Frame = N,8,1
    Address = 247
    Timeout = 1000
  27. Press "OK" to exit the Modbus config window.
  28. Press "OK" again to exit the DeviceLinkManager Config window.
  29. Navigate to On-line>Connect.
  30. Activate the license in the Opta Configuration window in the Status box.
    Activating the license will disconnect the Opta from the IDE.
  31. Navigate to Project>Refresh current target in Arduino IDE PLC.
  32. Navigate to On-line>Connect.
  33. (OPTIONAL) Click "refresh" to ensure that the license activation was successful. (You may have to connect to the Opta again: follow steps 27-28).

At this point, you should be successfully connected to the Opta and able to find expansion modules, download your code, force outputs on/off, etc.

I hope this saves you from hours of frustration that I went through while working with the Opta. Please reply to this post if you run into any issues along the way.

NOTE: At the time of making this post, I discovered that Finder no longer offers the Factory Reset Tool for download.

Thank you very much for the excellent and detailed manual to resolve issues with the Arduino Opta connection. I am trying to solve the connection issue from yesterday. Your process worked perfectly. I have tried to find the finder's "Factory Reset Tool." It was not seen but an alternative to it was found on their website itself with name as " OPTA Factory Reset" whose web link is "https://opta.findernet.com/wp-content/themes/picostrap5-child-base-main/download/OPTA%20Arduino%20Factory%20Reset_2.0.0_x64-setup.exe". Thank you once again sir. There a small issue i am facing for "status of activation". It is indicating it was activated but in Arduino PLC ide it is not reflected. But once again Thank you sir.

Tool still there: https://opta.findernet.com/en/software#arduino

Hello @cmil413

Thanks for putting together and sharing this guide.

If anyone still experiences connection issues after following these steps, I would also recommend trying the troubleshooting steps described in the following forum post:

If the issue persists, please feel free to contact the Arduino Pro Support team directly through:

Thank you again for sharing your experience and recommendations with the community.