Dump ATMega1284P using Arduino Uno R4 Minima as ISP programmer?

Hello!

I'm attempting to dump the content of a board that utilizes an ATMega1284P, using an Arduino Uno R4 Minima as an ISP programmer.

I've come across some examples of how to accomplish this with avrdude, such as the ones found in this subreddit. However, if I'm not mistaken, the Uno R4 no longer uses avrdude.

Is that correct? If so, are there any alternative methods available?

Thanks a lot!

Hi @jvlobo.

What exactly do you mean by "content"? Do you only need the flash memory, or do you also need the EEPROM as was the case in that Reddit post?

Does the board have a USB to serial bridge chip (e.g., FTDI FT232R) like a normal Arduino board?

Do you know if the board has a bootloader?

That is correct when we are talking about the UNO R4 boards as a target. However, in this case the UNO R4 would be serving as an AVR ISP programmer targeting the ATmega1284P board so AVRDUDE would still be used.

It is possible there is a more simple alternative, but that depends on the answers to the questions I asked above.

Thanks for your reply @ptillisch :slight_smile:

I'll try adding a bit of context in case it helps understand what I'm trying to convey, as I'm not sure I know the answers to all of the questions.

I had an old 3D printer that I got from a crowdfunding campaign, called the 101Hero. The controller board of this 3D printer uses the ATMega1284P. From what I've read, people were able to change the software that runs the printer. For example, here they roughly explain how to install Marlin on it.

That said, before attempting any of that, I wanted to back up the current content of the chip. (I guess only the flash memory? I'm not sure.)

Here you can see a picture of the controller board (taken from http://101superhero.blogspot.com/2017/03/stage-3-101spiderman.html)

Sorry I couldn't answer your questions more clearly, but that is the information I have.

And thanks a lot for taking the time.

EDIT:

I have also tried running this command:
avrdude -c arduino -p atmega1284p -P /dev/tty.usbmodem1101 -b 19200 -U flash:r:dump.hex:i

But I get the error:

avrdude error: programmer is not responding
avrdude warning: attempt 1 of 10: not in sync: resp=0x00

I've been reading your post on another topic that explains how to use the R4 as ISP to burn the bootloader (which is not exactly what I'm trying to do, but it helps also)

Thanks. That is useful.

From this:

https://github.com/drdelaney/101Hero-Marlin-Config?tab=readme-ov-file#initial-upload-to-the-board

You will need to unlock or reflash the chip to unlock the board. This needs to be done with a seperate ISP programmer. You can make a custom one with another arduino chip (Aruidno as ISP). Or you can use a hardware programmer, such as a USBasp or AVRISP.

I am led to suspect that the board does not have a bootloader (if a bootloader was in place then it would be possible to upload the firmware by simply clicking the "Upload" button in Arduino IDE instead of having to use an ISP programmer).

Nice! Although possible, it would be unusual for the baud rate to be 19200 as you configured the command for. In the case of the bootloader of the "Sanguino" board used by that replacement firmware project you linked , the baud rate is 115200 instead of 19200. Other than that, you were right on.

Since you are already set up to run the command, it would be worth trying it again with 115200 baud:

avrdude -c arduino -p atmega1284p -P /dev/tty.usbmodem1101 -b 115200 -U flash:r:dump.hex:i

This was actually the "more simple alternative" I mentioned in my previous reply. When there is a bootloader on the board, it is possible to simply connect it to the computer with a USB cable and run a command like this to read the program binary from the board.

Unfortunately if there isn't a bootloader then it is necessary to connect an ISP programmer to the board in order to read the binary. It is possible to use the Minima as the ISP programmer for this purpose and I can provide instructions for doing that if you like.

Thanks again for your kind help.

I tried running the command
avrdude -c arduino -p atmega1284p -P /dev/tty.usbmodem1101 -b 115200 -U flash:r:dump.hex:i

But I'm still getting the avrdude error: programmer is not responding error.

Just in case it provides any important information I'm attaching here a screenshot of my terminal:

I just saw that line:
avrdude error: avrdude built without libserialport support; please compile again with libserialport installed
And I'm not sure if it could be causing any issues for this case.

If you are able to help me out on how to use the Minima as the ISP programmer it would be great :smiley:

Thanks a lot

As before, my guess is this is because there is no bootloader on the ATmega1284. It was worth a try at 115200, but I didn't have too high of hopes for it.

Unfortunately I am not knowledgeable about that error or whether it could be relevant to the procedure you are attempting. I think it is specific to the version of AVRDUDE you are using to run the command (maybe you installed it via Homebrew?).

If you like, you can try again using the version of AVRDUDE that is distributed by Arduino. If you have Arduino IDE installed on your computer then you also have that version of AVRDUDE. You'll find out the location of AVRDUDE when following the instructions for using the UNO R4 Minima as an ISP below.

OK, here you go:

A. Prepare "Arduino as ISP" programmer

  1. Disconnect the USB cables of the Arduino boards from your computer.

  2. Make the following connections between the pins on the UNO R4 Minima and the 3D printer board.

    UNO R4 Minima 3D printer board
    10 reset
    12 SPI CIPO (AKA "MISO")
    5V 5 V
    13 SPI SCK
    11 SPI COPI (AKA "MOSI")
    GND ground
  3. Connect the UNO R4 Minima to your computer with a USB cable.

  4. Select File > Examples > 11.ArduinoISP > Arduino ISP from the Arduino IDE menus.
    The "ArduinoISP" sketch will open in Arduino IDE.
    :red_exclamation_mark: The sketch that comes with Arduino IDE 2.3.0 and newer is compatible with the UNO R4 Minima. The sketch that comes with older IDE versions have a bug that makes it incompatible. If you are using an older IDE version, let me know and I'll provide instructions.

  5. Select your UNO R4 Minima from Arduino IDE's Tools > Board menu.

  6. Select the port of your UNO R4 Minima from Arduino IDE's Tools > Port menu.

  7. Select Sketch > Upload from the Arduino IDE menus.

  8. Wait for the upload to finish.

You are now ready to use the UNO R4 Minima as an "Arduino as ISP" programmer.

B. Generate model command

We're going to do a dummy upload in Arduino IDE in order to get it to help us generate the avrdude command used to read the program from the Arduino board:

  1. Install the "Sanguino" boards platform by following the "Addon Arduino Software" instructions here:
    https://github.com/drdelaney/101Hero-Marlin-Config?tab=readme-ov-file#addon-arduino-software
  2. Select Tools > Board > Sanguino > Sanguino from the Arduino IDE menus.
  3. Select Tools > Processor > ATmega1284 or ATmega1284P (16MHz) from the Arduino IDE menus.
  4. Select Tools > Programmer > Arduino as ISP (ATmega32U4) from the Arduino IDE menus.
  5. :warning: VERY IMPORTANT :warning:: Disconnect the USB cable of the UNO R4 Minima board from your computer.
  6. Select Arduino IDE > Settings... from the Arduino IDE menus.
    The "Preferences" dialog will open.
  7. Check the box next to "Show verbose output during: ☐ upload" in the "Preferences" dialog.
  8. Click the "OK" button.
  9. Select Sketch > Upload Using Programmer from the Arduino IDE menus.
  10. Wait for the upload to fail.
    We didn't actually want to perform an upload, we only wanted Arduino IDE to generate the command that would have performed an upload if the board was connected.
  11. Scroll up the black console window at the bottom of the Arduino IDE window until you see the avrdude command that was generated for the upload.
    It will look something like this:
    "C:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude" "-CC:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf" -v -V -patmega1284p -carduino -PCOM25 -b19200 "-Uflash:w:C:\Users\per\AppData\Local\Temp\arduino\sketches\1D141F98B9F4D068F1728F229CD7B5A8/sketch_feb28b.ino.hex:i"
    
  12. Select the full text of the upload command.
  13. Press the Command+C keyboard shortcut.
    This will copy the selected text to the clipboard.

C. Prepare read command

Next, you need to adjust the command you obtained via the procedure above so that it will read the hex file out of your Arduino board instead of writing:

  1. Start any text editor program.
  2. In the text editor window, Press the Command+V keyboard shortcut.
    This will paste the command you copied while following the instructions above into the text editor.
  3. The end of the command will look something like this:
    "-Uflash:w:C:\Users\per\AppData\Local\Temp\arduino\sketches\1D141F98B9F4D068F1728F229CD7B5A8/sketch_feb28b.ino.hex:i"
    
    This is the flag that tells AVRDUDE to write.
    Replace that flag with the flag that tells AVRDUDE to read:
    -Uflash:r:readfile.hex:i
    
    The full command should now look something like this:
    "C:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude" "-CC:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf" -v -V -patmega1284p -carduino -PCOM25 -b19200 -Uflash:r:readfile.hex:i
    
    You'll notice this time the baud rate is 19200 even though I mentioned 115200 in my previous reply on this thread. The reason is that a different baud rate is used for AVRDUDE operations via the "Arduino as ISP" programmer than operations via the bootloader as we were attempting previously.
  4. If the paths in the command contain spaces, make sure they are wrapped in quotes.
  5. Press the Command+A keyboard shortcut to select all the text of the command in the text editor.
  6. Press the Command+C keyboard shortcut to copy the selected text to the clipboard.

D. Run the command

Now the read command is all prepared. It's time to run it!

  1. Plug the USB cable of the UNO R4 Minima into your computer.
  2. Open a command line terminal.
  3. Press the Command+V keyboard shortcut in the terminal window to paste the command you copied while following the instructions above at the command line prompt.
  4. Press the Enter key.
  5. Wait for the command to finish successfully.

You should now find a file named "readfile.hex" in whichever folder you opened the command line terminal in. That is the hex file of the program read from the Arduino board.

Thanks for such detailed instructions :clap:t4:

I've been following them but I'm having an issue on the step:

  1. Select Sketch > Upload Using Programmer from the Arduino IDE menus.

I'm getting this error:
Failed programming: cannot execute upload tool: fork/exec /Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/bin/avrdude: bad CPU type in executable

From what I've been reading it may be an issue with M1 Macs... but I already have Rosetta installed and everything, and it seems it is only happening with this Sanguino board, if I change to another board it doesn't throw that error.
Pasting here the output from Arduino IDE in case it helps in any way:

FQBN: Sanguino:avr:sanguino:cpu=atmega1284p
Using board 'sanguino' from platform in folder: /Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3
Using core 'arduino' from platform in folder: /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6

Detecting libraries used...
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/sketch/Blink.ino.cpp -o /dev/null
Generating function prototypes...
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/sketch/Blink.ino.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/837014304/sketch_merged.cpp
/Users/jvlobo/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/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/837014304/sketch_merged.cpp
Compiling sketch...
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/sketch/Blink.ino.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/sketch/Blink.ino.cpp.o
Compiling libraries...
Compiling core...
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/PluggableUSB.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/PluggableUSB.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial1.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial1.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial0.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial0.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/CDC.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/CDC.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/Stream.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/Stream.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial3.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial3.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/IPAddress.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/IPAddress.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/Print.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/Print.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial2.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial2.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/Tone.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/Tone.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/USBCore.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/USBCore.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/WInterrupts.c -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/WInterrupts.c.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/WMath.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/WMath.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/WString.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/WString.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/abi.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/abi.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/hooks.c -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/hooks.c.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/main.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/main.cpp.o
/Users/jvlobo/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=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/new.cpp -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/new.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring.c -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_analog.c -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_analog.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_digital.c -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_digital.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -x assembler-with-cpp -flto -MMD -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_pulse.S -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_pulse.S.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_pulse.c -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_pulse.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega1284p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_SANGUINO -DARDUINO_ARCH_AVR -I/Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/Users/jvlobo/Library/Arduino15/packages/Sanguino/hardware/avr/1.0.3/variants/sanguino /Users/jvlobo/Library/Arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_shift.c -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_shift.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/CDC.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial0.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial1.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial2.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/HardwareSerial3.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/IPAddress.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/PluggableUSB.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/Print.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/Stream.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/Tone.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/USBCore.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/WInterrupts.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/WMath.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/WString.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/abi.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/hooks.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/main.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/new.cpp.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_analog.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_digital.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_pulse.S.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_pulse.c.o
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc-ar rcs /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/wiring_shift.c.o
Archiving built core (caching) in: /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/cores/Sanguino_avr_sanguino_cpu_atmega1284p_75f989bd312d9630cb21fa120ae91125/core.a
Linking everything together...
/Users/jvlobo/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=atmega1284p -o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/Blink.ino.elf /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/sketch/Blink.ino.cpp.o /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/core/core.a -L/private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966 -lm
/Users/jvlobo/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/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/Blink.ino.elf /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/Blink.ino.eep
/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -R .eeprom /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/Blink.ino.elf /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/Blink.ino.hex

/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size -A /private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/Blink.ino.elf
Sketch uses 1076 bytes (0%) of program storage space. Maximum is 130048 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 16375 bytes for local variables. Maximum is 16384 bytes.
"/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/bin/avrdude" "-C/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf" -v -V -patmega1284p -carduino -P/dev/cu.usbmodem1101 -b19200 "-Uflash:w:/private/var/folders/z_/kdcmskyx7hv4715r7wq8yww00000gn/T/arduino/sketches/3AB4512B55AE66DC47483C836DD0E966/Blink.ino.hex:i"
Failed programming: cannot execute upload tool: fork/exec /Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/bin/avrdude: bad CPU type in executable

In the meantime I'll try to get a different computer (a Windows machine or maybe an older Mac) and see if I have any luck.

The cause of the error message is that Sanguino uses a 32-bit build of AVRDUDE. That was supported by older versions of macOS, but some years back they dropped support for 32-bit applications and now you can only use 64-bit applications on machines with modern versions of macOS.

The solution would be to use a newer version of AVRDUDE. You can continue on with the instructions, but replace this part of the command you generate:

with this:

avrdude

That will cause the version of AVRDUDE you installed separately (via Homebrew or whatever) to be used instead of the 32-bit build from the Sanguino installation.

Ok, thanks. This is my final command:

avrdude "-C/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf" -v -V -patmega1284p -carduino -P/dev/cu.usbmodem1101 -b19200 -Uflash:r:readfile.hex:i

When I ran it I got this output:

avrdude: Version 7.3
         Copyright the AVRDUDE authors;
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

         System wide configuration file is /Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:400]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:401]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:429]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:430]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:462]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:463]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:496]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:497]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:523]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:524]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:564]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:565]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:584]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:585]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:603]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:604]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:649]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:650]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:733]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:735]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:744]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:746]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:756]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:758]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:769]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:771]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:792]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:794]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:816]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:818]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1334]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1335]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1356]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1357]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1370]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1371]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1384]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1385]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:1598]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:3082]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:3265]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:3445]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:3637]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:3829]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:4022]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:4225]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:4433]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:4641]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:4835]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:5027]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:5383]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:5565]
