Pages: 1 [2] 3 4 5   Go Down
Author Topic: please add a jumper to disable auto reset  (Read 39389 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
God Member
*****
Karma: 1
Posts: 513
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Umm, can't you just d ike the reset cap?  It would probably be the most rewarding part of someones day smiley-grin



edit, or just cut the reset trace, and wipe something green (or blue or whatever) on it if you are really worried about appearances.
« Last Edit: June 30, 2008, 08:37:02 pm by dcb » Logged

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
one thing that would work pretty well would be to use one of the FT233RL bitbang pins instead of the DTR pin...

that sounds like a sensible hardware/software solution.
still it would need a change of the pcb too and adds some (maybe minor) complexity on the configuration side. if the "new" auto reset were included within the ide, users would not have to deal with it themselves, hopefully.
unfortunately I'm not quite sure what this would do to backward compatibility.

I still favour the jumper though, hardware only, no change in software ;-)
Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

0
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I like LadyAda's bitbang pin solution, as it would do nothing in the face of "standard" serial port connections on "typical" systems (whatever those are).  I don't know how portable it would be, though, and in my mind one of the Arduino's biggest selling points is the cross platform support.

The FTDI bitbang solution would require some Arduino PCB support (or some field expedient "ECO upgrades") as well.  If you're going to change the board, might as well just add the jumper and leave the software alone...

Maybe make the jumper small and unobtrusive, like the little solder-bridge type jumpers that don't even require a PTH?

Hmm, on an alternative note, is there some way to disable the handshake pins in the FTDI chip using the FTDI tools?

-j

Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 513
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Hmm, on an alternative note, is there some way to disable the handshake pins in the FTDI chip using the FTDI tools?

Hmm... Could probably disable the FTDI rts and/or dtr pins with a little 50 volt tap on it too, wouldn't even leave a mark smiley  Might take out pin 1 on the atmega too, but don't know if that matters for this application.  Could ground pin 1 also to keep it safe too.  Depends on the exact board in question.

http://www.arduino.cc/en/uploads/Main/Arduino-Diecimila-schematic.pdf

Is that still a software solution?  You are basically sending a signal to the fdti chip to tell those pins "you die now!" smiley-wink

« Last Edit: July 01, 2008, 11:24:01 am by dcb » Logged

Forum Administrator
Cambridge, MA
Offline Offline
Faraday Member
*****
Karma: 11
Posts: 3538
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I like ladyada's FTDI bitbang idea too.  Changes to the software can be good things, since it's much more flexible than the hardware.  

Another idea is a solder bridge, so that it would be relatively easy for advanced users to unsolder the connection, but a beginner would never even need to know it was there.  Thoughts?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Not sure this is relevant, but was able to prevent this reset by setting the DTR within a perl script I was using.  Hopefully this will help somebody with a similar problem talking to the Arduino with perl.

-Dave
---------------------------

#!/usr/bin/perl

use strict;
use Device::SerialPort;


my $port = Device::SerialPort->new("/dev/ttyUSB0");
$port->databits(smiley-cool;
$port->baudrate(9600);
$port->parity("none");
$port->stopbits(1);
$port->dtr_active(0);

sleep(1);

...
Logged

Forum Administrator
Cambridge, MA
Offline Offline
Faraday Member
*****
Karma: 11
Posts: 3538
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Also, regardless of the solution we find, does anyone want to write up a tutorial on unsoldering the auto-reset capacitor?  It could fit nicely in the board setup and configuration section of the playground, and then I can move it over to the hacking page on the main site.
Logged

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I could rig something up, as I removed it recently on my board.
Also it's still quite easy to get code uploaded onto the arduino, at least with the bootloader flashed to my chips.
I wrote a manual for the device I built, so there's a working procedure for that.

We should also add all the other known options to disable DTR that _currently_ work, like the perl code mentioned here and stty settings in linux.

Edit: just started a stub: ( Building and Modifying Arduino type boards ... )
« Last Edit: July 08, 2008, 03:50:24 pm by madworm » Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Forum Administrator
Cambridge, MA
Offline Offline
Faraday Member
*****
Karma: 11
Posts: 3538
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ladyada: have you used libftdi?  Does it run under Windows?  Do you know if the bit bang pins default to inputs or outputs (or if the mode persists through power loss)?  It could be a problem if you had to explicitly set the bit bang pin used for reset to an input every time you powered up the board.  Also, reading through the documentation, it wasn't clear to me which function actually set the states of the bit bang pins (I didn't spend much time on it); do you know?
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 205
Don't Panic
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Do you know if the bit bang pins default to inputs or outputs (or if the mode persists through power loss)?  It could be a problem if you had to explicitly set the bit bang pin used for reset to an input every time you powered up the board.  Also, reading through the documentation, it wasn't clear to me which function actually set the states of the bit bang pins (I didn't spend much time on it); do you know?
The pins can be set to bit-bang mode through the FTDI programming tool. It needs to be burned once into eeprom only once through the programming tool.
See MPROG from http://www.ftdichip.com/Resources/Utilities.htm
Logged

