0
\$\begingroup\$

I made my own diy "bare bones" Arduino Due in an embedded application. Basically I was making a portable Bluetooth headphone amplifier for a school project. The point of the MCU was to display battery information on a touchscreen LCD and to control volume with a digital resistor. Everything else on my board seems to work including Bluetooth. Since this was a prototype, I added a switch which would bypass the digital resistor and go to a normal pot for volume control, so I know everything on my board works except the SAM3x8E.

Here is the issue:

When I plug in the USB, the device does not get recognized by the PC at all. No COM ports are available in device manager. If I press the reset button, the chip gets abnormally hot. Uncomfortably hot to the touch! If you unplug power and plug it back in, even after waiting a second or two, it STILL starts getting hot. It's only after you power cycle and hit the ERASE button a few times that the chip finally stops overheating. Also, during this process, my 3v regulator drops out as if the chip is drawing too much current. (because the blue 3.3v led goes out)

After the power cycle, things go back to normal, and Bluetooth and the rest of my amplifier works fine. Can anyone take a look at my schematic and see if anything obvious is wrong? I am a little lost, any suggestions to help diagnose this issue?

Tomorrow, I will hook it up to an oscilloscope to make sure my crystals are providing clock. Any other test I can perform? I have triple checked this schematic against a number of Arduino Due and SAM3x8E reference schematics and do not see anything obviously wrong.

Here are the Eagle Cad Files:

Eagle Schematic File

Eagle Board File

Also some photos:

enter image description here

enter image description here

Here is the actual board (don't mind the unsightly makeshift jumpers): enter image description here

Also, here is a schematic of the Power circuit: enter image description here

\$\endgroup\$
  • \$\begingroup\$ Looking at the schematics closer, I noticed I have my RX and TX LED's to ground rather than 3.3V. Could this cause such symptoms? \$\endgroup\$ – John August May 25 '15 at 7:48
  • \$\begingroup\$ Your D9 does not make sense, but that's not the issue. Where does your Master Reset signal go as well? This sounds like a latch-up effect. This can happen when other parts of your board are powered before the controller (or some other IC is; it need not be the STM). Does your board work if USB is disconnected? Can you outline your different power domains and start-up power sequencing? \$\endgroup\$ – Tom L. May 25 '15 at 8:11
  • \$\begingroup\$ The only other way to power the board is with a lipo and when I power the board this way without USB, the RX and TX lights do not turn on. (with usb they remain dimly solid lit) There are two power circuits on the board, one 3.3V and one boost converter +-5V for the analog audio amplifier components. The 5v never touches any of the 3.3v stuff obviously and the ground planes are separated. The left jumper will cut power to the entire board when powered over USB (not Lipo). The right jumper cuts power to the 5v boost converter. \$\endgroup\$ – John August May 25 '15 at 16:20
  • \$\begingroup\$ If powered over Lipo, I leave the two jumpers connected and my Bluetooth module and analog components boot up straight away. Interestingly, when I power over USB, my 3.3v supply will not turn on if the right most jumper is left on at the time of inserting the USB to a PC. That means my all my 3.3v stuff remains off until I reset the +-5v power supply enable jumper. I am having difficulty explaining why this happens. Also, as mentioned, Lipo power works just fine to power the board!? (not sure if the mcu works under Lipo power yet) \$\endgroup\$ – John August May 25 '15 at 16:24
  • \$\begingroup\$ What I meant was to tell us which part powers which. Where does the 5V come from, where does the 3V3 come from. How is the sequencing during power up? My guess would be that your USB line (D+/D-) is at some voltage level before your board is actually powered up. It could also be any other line (e.g. a GPIO from USB). Therefore we need to know how the power up sequence is intended (5V available before 3V3 may be a problem if a 5V signal is connected to 3V3 controller pin). Do you have a chance to supply the 3V3 without the 5V (just for testing purposes. In that case, disconnect USB and use 3V3. \$\endgroup\$ – Tom L. May 25 '15 at 17:27
2
\$\begingroup\$

I figured out my mistake the other day, and man was it a stupid one. The chip was soldered in 90deg in the wrong direction. Pin 1 should have been located at the top left. I got confused by the silk screen and the two larger dots, one of which I mistook for being the pin 1 marker. I did not think the orientation was an issue at all until it was pointed out to me. This chip will need to be replaced now most likely.

UPDATE:

I flipped the chip 90deg and it WORKS!!!! I haven't tested the full chip, I am sure this must have damaged at-least SOME parts of the chip? Still surprised it even gets recognized. Kudos Atmel!

enter image description here

enter image description here

\$\endgroup\$
  • \$\begingroup\$ Still keep in mind the reset issues listed on the other answers. \$\endgroup\$ – Atilla Filiz May 28 '15 at 8:19
  • \$\begingroup\$ I flipped the chip and it all seems to be working believe it or not!! Reset works fine as there is an internal resistor. I will keep it in mind for other project however. \$\endgroup\$ – John August May 29 '15 at 11:19
1
\$\begingroup\$

You have "floating" reset and you cannot do like that with CMOS circuits, especially with their RESET lines. Your reset capacitor should be connected to the ground and through 1k resistor to 3.3v. Reset pin has to be connected between the resistor and the capacitor. Button has to go across cap.

Actually the right way to reset MCU is through Power-on-reset circuits (https://www.google.com/search?q=por+reset+circuit&ie=utf-8&oe=utf-8). These circuits release the reset only when supply voltage has reached certain value; MCUs don't like slowly rising supply voltage and start misbehaving.

\$\endgroup\$
  • 1
    \$\begingroup\$ Untrue. This is the same reset circuit as on the official design. Likely it is workable due to an internal pullup resistor inside the MCU. \$\endgroup\$ – Chris Stratton May 25 '15 at 14:33
  • 1
    \$\begingroup\$ This is true, there is a 15k Ohm pull-up internal to the SAM38xE as per page 30, section 6.5 "The NRSTB pin is input only and enables asynchronous reset of the SAM3X/A series when asserted low. The NRSTB pin integrates a permanent pull-up resistor of about 15 kΩ." Link: atmel.com/Images/… \$\endgroup\$ – John August May 25 '15 at 16:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.