Arduino IDE 1.8.3
Arduino Due board software, 1.6.11
Hello,
I made a custom Arduino Due board according to the current schematics available. The board is 4 layers, signal layers on top and bottom, a ground plane and 3.3V plane in the interior layers. I opted to keep the Atmega16u2 instead of the native port. I have gotten rid of many things from this design including JTAG, external power supply circuitry, Native port circuitry, and all the headers except SPI for the atmega16u2 (to flash firmware). I have successfully loaded the firmware onto the atmega16u2 by using an Arduino Uno with Arduino ISP. I have the correct hex file because I have tried it on a correct Arduino Due, and was able to upload the blink program after flashing. My issue is that I keep getting the error code when trying to upload the example blink sketch to the board:
C:\Users\USER\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.6.1-arduino/bossac.exe -i -d --port=COM5 -U false -e -w -v -b C:\Users\USER\AppData\Local\Temp\arduino_build_874155/ArduinoISP.ino.bin -R
No device found on COM5
Send auto-baud
Set binary mode
An error occurred while uploading the sketch
Device Issues
- My led "L" connected to pwm13 is constantly on when hitting reset, erase, or uploading.
- All I/O pins are showing a high logic level (3.3V).
- I only get 3 blinks on the Atmega16U2 RX LED, nothing with TX when uploading a sketch fails.
Steps taken to debug problem.
- Restarted computer/Arduino IDE.
- Unplugged and re-plugged in custom board.
- Holding erase for a few seconds, then hitting the reset before trying to upload.
- Voltage Checks on Microcontroller
a. VDDIN: 3.3V
b. VDDIO1-4: 3.3V
c. VDDANA: 3.3V
d. VDDBU: 3.3V
e. VDDUTMI: 3.308V
f. VDDOUT: 1.786V
g. VDDPLL: 1.786V
h. VDDCORE1-5: 1.785V
i. Ground Pins all are at 0V
j. VBG: Pin 40, 0V
k. SHDN: Pin 50, 3.3V (Device is not in sleep mode)
l. NRST: Pin 69, 3.278V
m. JTAGSEL: Pin 46, 0V - Erase function (Probe on Pin 130 and ground)
a. Measures 0V when plugged in.
b. When pressing erase button there is a voltage of 3.3V.
c. When trying to upload a sketch there is brief moment when there is a 3.3V level on the microcontroller pin. - Reset function (Probe on pin 47 and ground)
a. Measures 3.3V when plugged in.
b. When pressing the reset button there is a 0V level.
c. When trying to upload a sketch there is a brief moment when there is a 200mV level on the reset pin.
d. R23 is 1K Ohm (inline from the atmega16u2) - Oscillator checks
a. Y1 - 11.99MHz
b. Y2 - 32.xxx KHz
c. Y3 - 15.99MHz - Added Varsistor from pin 129 UOTGID to ground.
- Read SAM3X8E checklist, and everything seems to be connected right.
- Added a 47uF electrolytic cap to +5V net.
- Check polarization marks on all components. All were correct.
Hardware Used (Rest are on the BOM)
- Y1 - FH1200001 (CRYSTAL 12MHZ 20PF SMD)
- Y2 -ECS-.327-12.5-34B-TR (OSC MEMS 32.768KHZ LVCMOS SMD)
- Y3 - FL1600087 (CRYSTAL 16MHZ 20PF SMD)
- 100nF - TMK105B7104KVHF (CAP CER 0.1UF 25V X7R 0402)
- 10uF - TPCR106K016F1800 (CAP TANT 10UF 16V 10% 0805)
- All other components I used the available part numbers.
- LED's - LY R976-PS-36 (all same part line)
Components replaced
- U1 - SAM3X8E (I replaced one on another due with success, not a soldering issue)
- C23 & C4 - changed to 22pf
Components Not Placed
- R8
- R9
- Q4
- C26
Possible ideas
- I connected GNDANA, GNDPLL, GNDBU, and GNDUTMI all to ground, not touching the cathode of the associated capacitor such as VDDUTMI.
- The oscillators that I picked are not correct.
- The capacitors I picked are not correct.
- The SAM3X8E is in a watchdog fault mode (not allowing user buttons to work and not able to be programed)
CustomDue.pdf (742 KB)
CustomDueBOMandHEX.zip (12.9 KB)