iDuino - MaxSerial - [url=http://spi

Forum Administrator
Cambridge, MA
Offline Offline
Faraday Member
*****
Karma: 11
Posts: 3538
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Right, but the question is whether or not we can toggle an individual bitbang pin on every upload, from the Arduino IDE.  And, if you're not using the Arduino IDE whether you'll need to explicitly set the pin to an input, say, to un-reset the ATmega.  Anyone know any more?
Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 513
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Any thoughts about Serial boards?  

What about onboard USB->ISP?
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 239
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
ladyada: have you used libftdi?  

no

Quote
Does it run under Windows?  

it doesn't have to, for windows theres already a library

Quote
Do you know if the bit bang pins default to inputs or outputs (or if the mode persists through power loss)?

no, i haven't used it so i dont know. According to the app note for bit bang mode:
http://www.ftdichip.com/Documents/AppNotes/AN232R-01_FT232RBitBangModes.pdf
when the bitbang mode is enabled thru the driver, the direction is also set.


Quote
Also, reading through the documentation, it wasn't clear to me which function actually set the states of the bit bang pins (I didn't spend much time on it); do you know?

According to the app note for bit bang mode:
http://www.ftdichip.com/Documents/AppNotes/AN232R-01_FT232RBitBangModes.pdf
and D2XX driver app note
http://www.ftdichip.com/Documents/ProgramGuides/D2XXPG34.pdf

Quote
FT_SetBitMode CBUS Bit Bang mode is enabled using the FT_SetBitMode command. A
value of 0x20 will enable it and a value of 0x00 will reset the device mode.
Note that the CBUS pins must also be configured for CBUS Bit Bang in the
FT232R EEPROM.
FT_SetBitMode also provides the means to write data to the CBUS pins.
The upper nibble of the Mask parameter controls which pins are inputs or
outputs, while the lower nibble controls which of the outputs are high or low.
FT_GetBitMode FT_GetBitMode returns the instantaneous value of the pins. A single byte
will be returned where the lower nibble contains the current values of the
pins, both those which are inputs and those which are outputs.
For example:
Set all pins to output with bit 0 high: FT_SetBitMode(Handle, 0xF1, 0x20)

you can also download a lot of example code & libraries, documentation, etc. on the FTDI site
http://www.ftdichip.com/Projects/CodeExamples.htm
http://www.ftdichip.com/Projects/CodeExamples/OtherPlatforms.htm
http://www.ftdichip.com/Documents/ProgramGuides.htm

if you have any more questions about bitbang mode i'd ask FTDIchip, they have a tech support email addr
http://www.ftdichip.com/FTContact.htm
Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 513
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

FYI, I just tried another little experiment (modified)

I took a 110 ohm resistor and connected the arduino 5v pin to the reset pin, jumper style.  They are close together.

Guess what?  No more com port resets smiley

Remove the jumper resistor and com port resets resume.

The 110 ohm resistor is just enough to keep the reset pin high (2.38v) when the ftdi chip tries to pull it low, and limits the current through the ftdi pins to 24ma*.  

It also limits the current through the reset switch to 45ma.

for reference:
http://www.arduino.cc/en/uploads/Main/Arduino-Diecimila-schematic.pdf
http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf

I don't know that I would trust it with an isp conected either.  But it seems to be a simple "jumper style" solution, just have to make the jumper out of a 110 ohm resistor with some nice thick leads that fit the in the headers nicely.

*24ma is the limit on the ftdi rts/dtr pins, if I'm reading the datasheet right.  Don't go below 110 ohms.  I think you can go up to 124 ohms before it will start resetting anyway.
« Last Edit: October 24, 2008, 07:35:19 am by dcb » Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 513
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

also, a 47 ohm resistor between 3.3v and reset seems to prevent serial resets.  It's a more common value and leaves the 5v pin open.  

But if you hit the reset switch it it will draw 70 ma from the ftdi 3.3V port while the switch is closed, and the datasheet lists 50ma max.  I tapped my reset button a few times with this configuration and the magic smoke stayed put, and upload still worked when I pulled out the resistor, but I can't really recommend the 47 ohm if you are planning on using the reset switch.

« Last Edit: October 23, 2008, 11:22:09 pm by dcb » Logged

Pages: 1 [2] 3 4 5   Go Up
Jump to: