I'm working on prototyping a board based on the Arduino Mega using the Eagle files taken directly from the arduino website. Unfortunately, the pins needed to perform the Loop Back Test are no longer present.
To program the m16u2 I've used my USBasp at the ICSP at the m16u2 and this command in the command prompt on Windows:
avrdude -p atmega16u2 -P usb -c usbasp -U flash:w:Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex:i -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m -F
This appears to be uploaded successfully.
I then fire up the IDE, connect the USBasp to the ICSP at the 2560, change the programmer to USBasp, then hit burn bootloader. Again, this appears to be successful.
When I connect the board using the usb connector, my computer recognizes that I have an Arduino Mega device connected on both of my computers (Com 19 on my Windows PC, usbmodem14201 on my Mac).
The board info says
- BN: Arduino Mega or Mega 2560
- VID: 0x2341
- PID: 0x0042
The "ON" light is always constant.
The "L" light, however, blinks for two beats then is off for one. That is, until I connect it via USB and try to upload a sketch through the IDE. It then becomes constant until I press the reset button and reverts back to the 2:1 blinking.
The "RX" light blinks every time a timeout message is received in the IDE.
The "TX" light never blinks.
The message I receive in the IDE while trying to upload a sketch is as follows:
Arduino: 1.8.12 (Mac OS X), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"... 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/XXXX/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf" User configuration file is "/Users/XXXX/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/cu.usbmodem14201 Using Programmer : wiring Overriding Baud Rate : 115200 avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer avrdude done. Thank you. An error occurred while uploading the sketch
If anyone has a suggestion to a possible fix, that would be amazing. Thank you.