Arduino to Breadboard: How to do a reset via RTS/CTS

Dear Arduino Community,

on the official Arduino Page there is a guide explaining how to put a fully working Arduino onto a breadboard.
Link: http://arduino.cc/en/Main/Standalone

I followed all the steps there with one difference. Instead of this "USB to Serial breakout board" from Adafruit

I used this one

because it is much smaller and could be integrated in my final product more easily.

In the guide, the author uses four pins only to connect the "USB to serial breakout board" to the ATMEGA:

Sice the 4 pins that are used (VCC, GND, RX, TX) are available on my smaller "USB to serial breakout board" it is no problem to connect the two. There is only one problem. Whenever I upload a program to the ATMEGA, I have to press the reset button manually. This is anoying, because there is only a small time window for pressing it. And I have have to upload frequently during the software development steps.

The obvious solution would be to let the "USB to serial breakout board" automatically reset the ATMEGA when the upload starts. I found the following guide on how to allow for this automatic reset here: Arduino programmer on breadboard using FT232RL - BuildCircuit.COM.

It seems that my "USB to serial breakout board" needs the pins RTS and DTR but it only has CTS and DTR. Is it possible to get automatic resetting with the CTS instead of RTS?

Thank you very much!

Connect DTR to the reset pin via a 0.1uf condenser. CTS is not needed and can be left disconnected, as it is a signal in the other direction.

Hello Evildave_666,

thank you very much for your fast reply. Your solution sounds very simple.

Just to be sure, I added an adjusted circuit. I would be very happy, if you could have a quick look, if it is correct:

Compared to this circuit,

I only left out the 100 Ohm resistor (or is 100R = 100 kilo Ohm?). Do you know what this resistor would be good for and why I can leave it out?

MegaMatze2:
Hello Evildave_666,

thank you very much for your fast reply. Your solution sounds very simple.

Just to be sure, I added an adjusted circuit. I would be very happy, if you could have a quick look, if it is correct:

Compared to this circuit,

I only left out the 100 Ohm resistor (or is 100R = 100 kilo Ohm?). Do you know what this resistor would be good for and why I can leave it out?

I think it is unnecesary to connect your usb breakout rst to arduino's rst, thus the resistor and the connection is unnecesary. Only DTR matters for auto-reset feature.

100R is 100 ohm.
100K is 100 Kohm.
A 10K pullup from Reset to +5 is needed to "recharge" the 0.1uF cap after the DTR signal discharges it to create the reset pulse.

IT WORKS !!! ;D ;D ;D

I love you boys.

I guess there are others like me, who want automatic reset.
Maybe it is a good idea to add one sentence to this tutorial:

I would do that. But I don't know how to edit the page.

Glad you got it working.
We don't have privileges to edit that page.

I created a Frizing picture of my final design.

In case anybody reads this page in the future and likes to see the result, I uploaded it here:

Your condensers from the crystal are going to Vcc, not ground.

The connection to ARef doesn't look right either.

Need 0.1uF caps from VCC, AVcc, and Aref to Gnd too.

CrossRoads:
Need 0.1uF caps from VCC, AVcc, and Aref to Gnd too.

I understand it this way:

  • Put 0.1 uF between VCC of the "USB to Serial breakout board" and the +5V of the Atmega.
  • Put 0.1 uF between Gnd of the "USB to Serial breakout board" and the Gnd of the Atmega.

I indicated the two capacitors as blue triangles in the figure.

Is this interpretation correct?

Thank you very much.

MegaMatze2:
I understand it this way:

  • Put 0.1 uF between VCC of the "USB to Serial breakout board" and the +5V of the Atmega.
  • Put 0.1 uF between Gnd of the "USB to Serial breakout board" and the Gnd of the Atmega.

I indicated the two capacitors as blue triangles in the figure.

Is this interpretation correct?

Thank you very much.

No.

Put 0.1 uF between VCC and GND of both Atmega and USB to serial breakout board.

It's called a "decoupling capacitor", you should read its definition and you'll understand its purpouse. It is used in most electronic circuits.

Dear mart256,

thank you very much for this clarification. You meen like so:

But I already have this capacitor between Gnd and +5V. It is located in the top right of my board (see the arrow in the next image).

Isn't that enough?

That connection is right (place it as close as possible).

MegaMatze2:
Isn't that enough?

One would think that is enough, but between that cap and the breakout board there's an electric trace which may be interferred by electronic noise. That's why it is recommended to place a decoupling cap for each IC supply and to place it as close as possible to it.

In other words, place a cap at the beginning and at the end of the road.

Ah 8)

Now I got it.

So I have to place such a "noise reduction" capacitor next to the 7805 power regulator, the atmega and the usb2serial. Where "next to" really means as close as possible.

I have the new final circuit in the picture below. Note that I rewired the red wire right of the atmega, to have its two +5V connections "more close" to a capacitor. There are 3 of the 0.1 uF capacitor now.

with

By the way, does it make any difference, whether I use ceramic capacitor for the 0.1 uF or Electrolytic capacitor?
In fact I have one ceramic and two Electrolytic :smiley: .

MegaMatze2:
By the way, does it make any difference, whether I use ceramic capacitor for the 0.1 uF or Electrolytic capacitor?
In fact I have one ceramic and two Electrolytic :smiley: .

I've read electrolytic do have higher failure rates, other than that I wouldn't know.

Your condensers from the crystal are still going to vcc, not ground. And Aref is still wired wrong

For those who read this post in the future, I attached the final plan to this post.

Thanks to all of you, again!

MegaMatze

Oh damn, I just recognized that there was one more post. I rewired the cristalis capacitors, but I missed the last part of your post.

evildave_666:
Your condensers from the crystal are still going to vcc, not ground. And Aref is still wired wrong

What do you mean by "And Aref is still wired wrong"?
Sorry that I don't get it :frowning:

You have Aref, pin 21, connected to AVcc, pin 20, to +5.
Aref should Only have a cap connecting it to Gnd. The cap should be near the pin.

Avcc should connect to +5, and have a cap to Gnd. The cap should be near the pin.

Vcc should connect to +5, and have a cap to Gnd. The cap should be near the pin.