Go Down

Topic: Using an Arduino Uno with the mega328 removed to program a 3.3V target board (Read 371 times) previous topic - next topic

jerseyguy1996

I have a target board that will be powered at 3.3V but I would like to program it using an arduino uno with the mega328 removed.  The mega328 on the target board has a bootloader on it.  I don't want to power the target board from the USB power because I have a number of 3.3V devices connected to the Vcc rail.  So basically I would have the Arduino Uno (sans mega328) being powered through the USB at 5V and the target board powered at 3.3V with grounds connected.  If the mega32u4 on the Uno is sending the bits over at 0 - 5 volts will it screw up the mega on the target board given that Vcc will be 3.3V?
Arduino Uno;
Mega328

retrolefty

Quote
If the mega32u4 on the Uno is sending the bits over at 0 - 5 volts will it screw up the mega on the target board given that Vcc will be 3.3V?


Yes. The 5vdc signals (clock and data out) will cause the input protection diodes to conduct on the 3.3vdc powered target chip. So means must be taken to limit the voltage of the control signals to the same as the Vcc voltage of the target chip, via voltage divider resistors or voltage translation IC, etc.

Lefty

jerseyguy1996


Quote
If the mega32u4 on the Uno is sending the bits over at 0 - 5 volts will it screw up the mega on the target board given that Vcc will be 3.3V?


Yes. The 5vdc signals (clock and data out) will cause the input protection diodes to conduct on the 3.3vdc powered target chip. So means must be taken to limit the voltage of the control signals to the same as the Vcc voltage of the target chip, via voltage divider resistors or voltage translation IC, etc.

Lefty



I ended up just throwing a 10K resistor on the Rx line of the target board to limit the current going through the input protection diodes when they conduct.  It seems to be working....i.e. no dead pins or smoke...yet.  I seem to remember reading somewhere that you can do this.  Am I wrong, because if I am then I have to rethink another part of my circuit where I have the unregulated LiPo battery voltage going to an ADC pin?
Arduino Uno;
Mega328

retrolefty



Quote
If the mega32u4 on the Uno is sending the bits over at 0 - 5 volts will it screw up the mega on the target board given that Vcc will be 3.3V?


Yes. The 5vdc signals (clock and data out) will cause the input protection diodes to conduct on the 3.3vdc powered target chip. So means must be taken to limit the voltage of the control signals to the same as the Vcc voltage of the target chip, via voltage divider resistors or voltage translation IC, etc.

Lefty



I ended up just throwing a 10K resistor on the Rx line of the target board to limit the current going through the input protection diodes when they conduct.  It seems to be working....i.e. no dead pins or smoke...yet.  I seem to remember reading somewhere that you can do this.  Am I wrong, because if I am then I have to rethink another part of my circuit where I have the unregulated LiPo battery voltage going to an ADC pin?


Yes using a series resistor that limits current to the maximum rated value of the clamping diodes or less (1ma? not sure) is an effective way. Either Atmel or PIC once had a application note showing how one could wire 120VAC directly into a input pin via a series resistor (some megohms? I forget) to use as a zero crossing detector. While that certainly isn't recommended for other safety/code requirement reasons, it does show that one can sometimes utilize voltages above or below the Vcc and ground of a AVR chip wired to it's I/O pins if one knows and understands what they are doing.

Lefty

jerseyguy1996

Quote
showing how one could wire 120VAC directly into a input pin via a series resistor (some megohms? I forget) to use as a zero crossing detector.


That's really cool!
Arduino Uno;
Mega328

Go Up