Run two independent copies of the IDE

I have a project whereby one Mega2560 is sending commands and receiving data from four Nanos via I2C. I'm having trouble and would like to work with the Mega and one Nano simultaneously. I can launch two copies of the IDE and connect two boards with USB cables but both IDEs refer to the same board and port in the Tools menu. Has anyone tried to run two IDEs in their own virtual world or sandbox? I was thinking of installing Sandboxie and using it to run two independent copies.

While searching for some related info this morning, I stumbled on an IDE named MariaMole. It appears to do just what I need. I'll try it out this week. Has anyone used this program?

Not suitable and worse than the normal IDE. MariaMole has the following shortcomings.

  1. Could not find a print function for the source code. Copying to a text editor loses the color.

  2. Does not support two sketches on two boards or different type, mega/nano, on different USB ports.

  3. Every function has to be defined before it is called. Cannot maintain alphabetic order.

  4. Workspace tree panel very dim and hard to read. Could not find anyplace to change that.

Looking again for something to use.

You can compile and upload using the command line, so you can edit in two IDE's and use a batch file or shell script to compile your sketches.

You could make it easy by having shortcuts on the task bar.

Here is the docs: Arduino/manpage.adoc at master · arduino/Arduino · GitHub

That will work.

Last night I found another solution, UECIDE. The serial port is a little finicky when moving the USB cable from one slave Nano to another. However, it allows for multiple instances of the IDE and each will select it's own board and port and display the appropriate serial monitor. It's also a cleaner looking IDE with many user adjustments. Compilation is much faster. Initially, you have to import your boards from a menu list but you can click them all with Ctrl-click and the import will run one time and get them all. The only thing I can't find is a way to print the sketch code. Copying to some word processors loses the colors.

You can use Notepad++ it is an excellent lightweight editor.

You can also add in the command line stuff for the Arduino IDE and compile+upload directly.

It supports C++ highlighting and you can add in Arduino specializations (can find the extension stuff using google).

Will look at that program also. Where will the verbose output from the compiler/uploader appear? If something is wrong, I need to see the messages.

The UECIDE is working but I would still like to get a sketch color printout. Also, the default window theme is not the best as the tab and text color are nearly the same. If you go to Files/Preferences/Editor/Window Theme and select Windows, the tabs are much more readable.

I have abandoned UECIDE as there will likely never be a print function, according to it's author. I have installed Notepad++ and the Arduino plugin and darkened a few of the colors. Batch files will trigger compile and upload for each board. Not sure how to see the serial monitor output from each board.

I use HTerm for most of my terminal stuff.

You can run an instance for the COM port not used in the IDE, and the serial monitor for the one that is.

It is seriously the simplest and the best, not to mention the most feature packed I have found...

You can use the 'DTR' button in HTerm to reset the Arduino, and be sure to disconnect before trying to upload (only one connection per COM port)

I've tried both PuTTY and HTerm and they work fine as long as I follow your suggestions above. If you don't upload a new sketch then either terminal program can be used to monitor each board. However, after the upload, the port seems to be locked as the terminal program can get access and once it tries, the IDE cannot get it either. However, this scheme will work once I get the batch files created.

PS
There seems to be a problem reconnecting to a Nano V3 with the CH340 UART chip. Once the IDE connects and releases, neither can connect again. It may take a reboot to fix the problem. This does not happen with the Mega2560. I'll just have to remember to use the terminal program only on the Mega and use the IDE monitor on the Nanos.

PPS
Tried another Nano with a PlainADC example and it works fine as long as only one app is connected. My other test project has one Mega connected to two Nanos via I2C. That particular configuration may be the problem. Looks like Notepad++, two HTerm instances, and two batch files will be my final solution.

Thanks for all the help.

The batch file for the Nno works fine and HTerm will connect after upload. However, the one for the Mega will not even upload and it keeps the port locked. Here is the batch code that does not work. It's nearly identical to the Nano. The code shows a break in the line but within the batch file, it's continuous.

"C:\Program Files (x86)\Arduino\arduino.exe" --board arduino:avr:mega:cpu=atmega2560 --port com20 --upload 

c:/users/XXXX/documents/arduino/projects/bodybargesonarcontrollertX-8/bodybargesonarcontrollertX-8.ino