Running a Picaxe at 3.3v is it still 5v tolerant?

steliosm

Senior Member
Hello all.

I'm creating a little project in which I have a Bluetooth module that requires 3.6v to 6v but its RX its rated at 3.3v. I'm planning to run the Picaxe at 3.3v, in order to avoid having to use level shifting. Just out of curiosity, if I connect the Picaxe inputs to another chip running at 5v to receive, e.g. serial data, will I have an issue with the pins on the Picaxe receiving data at 5v? I would guess no, since the silicon is rated for 5v, but better be safe than sorry :)
 

AllyCat

Senior Member
Hi,

will I have an issue with the pins on the Picaxe receiving data at 5v?
The PICaxe (like almost every CMOS ic) has "Electrostatic" Voltage Protection diodes between (all) input pins and their supply rail. If you actually apply 5 volts to any of those pins, the diodes will "Phantom Power" the supply rail up to around 4.4 volts.

However, all that should be necessary is to connect a resistor of perhaps 22k in series with each input, to limit the current that can flow into the pin. That's basically the purpose of the 22k resistor in the PICaxe programming interface circuit.

Cheers, Alan.
 

inglewoodpete

Senior Member
Hi,
The PICaxe (like almost every CMOS ic) has "Electrostatic" Voltage Protection diodes between (all) input pins and their supply rail. If you actually apply 5 volts to any of those pins, the diodes will "Phantom Power" the supply rail up to around 4.4 volts.

However, all that should be necessary is to connect a resistor of perhaps 22k in series with each input, to limit the current that can flow into the pin. That's basically the purpose of the 22k resistor in the PICaxe programming interface circuit.
Depending on how much current the PICAXE draws to drive any loads it might have, 22k might not be enough to stop the PICAXE running on phantom power. 22k will limit the current from a 10 or 12 volt source (like RS232 on the programming lead) to a non-destructive level but it won't necessarily let the PICAXE (or any PIC) shut down.
 

steliosm

Senior Member
Thank you for your replies.

Although I was not able to fully interpreter every bit of your explanations, e.g. phantom power, it seems to be that I would either need a resistor between the pins or find a suitable module to run at 3.3v.

I think I had a 'phantom power' issue at some point, then I connected a 5v Picaxe Tx to a DFPlayer mini module Rx and the module started doing weird sounds on the speaker. The DFPlayer pins are supposed to be 3.3v. A 1K resistor fixed this issue.
 

steliosm

Senior Member
Thank you all for your suggestions.
Still, the main question is not how to do it, but if the chip is 5V tolerant when running at 3.3v
 

hippy

Senior Member
Still, the main question is not how to do it, but if the chip is 5V tolerant when running at 3.3v
No it is not 5V tolerant.

Digital input pins are rated for absolute maximum voltages of -0.3V to VDD+0.3V. Applying 5V direct to an input would exceed the absolute maximum voltage (3.6V) when VDD is 3.3V
 

AllyCat

Senior Member
Hi,

if the chip is 5V tolerant when running at 3.3v
If you apply a "solid" 3.3 volts to the PICaxe supply rail and then connect an equally hard 5 volts to an input pin, then you will probably destroy the internal protection diode (or worse). So no, in this case the device is NOT 5 volts tolerant.

However, including a current-limiting resistor in series with each input pin should be sufficient in most cases (and cheaper than an interface chip). But exact details will depend on the number of pins and the actual supply voltages and currents, etc. in the circuit.

Cheers, Alan.
 

steliosm

Senior Member
OK, I think this is pretty clear now, thank you Alan.
I will probably use a resistor between the pins to try to keep the chip safe, as all of you recommended.

Thank you again for your answers.
 

westaust55

Moderator
In those few cases where I have connected a higher voltages (eg 14 to 16V) via a resistor to a PICAXE pin, or other TTL type chips, I have used a 33 kOhm resistor plus two BAT85 diodes - one from ground to the input and the second from input to the PICAXE supply voltage.
This in preference to relying upon the PIC's internal ESD diodes.
 

hippy

Senior Member
I will probably use a resistor between the pins to try to keep the chip safe
That is the commonly chosen solution, using the internal clamping diode to keep the chip safe, the current limiting resistor keeping the input current low enough to not pull the pin to a damaging voltage level.

PICAXE chips have clamping diodes rated at 25mA so this solution can be used where it may not be suitable for other micrcontrollers.

An alternative is to use an external diode as westaust55 suggests. Note the diode used should have a lower forward voltage drop than the internal diodes, hence westaust55's use of BAT85 type diodes.

Another alternative is to create a resistor divider so the voltage presented to the pin cannot exceed the VDD voltage. This is often the preferred solution by many, especially those concerned about relying on a current limiting and clamping diodes.

The other solution is to use voltage translation components but those are usually more expensive than using passive components.
 

fernando_g

Senior Member
In those few cases where I have connected a higher voltages (eg 14 to 16V) via a resistor to a PICAXE pin, or other TTL type chips, I have used a 33 kOhm resistor plus two BAT85 diodes - one from ground to the input and the second from input to the PICAXE supply voltage.
This in preference to relying upon the PIC's internal ESD diodes.
That is also my recommendation,
If one can solder a SMT package, the BAT54S, contains two diodes in a single package, is designed to be used for this purpose. Make sure you get the S version, there are BAT54A, BAT54C and plain BAT54 variants whose diodes are connected in different configurations.
 

steliosm

Senior Member
It is nice to see all those available solutions for a frequent issue among uC and other IC components.
Is there a book I could read where this kind of common practices (clamping diodes, resistor deviders for TTL level dropping, etc.) are documented?

Thanks,
Stelios
 
Top