avrdude yywarning() warning: ATmega329's flash writepage misses a necessary address bit a13 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:5684]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:5791]
avrdude yywarning() warning: ATmega649's flash writepage misses a necessary address bit a14 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:5910]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:5990]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:6948]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:7139]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:7330]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:7580]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:7792]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:8004]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:8218]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:8406]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:8656]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:8845]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:9029]
avrdude yywarning() warning: AT90PWM2's eeprom writepage misses a necessary address bit a8 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:9107]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:9312]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:9496]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:9679]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:9865]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:10055]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:10258]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:10700]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:10884]
avrdude yywarning() warning: ATtiny44's eeprom writepage misses a necessary address bit a7 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:10965]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11068]
avrdude yywarning() warning: ATtiny84's eeprom writepage misses a necessary address bit a8 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11149]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11375]
avrdude yywarning() warning: a4 would normally be expected to be a5 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11434]
avrdude yywarning() warning: a3 would normally be expected to be a4 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11434]
avrdude yywarning() warning: a2 would normally be expected to be a3 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11434]
avrdude yywarning() warning: a1 would normally be expected to be a2 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11434]
avrdude yywarning() warning: a0 would normally be expected to be a1 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11434]
avrdude yywarning() warning: too few opcode bits in instruction [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11434]
avrdude yywarning() warning: ATtiny43u's eeprom read misses a necessary address bit a5 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11453]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11556]
avrdude yywarning() warning: ATmega32U4's eeprom writepage misses a necessary address bit a2 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11639]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11747]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:11951]
avrdude yywarning() warning: AT90USB1286's eeprom writepage misses a necessary address bit a11 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12034]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12153]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12154]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12340]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12341]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12529]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12530]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12717]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12718]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12905]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:12906]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:13088]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:13279]
avrdude yywarning() warning: has_pdi is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:13493]
avrdude avr_get_mem_type() warning: avr_mem_order[] does not know data; add to array and recompile
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:13621]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:13710]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:13810]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:13963]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14021]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14133]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14265]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14365]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14642]
avrdude yywarning() warning: is_avr32 is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14643]
avrdude yywarning() warning: has_debugwire is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14667]
avrdude yywarning() warning: ATtiny1634's flash writepage misses a necessary address bit a5 [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14790]
avrdude yywarning() warning: has_tpi is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14856]
avrdude yywarning() warning: has_jtag is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:14979]
avrdude yywarning() warning: has_updi is deprecated, will be removed in v8.0, use prog_modes [/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf:15044]
         User configuration file is /Users/jvlobo/.avrduderc
         User configuration file does not exist or is not a regular file, skipping
