I am stumped! Arduino board freeze at Power Up.

  koosjr, 3 weeks ago

I have designed two controllers with the following features:

  1. It uses an Arduino Nano as controller, which I plug in on the board on female headers.
  2. It has an onboard 220VAC to 24VAC transformer as I drive external devices which needs 24VAC power.
  3. I use a common LM2596HVS power supply to supply my board with 12V
  4. This 12V is used to drive the on board Relays via a ULN2003A driver.
  5. Both controllers have water level probes, the one has 4 channels and the other 6.

The boards are to a large extend very identical and most pins on the two boards has the same function.

The 4-channel boards performs perfect and reliable.

However, the 6-channel board was immediately extremely unreliable at power-up and freezes so much that it does not even start the sketch in the Setup void of the Arduino. I have checked that via serial monitoring as well as setting outputs to high in this block.

To make it run, it is a game of luck flipping the power switch off and on but once it runs, there are no problems at all.

So this morning after a night of no sleep about the problem, I decided to try one more thing:

What I did was to connect ONLY the Vin and ground pins of the Arduino to the header and it started every single time at power up.

Right, so I took a Nano and soldered only a header rail on the side with the Vin and all the AI's. Board started up perfectly every time.

Starting at the at other side, I then soldered only pins D0, D1 GND, Reset and D4 as those pins are not used. Unit started up perfectly every time.

So I started from the other end and solered pins D9, D10, D11 and D12. Unit started up perfectly every time.

I connected D2 and D3. Perfect.

And then came the luck. As soon as I connected D5, the board was 100% back to freezing at startup. I soldered the rest of the rails and took a brand new Nano and went through the same procedure. Once again, everything worked perfect until I soldered in D5.

So I took that Nano, cut out the D5 pin and it worked perfect.

What I find so strange, is that D% runs with a short track to a ULN2003A Input and the trouble is there just because the pin is connected. I removed the ULN2003A, same trouble. As soon as I plug in the Nano with the removed D5 pin, it works, plug in the full one and the trouble is there.

I even removed the 10K bussed resistor on the input of the ULN2003A as that is the only other path for the D5 pin to anything - in this case ground. It behaves exactly the same.

To put further pains into the mystery, I have rebuilt this PCB twice on a brand new blank and it behaves exactly the same. Yet the 4-channel boards runs super sweet.

This is the troublesome board with the problematic track in red.

The troublesome board with the D5 track in red.

And this is the one that works perfectly with the same D5 pin on that board connected to a ULN2003A pin

And the working board with the same D5 track in red.



Hi Andy, Could you help this?





I will look at this later today.

If you have not already done so, please either make your project public or share it privately with my username at EasyEDA.



In the meanwhile please check (2), (4), (5) & (6) in:




I have shared my project with [email protected] Hope this works.

Some feedback: I am using the Robotdyn Nano clone on my board and Over the past two years got great, reliable service from them.

However, this morning out of desperation I borrowed a cheap and nasty Nano clone from someone and for some reason that one works every time.

We have also put a megger on one of my blank boards and it shows no problems.


Test 2:

If I bridge over Pin D4 to Pin D5 on the PCB (with the Pin D cut on the Arduino) it also works. :)


If I bridge over Pin D4 to Pin D5 on the PCB (with the Pin D cut on the Arduino) it also works.

This is with your Robotdyn Nano clone?


Sorry but your schematic is hard to read and does not give enough information on its own to be very useful for diagnostic purpose.

You need to share both PCBs with me.

At present you have shared only:

enter image description here

In your schematic, the pin you refer to as D5 on the Nano appears to be not connected. Is this an edit you have made after creating the PCBs?

Did you add this track to the PCB after drawing the schematic?

Please provide schematics that match the PCBs.

Please note that if you are having this trouble with your external circuitry connected then you also need to provide a circuit diagram showing all of the off-board components and how they are physically connected (draw the cable assemblies as they are as in a wiring diagram, not as a simplified schematic. Note my distinction between a circuit diagram, a wiring diagram and a schematic in my link above) with descriptions and datasheets for them.

The schematic on it's own is just a bunch of connectors to off-board components so I have no idea what they are or how they are connected.


Andy, yes the problem is on the Robotdyn Nano and yes the fact that you now see the pin D5 to be not connected, is because I changed the PCB as a workaround.

