You cannot have an Arduino reset itself by connecting a GPIO line to the reset pin and driving it low. This is specifically warned against in the datasheet, it doesn't guarantee a clean reset (presumably, after the reset happens, the pins get tristated before the reset pin has been asserted for long enough to guarantee a correct reset).
However, I red somewhere, but I can not find it back, it would be better to have a 10k resistor between the pin 4 and rst of Arduino.
Actually, that would make things worse.
There is a 10K pull-up resistor on the reset. With another 10K resistor between the low-out and the reset line, you have a voltage divider with 1/2 of Vcc on the reset line, instead of pulling the reset fully to ground.
Pin 4 of the ATmega chip is Vcc, so the pull-up resistor that's already on the Arduino board is connected to pin 4 of the chip. Perhaps that's what you remember reading?
DrAzzy:
You cannot have an Arduino reset itself by connecting a GPIO line to the reset pin and driving it low. This is specifically warned against in the datasheet, it doesn't guarantee a clean reset (presumably, after the reset happens, the pins get tristated before the reset pin has been asserted for long enough to guarantee a correct reset).
I've done it before with a cheap-n-dirty pulse stretcher (see pic).
The right hand diode pulls the cap down and the cap holds reset low long enough for the AVR to reset. The left hand diode keeps the capacitor "off of the reset line" so that the AVR can internally detect where reset came from like it's supposed to.
Another alternative would be something like a Dallas DS-1233 CPU supervisor which has (among other features) an internal debounce circuit and a 350 ms delay (it holds reset low for 350 ms when it's triggered by an external switch of when VCC comes up to tolerance).