Does IDE 2.x still use the Arduino15 directory? IDE 1.8 compatibility?

I had IDE 2.x installed (macOS, M2) and had been unable to support some older boards and installed IDE 1.8 to see if it would still work. I now see 2.x referring to the old Arduino15 directory during compile. (Maybe I just never noticed before.) I expected the Arduino15 directory to be a IDE 1.8 only directory. Now I install boards in 1.8 and they show up in 2.x. Does IDE 2.x use the Arduino15 directory also?

Have I created any compatibility issues by installing IDE 1.8 side-by-side with IDE 2.x?

Both IDE's use the same directories, boards, and libraries. The IDE is just a GUI shell that drives the CLI. I have had both 1.x and 2.x installed together for a long time and no ill effects.

Thanks for the fast reply. I switched from an old Intel Mac to a new Apple Silicon Mac. Am discovering that many of my boards are not communicating well with the new Mac. I frequently get the dreaded:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt of 10: not in sync

errors. Quitting the IDE and restarting helps sometimes. Other times its no good. Neither IDE will talk to my Chipkit UNO32 or some of my generic Nano's (FTDI chips)

I have an M3 used to have an M1 and Intel MBP before that. Can't say it happens any more or less overall, but certain boards do.

Hi @gweep.

Let's focus our attention on trying to solve the problem for one of the Nano clones. That will be more effective than splitting our attention between all the boards at once. Hopefully the same problem is affecting all the Nanos, so solving it for one will also solve it for the others. We can circle back to the ChipKIT Uno32 board once we have concluded our efforts for the Nano.

I'm going to ask you to provide the full verbose output from an upload attempt.


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: compile in the "Preferences" dialog.
  3. Check the box next to Show verbose output during: ☐ upload.
  4. Click the "OK" button.
    The "Preferences" dialog will close.
  5. Attempt an upload, as you did before.
  6. Wait for the upload to fail.
  7. You will see an "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  8. Open a forum reply here by clicking the "Reply" button.
  9. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code block icon on toolbar
  10. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code block markup before you add any additional text to your reply.
  12. Click the "Reply" button to post the output.

Updated some board definitions... the nanos are working again. Still having trouble with my Arudino Pro Mini. I need to review my UART connections I have the UART's CTS pin grounded by my pin-to-pin dupont cable at the Pro-Mini.

Error message from the ChipKIT Uno32 follows.

fork/exec /Users/michael/Library/Arduino15/packages/chipKIT/tools/pic32-tools/1.43-pic32gcc/bin/pic32-g++: bad CPU type in executable

Compilation error: fork/exec /Users/michael/Library/Arduino15/packages/chipKIT/tools/pic32-tools/1.43-pic32gcc/bin/pic32-g++: bad CPU type in executable

If my memory serves, the Pro Mini is a discontinued board so what you have is most likely a clone. However I have a bunch of them cuz I like the small size. Remember you have 4 choices in Tools/Processor, 2 voltages and 2 clock speeds. 3 of the 4 will not work.

Here are the correct connections:

USB to serial
bridge
Pro Mini's
"FTDI header"
GND BLK
CTS GND
Vcc VCC
TX RXI
RX TXI
DTR/RTS GRN

The cause of this error is that the the GCC compiler toolchain for the "chipKIT" boards platform was built for a 32-bit host. In the heyday of the antiquated chipKIT platform, it made sense to build the tool dependencies such as GCC for 32-bit host because that allowed a single build to work on both 64-bit and 32-bit machines. However, Apple later dropped support for 32-bit applications:

Unfortunately, chipKIT never bothered to make a new build of GCC that will work with modern macOS machines. They are not actively maintaining the platform so it is doubtful whether they will ever do so. So your only hope for using the chipKIT Uno32 with Arduino on your new computer would be to replace the 32-bit build of pic32-gcc with a 64-bit build.

I did find something that looked promising here:

However, for some reason all the files have the .deb file extension of a Debian package. Maybe that makes sense for the Linux builds, but it doesn't make much sense for the macOS build.

Nope, it is still active:

(if it was retired, it would be marked as such on the SparkFun product page)

Thanks for the good feedback. I'll try another Pro Mini...

I still have my old Intel Mac. Looks like its time to find a permanent project for the UNO32.

I managed to extract it and found that it is also 32-bit, so not of any value.

It is marked as retired here, so no wonder if there is some confusion:
https://docs.arduino.cc/retired/boards/arduino-pro-mini/

Good point. I hadn't noticed that. I would guess the documentation team did that just because they don't want to maintain documentation for boards that are not manufactured by Arduino. So it is a manner of the documentation page being retired rather than the hardware being retired.

I meant it's retired by Arduino

More on the Pro Mini. It will load a program successfully via hex file and a USBtinyISP programmer. Still no joy via the serial UART, (which is confirmed to work). Here is the upload error messages.


FQBN: arduino:avr:pro
Using board 'pro' from platform in folder: /Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6
Using core 'arduino' from platform in folder: /Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6

Detecting libraries used...
/Users/michael/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR -I/Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/variants/eightanaloginputs /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/sketch/Blink.ino.cpp -o /dev/null
Generating function prototypes...
/Users/michael/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR -I/Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/variants/eightanaloginputs /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/sketch/Blink.ino.cpp -o /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/3024535599/sketch_merged.cpp
/Users/michael/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/3024535599/sketch_merged.cpp
Compiling sketch...
/Users/michael/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR -I/Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/michael/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/variants/eightanaloginputs /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/sketch/Blink.ino.cpp -o /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/sketch/Blink.ino.cpp.o
Compiling libraries...
Compiling core...
Using precompiled core: /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/cores/arduino_avr_pro_cpu_16MHzatmega328_6a9b9c0ee887d34e218f62ce7c431668/core.a
Linking everything together...
/Users/michael/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/Blink.ino.elf /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/sketch/Blink.ino.cpp.o /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/../../cores/arduino_avr_pro_cpu_16MHzatmega328_6a9b9c0ee887d34e218f62ce7c431668/core.a -L/private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10 -lm
/Users/michael/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/Blink.ino.elf /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/Blink.ino.eep
/Users/michael/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -R .eeprom /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/Blink.ino.elf /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/Blink.ino.hex

/Users/michael/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size -A /private/var/folders/bz/j2kkfwr16654h108zzq427t40000gn/T/arduino/sketches/74D81E62D59F522A9ACBB4531D3A5A10/Blink.ino.elf
Sketch uses 1186 bytes (3%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
Failed uploading: uploading error: exit status 1

Yes, @oqibidipo pointed that out. But that only means the documentation on the arduino.cc site is retired. Arduino doesn't manufacture the hardware so only SparkFun has say over whether the hardware is retired.

Doing that will typically erase the bootloader from the ATmega328P microcontroller. Without a bootloader, you can't upload via the serial UART, and the upload failure produces the error messages you shared.

If this is the cause of the problem, you can fix it by performing the following procedure:

  1. Connecting the USBtinyISP programmer to the Pro Mini board.
  2. Connect the USBtinyISP programmer to your computer with a USB cable.
  3. Select Tools > Programmer > USBtinyISP from the Arduino IDE menus.
  4. Select Tools > Burn Bootloader from the Arduino IDE menus.
  5. Wait for the "Burn Bootloader" operation to finish successfully.

After that, try uploading via the serial UART again. Hopefully it will work this time.

That was it! Problem solved. Much Thanks!

You are welcome. I'm glad it is working now.

Regards, Per