I did not think about you having to check it and that the site is live before I made the changes. :(

This troubles occurs without the PCB connected to any external circuitry so that is not a factor at the moment.

Here is the link to the circuit diagram that match the board.


I have also shared the other project with you.

I have contacted Robotdyn too but since the trouble is only with a Robotdyn Nano and only on this board (I have used many of these controllers in the past and no similar problems) tells me that this might be a perculiar case of two PCB layouts that for some reason cause a clash.


Another point to note is that unlike relay K1, relays 1, 2, & 3 have no flyback diodes.

Probably not an issue at present but not good practice.


  • To save my time trying to diagnose this, can you create two shared or public projects please?

One with the one schematic and PCB pair and one with the second schematic and PCB pair.

At the moment I have access to two different PCBs and a number of schematics and I have no clear idea of which schematic goes with which PCB.


Andy, the ULN2003 already incorporates flyback diodes so it is made to switch inductive loads and for those with small current like the 10 mA ones, it is fine to depend on them.

I have added the flyback diodes on the large relay that does something like 40 mA.

The additional PCB's you see are really no big deal. One on each project is simply a face plate for the enclosure and it is not based on any drawing. Fully manually done. If you don't mind, there are many project I am willing to make private but not these ones.

The controller trips with or without the face plate plugged in.



My bad about the ULN2003: I should have checked the datasheet before I pointed this out.

Also my bad about the schematic/PCB associations. You have shared both projects with me. I only found one of them because instead of them both apearing listed one above the other in Shared with Me, one is in the middle of the list, the other is at the bottom, separated by other and much earlier shared projects! They're not in an obvious date or alphabetic order so I missed the one in the middle of the list.

I'll get back to you.


No problem Andy. I really appreciate your help.

Must say, I have used MANY ULN2003's and that is one bloody handy chip.

It can switch 0.5A per channel too.

i also have the Robotdyn guys checking out their PCB.


I have cloned your two schematics and PCBs and renamed them so that I know which is which, according to your original project names.

If you are concerned to keep these projects out of the public domain, can I suggest that we continue this conversation by email (which you have from sharing the projects with me)?


I suspect the issue is a power or signal integrity problem due to having one or more pins on the Nano board connected to external traces and/or pins that are left not connected and so maybe left floating on the Nano PCB and picking up noise.

The best I can do as part of the EasyEDA free support is to offer a few suggestions of things to try out.

Unfortunately, I don't know anything about the Nano board so I need you to do some digging to find out and hence give me as much information as you can about it.

Something that is confusing me is that in the two schematics, you have a Nano symbol with the same PCB footprint but the schematic symbols have some very different pin names.

Is this because they reflect their usage in each of the two applications?

Having different names makes it hard to cross refer between the two schematics and PCBs.

It might help just to refer to the pin numbers on the package but probably only if the pin functions are the same on each board.

There's also a problem in that in both projects, the SHIFT+X Cross Probe function does not work. I'm not sure if this is due to a bug in EasyEDA or because you have edited the PCB directly after converting the schematic to PCB instead of just doing any edits (like netnaming or package reassignment) only via Update PCB... or Import Changes....

Direct PCB editing outwith the Forward Annotation route shown in the EasyEDA Design Flow will almost certainly trash the Cross Probing functionality.


In your application, can you tell me what pins are configured as inputs, their approximate input resistances and capacitances and whether they have internal pullups/downs and if so what effective resistance or currents are they set to?

Also what pins are configured as outputs, if they are set as push-pull, open drain or open source (i.e an open drain but as a P channel high-side switch). Do any of them produce clock or other periodic output signals?

Do you have a schematic for the Nano Board showing things like on-board decoupling?


More questions:

What's the difference between the s/w on the two boards?

What's the difference between how the s/w behaves between the two boards given that there are some h/w differences?



It becomes more clear now why you have trouble evaluating the boards. First time I had to really ask for support so I need to keep that in mind for future designs.

Yes, the pin description for each Nano is different and represents the function and since the PCB pin and SPICE pin description is not related to the Nano pins, there is no reference without a table.

I renamed the pins by simply double clicking on the text. SHIFT-X I have not used before.

Would you prefer for example if I subscribe to the Professional EasyEDA version and the do it via email? If that will help a bit to fund your support I would gladly do that. After all, EasyEDA is not a toy for me any more. This is indeed now my first serious intent to make a full production board.


Hi koosjr,

Information on your project.

First, you need to provide the information I asked about in my two posts above. A datasheet that describes the pin functions for the Nano module that you are using should help but you'll need to allow for how the software sets up I/O pins.

Some quick and rough notes to try to help you diagnose the problem.

  1. Do not leave pins connected to lengths of track or wire floating (i.e. without pulling them up or down using suitably valued resistors. 100k to 1M helps reduce sensitivity to interference but may significantly affecting normal operation when connected to the external circuitry depending on what that external circuit actually is).

  2. All supply pins into a board from an external supply should have at least 10uF, preferably 100uF, to ground at the point of entry to the board.

  3. Supply pins at each device should be decoupled to ground by a ceramic capacitor of about 100nF. These decoupling caps should already be present on the Nano module but it might pay to visually check your modeuls and also their schematics if you can get copies.

  4. Check that as the supply for each board comes up monotonically (it doesn't rise then drop down before continuing to rise to its final value). You will need access to an oscilloscope to see this. Non-monotonicity produces dips in a supply that can cause havoc in the initialisation of logic chips and the boot-up of processors.

  5. Ensure that all zener diodes have current limiting resistors in series with them from their supplies to the diode cathodes (unless supplied from current sources).

  6. Ensure that all bipolar transistors have current limiting resistors in series with their bases (unless supplied from current sources).

Paying for more help:

EasyEDA does not yet provide design services (design/support/review) yet EasyEDA so whilst paying for a Professional Subscription would certainly help keep EasyEDA afloat it will not buy you the support you are looking for.

As part of the EasyEDA Team I can offer such a service via my personal website:


but that is not a free service.

If you would like to discuss this, please contact me via the website but please bear in mind that I cannot offer much immediate help as I am fully committed for the next 2 weeks or so.



Thanks a lot for the chips. I got some feedback from Robotdyn, but it was a bit blunt stating that the problem is not with them.

Regarding the tips you provided, my comments as follows:

  1. I agree. My I/O pins which are not connected are all configured as "input pullup" which means it is pulled high by the internal resistor of the Atmega chips. If it is an output, then I have a resistor pulling it to ground if it is switched off.

  2. Generally, I do optooupling for all my Inputs and I use a DC-DC converter to isolate the earths either side of the optocoupler. In this case, my external probers are switching the Arduino input through a transistor which has both a base resistor and a 1 uF cap on the base.

  3. Decoupling on this Nano has been checked, but yes if I use a chip on it's own, all the power pins are decoupled.

  4. I have checked the power input with the scope. I could see no difference between the 4-channel and 8-channel boards in terms of startup wave forms. What you describe as monotonic, I reckon I have that.

  5. Yes, Zeners for limiting voltage all has a resistor in front.

  6. Yes, my transistors all have base resistors.

For the moment, I have decided to make a workaround and reconfigure my boards to use pin D4 instead of Pin D5 as my controller is now running for a week without problems. Starting up each time.


Generally, I do optooupling for all my Inputs and I use a DC-DC converter to isolate the earths either side of the optocoupler. In this case, my external probers are switching the Arduino input through a transistor which has both a base resistor and a 1 uF cap on the base.

I won't have much access to a PC for the next 2 weeks, just a smartphone which is useless to look at schematic and PCB files in.

Could you do a little job and draw an example of any one of these inputs and then post an image up here?

Or email it to me directly.

I have a suspicion about how these might be wired which I can't check in you schematics.


If your workaround is ok, then that takes at least some of the pressure of you.



Here is the typical inputs I have on this controller. I simplified it to one channel, but there are either 4 or 6.

In this case, what this circuit does is to make a tiny AC current to send through a water level probe. If the probe touch water, all that happens is that the gate voltage of the transistor goes low and it switch off.

enter image description here


I may be coming in late to the party here, but from what I have read, it really sounds like you should
check your power supply closely. Put a scope on it, and set the trigger to both a couple volts above nominal voltage, and below, look for spikes, or more likely sags that would cause your lock-ups. They might be happening quite fast, and therefore be hard to see without careful O-scope set-up to capture the potential dips or spikes.
I am not sure what you are powering the circuit with, but if a switching supply, I would suggest a Analog lab type
power supply, operated in parallel mode if it is a dual supply with a tracking mode like mine has. thereby doubling the current capacity to a solid 6 amps. Inrush current surges can really tax a P.S. especially if it is fast current surges on a switching supply. Especially a circuit with a micro-controller in it, as well as relays that momentarilly look like very low impedance, then give a negative surge, even if using the diodes on them, a .6V negative surge. it seems the most plausible issue from the info given.
The caps on turn on are also a near short to the P.S. You could try a NTC inrush suppressor.
I'd bet my last dollar it's power supply related somehow. (not necessarily whats coming from the wall, but something on the board).
Food for thought.





Add Comment
你现在访问的是EasyEDA海外版,不推荐使用,我们已经建立访问速度更快的中国区数据中心 https://LCEDA.cn
如果你已经有EasyEDA账号,请使用谷歌浏览器访问 https://easyeda.com/applyForLceda 进行数据迁移到中国区数据中心。
有问题联系QQ 3001956291 不再提醒