avrdude main() warning: System wide configuration file version ()
        does not match Avrdude build version (7.3)

avrdude programmer_not_found() error: cannot find programmer id arduino
use -c? to see all possible programmers

So I tried running it again without de -C flag, like this:

avrdude -v -V -patmega1284p -carduino -P/dev/cu.usbmodem1101 -b19200 -Uflash:r:readfile.hex:i

And I get again the avrdude stk500_recv() error: programmer is not responding error

It looks like maybe the AVRDUDE configuration file is not compatible with the version of AVRDUDE in use? Try again with this command:

"/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude" "-C/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega1284p -carduino -P/dev/cu.usbmodem1101 -b19200 -Uflash:r:readfile.hex:i

That will use the newest version of AVRDUDE distributed by Arduino, which is 64-bit and also guaranteed to be compatible with the configuration file.

Thanks!!
Command worked (I think):

> "/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude" "-C/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega1284p -carduino -P/dev/cu.usbmodem1101 -b19200 -Uflash:r:readfile.hex:i


avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/Users/jvlobo/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/Users/jvlobo/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem1101
         Using Programmer              : arduino
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega1284P
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
           flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9705 (probably m1284p)
avrdude: safemode: lfuse reads as D6
avrdude: safemode: hfuse reads as DB
avrdude: safemode: efuse reads as FD
avrdude: reading flash memory:

Reading | ################################################## | 100% 69.38s

avrdude: Flash is empty, resulting file has no contents.
avrdude: writing output file "readfile.hex"

avrdude: safemode: lfuse reads as D6
avrdude: safemode: hfuse reads as DB
avrdude: safemode: efuse reads as FD
avrdude: safemode: Fuses OK (E:FD, H:DB, L:D6)

avrdude done.  Thank you.

But the resulting file has almost no content:

> ls -la readfile.hex                                                                                                                                                                         
-rw-r--r--  1 jvlobo  staff  12 Mar  1 08:48 readfile.hex
> cat readfile.hex                                                                                                                                                                            
:00000001FF

Maybe the board is protected somehow and I can't copy the flash?

That is unfortunate. I did try the instructions myself and I can verify that the hex file I got contains content.

It is certainly possible. The ATmega1284P has "lock bits" which can be set to prevent the binary file from being read. This is standard practice in most commercial products in order to make life more difficult for people making counterfeits, clones, or competing products. However, it seems a bit odd of a thing to do for a 3D printer which is surely running a variant of the free open source Marlin. But some manufacturers probably just have a proprietary mentality.

That sucks :frowning:

At least we were able to run the command successfully and I learnt quite some things along the way.
Thanks a lot for all your help, it was great :slight_smile:

Yeah, it is too bad. Anyway, it is an interesting subject to discuss and perhaps the general information that was shared will be useful to others who want to accomplish something similar, but with an unlocked microcontroller.

Best wishes for success in all your 3D printing endeavors!

Regards,
Per

1 Like