USB & ICP board mosfet question

USB & ICP board mosfet question
« on: March 08, 2013, 07:36:43 AM »
Why is Q1 needed and how does it work on the Tinyshield USB & ICP board? I'm not that familiar with fets but I think its something like, when VIN is high, USBVCC and +5V will be the same voltage. Shouldn't the +5V off the USB connector always power everything?


Re: USB & ICP board mosfet question
« Reply #1 on: April 11, 2013, 09:35:54 PM »
I think what is happening with that transistor is that when VIN is grounded or left floating (in which case R3 pulls it low), Q1 is closed circuit (FETs are normally closed, the opposite of BJTs). Since USBVCC is connected to the USB connector, then the +5V net will effectively be connected to +5 power supplied by USB (if plugged in to a USB power source). When VIN goes high, the FET is open circuit and the +5V rail is no longer connected to USBVCC source. This would agree with the notation in the ISP Shield spec that says "Will supply +5V to the system if VIN is not present". It looks like nothing is normally connected to VIN (pin 10 on the shield connectors), so unless you go out of your way to apply a voltage to that pin, +5V will always be live (if connected to a USB host or hub).

I think maybe the purpose of the VIN signal is if you wanted to provide your own +5v power source, and keep it isolated from the USB link. Like maybe if you needed to drive more amperage than you want to pull from the USB source (i.e. anything over 500mV). In that case, you could just wire your power source to the +5V net (pin 8 on the shield connector) and pull VIN high (pin 10 on the connector). Or if you needed a non-standard voltage such as 4v.

Then there is a power module on the Processor unit that appears to select either VBATT or +5V as the VCC source to power the microcontroller (also used as analog and I/O reference voltage). What it looks like is happening in that module is that VBATT is used for VCC unless +5V is there. If +5V is present, then the top half of Q1 (not the same as "Q1" in the ICP board!) is suppressed, which closes off VBATT from VCC, leaving +5V attached to VCC.

VBATT is of course 3v since it is a coin cell, so it seems like the system can end up running on either 3v or 5v, depending upon which power source(s) are hooked up. For the MCU that's OK, but it also means that peripherals would also need to be able to handle both +3 and +5 volts I think? That seems wrong - wouldn't the voltage jumps potentially cause unexpected behaviors... such as overdriving LEDs (or worse)?

Another thing that looks odd is that we have a +3v3 pin on the connector (pin 6), but I don't see where this is used or supplied anywhere? Pin 16 of the FT232R chip has 3v3 output via LDO regulator, but that can only drive up to 50mA, and it doesn't show as being connected to that net anyways. So that seems a little bit weird.

Re: USB & ICP board mosfet question
« Reply #2 on: April 16, 2013, 11:07:49 PM »
I really need to put a good description on this on the website under the product pages, so I apologize for the confusion.  Here's a brief overview of the power architecture on the TinyDuino / USB Shield:

The are 5 power supply rails that are supported on the TinyShield connector, however some of these are for legacy reasons or for future boards, and aren't used with the current generation of TinyDuinos.  VIN, +5V,+3V3, IOREF (which we also call VCC) are rails that are supported on the standard Arduino, and we add a VBATT rail for the TinyDuino.  The TinyDuino processor and TinyShields don't currently use VIN or +3V3, but these could be supplied later with a power adapter TinyShield.  On the standard Arduino, VIN is 7 - 20 V (or roughly around that range), and is used to create the +5V and +3V3 supplies.  It's assumed that if VIN is present, then a power adapter TinyShield is supplying power to the +5V and +3V3 rails.  Using this architecture, it's possible to interconnect TinyDuino and standard Arduino boards (we may eventually have an adapter for this if there is interest). 

VCC is the power rail that the main processor and the voltage the I/Os of the processor run at.  The TinyDuino processor boards supports two options for supply the VCC power:  VBATT is the battery voltage, and can range from 2.7V to 5V.  The +5V rail can also be used.  The power circuitry on the TinyDuino processor board (namely Q1 and Q2) controls which one is used, these transistors form a basic Ideal Diode circuit, and will supply the higher voltage to VCC (without a diode drop), by switching the appropriate FET on. 

So basically the TinyDuino will run on VBATT, unless +5V is present.  If so, it will run off of the +5V supply and not draw power from the battery. 

+5V could come from multiple places, such as an external power supply TinyShield, or from the USB TinyShield.

On the USB TinyShield, the transistor Q1 serves the purpose of not connecting the USB supplied +5V to the TinyShield connector unless VIN isn't present.  If VIN is present, then we are assuming there is an external power supply attached that is supplying +5V already. 

Again, I apologize for the lack of documentation about this, we are planning on creating and posting all this.  But in the meantime if you have any other questions, please just ask in the forums.



The TinyDuino processor board uses two voltage rails, +5V and Vbatt.

Re: USB & ICP board mosfet question
« Reply #3 on: April 17, 2013, 02:39:48 PM »
Is the power supply shield something that is coming? I don't recall seeing anything like that mentioned before (but it makes sense to have one, especially if it utilizes an external LiPo battery.

And am I correct in interpreting this correctly - that when a coin cell battery is in use (and no "power shield" or USB/ICP shield is present), the only energized rail would be VCC (and BATT I guess), but it could be as low as +2.7v? So if we need to run anything sensitive enough to care about the difference between 3v and 5v then we would need either a secondary regulated power source or add a boost converter?

Re: USB & ICP board mosfet question
« Reply #4 on: April 17, 2013, 08:07:39 PM »

We are planning on a power shield, which would allow an external power supply to be used (like a wall wart). 

You are correct about the coin cell - if you have a shield that needs higher voltage than this, you need a different power source.  Keep in mind that the coin cell option is for low power type applications since a coin cell is fairly limited in the amount of power it can deliver.  Keep in mind that you can always just supply external power to the VBATT pins on the TinyDuino (there are two solder holes in the bottom right of the board), so you can easily hook up a larger battery pack and not use the coin cell, and have much more power available.



Re: USB & ICP board mosfet question
« Reply #5 on: June 30, 2013, 12:21:47 AM »
Well, as someone who would like to cobble together a datalogger, with the tiny accelerometer shield, and the tiny microsd card shield and a proto board (currently need for the rtc interupt, but will be populated later with sensors once the tiny RTC board is available)

What voltage range can we supply at VBATT, to keep the whole stack at a happy operating range (assuming that the USB shield is disconnected when the unit is in the field and the RTC is has its own power ) Am I within operating tolerances for the whole stack with a simple set of 3AA Alkalines (~ 4.5 V) on the Vbat pins?
« Last Edit: June 30, 2013, 10:38:12 PM by EKMallon »

Re: USB & ICP board mosfet question
« Reply #6 on: June 30, 2013, 11:04:14 PM »

All of the TinyShields are currently being designed to run from 3.0 - 5.0 Volts, and will have local power supplies and level translators.  There may come a time later on where there is some shield that would require more than 3V, but that's not the case yet with any of the boards we've designed (including all of the new boards - WiFi, Bluetooth, GPS, etc).  One of our design goals with the TinyDuino system to eliminate the voltage different issues that tend to be a problem with a lot of existing Arduino shields.

For power, the other concern is the amount of current your power supply can source based on what boards you have in your stack.  Some of the RF boards and the microSD take more power than a coin cell can supply, so a larger power source is needed. 

With 3AA batteries you'll have no problem powering this as these have plenty of voltage and can easily supply the current needed for the microSD card accesses.