12/9/2013— Eric Kolker
We get a lot of questions over email, so today my goal is to answer the question we get asked most frequently: how much power does the Tessel use?
More specifically, the question usually takes the form of:
“Hey, guys, just saw Tessel the other day and it looks sweet! I want to use it to build a [ six word description of the project ]! How much power will it use?”
At which point half of me jumps for joy (cold calls about using Tessel are always appreciated) and half of me rolls up my sleeves. A complete answer touches on power consumption vs. current draw, the role USB can play, and things to be conscious of when designing a Tessellation.
Power vs. Current
As it turns out, power consumption is difficult to calculate, and often people actually care more about current draw. In our case, the two are closely related:
P = IV
Although most devices are in truth limited by power consumption (rather than current output), it’s good practice to never draw more than a power supply’s rated current. On a good day, an overloaded supply will simply sag its voltage (brown itself out) until P=IV, but on a bad day it could become unstable and damage components connected to it. In order to avoid either scenario, most computers will cut power to a USB port if it draws more than 500 mA (2.5 W of power).
In a world ruled by USB…
Because the Tessel is most commonly powered off its USB connection, it turns out that current draw is usually the more important number to keep track of. As such, the data points I rattle off quickly are as follows:
- A bare Tessel, that is, one without any modules attached, draws about 110 mA of quiescent current .
- We ran a test with a 3.7 V, 350 mAh LiPo battery where the Tessel pinged Tim’s laptop once per second and the device ran for almost exactly two hours.
The next information I offer is that use of the onboard WiFi radio, flash, and RAM can draw additional currents of 275 mA, 175 mA, and 100 mA, respectively. The astute mathematician will note that 110 + 250 + 175 + 100 > 500, which suggests that the Tessel should constantly be browning itself out and rebooting.
Although it is probably possible for the Tessel to do that to itself, the reality is that those current draw numbers, like many others, represent the peak draw of the chips in question, as opposed to average continuous draw. This suggests that:
- The chips usually draw much less current than that (low quiescent current).
- When the chips do draw that much, they do so for a very short period of time (high peak current).
- Therefore, it’s very unlikely that the Tessel will do that to itself (we’ve never had it happen to us and triggering such event would likely require that high power WiFi transmission and complete wipes of both the flash and RAM happened exactly simultaneously).
- Bypass capacitors on the power rail are really important! They help keep the 3.3 V and 5 V rails at their respective values, instead of sagging miserably during bursts of high current draw.
When you think about it, all of these make sense: the WiFi radio is only going to use a lot of power when it’s transmitting or working to decode an incoming packet and the memory will need the most power during read/write operations, both of which shouldn’t be happening all of the time (there’s a difference between “every time” and “continuously”). Last but not least, always decouple your rails!
But I digress… Allow me to explain why I often need to take a minute to collect my thoughts before typing up a reply.
In order to estimate of power consumption, you need to know what goes into your device and how you plan to use each part. Here are a few key things you’ll want to figure out:
What modules do you plan to use?
All of the modules are marked with their peak current draw, but the notion that “they don’t really draw that much” rule doesn’t always apply.
- Sensor modules (ambient, accelerometer, climate, GPS, camera) tend to use the same amount of current all the time.
- The nRF and BLE modules (low power wireless communication) use a modest amount of power over a short amount of time to transmit packets and little power for the rest of the time.
- The GPRS module follows a similar pattern, but draws a truly exorbitant amount of current during transmission and has a higher quiescent current.
- Because RFID must generate an RF field in order to read tags, it has a relatively high quiescent current. Consumption during transmission is even higher.
- The relays we chose latch (save their state), so they only draw current when their state is switched, but don’t provide power to whatever they’re hooked up to. On a related note, please be very careful when dealing with wall power. Unplug everything before inserting anything into the relay module and wrap things up with electrical tape when you’re done.
- Servos connected to the servo module are powered externally, so their power draw is not included in the peak power consumption for the module.
NOTE: Although most hobby servos can be powered off 5 V, we strongly recommend against powering them off the Tessel’s 5 V rail (more on this 5 V rail later). The inductive kick from the motors could brown out or permanently destroy the Tessel. The module ships with a 5 V power adaptor for the servos. Please use it.
Does your project have any moving parts?
This is typically only an issue if you have a relay or servo module onboard, but if it’s an issue it will likely be a serious one. I already mentioned the dangers of inductive kick, and it’s worth noting that a standard hobby servo will stall out (maximum torque = maximum current draw here) at upwards of 1 A. If you know you need a motor of some kind, do some research to figure out what kind of motor makes sense based on what you need to move, how quickly you need it to move, and how accurately you need it to move. A good rule of thumb from the field of robotics is that actuators use an order of magnitude (or three) more power than anything else in the system, so plan accordingly.
Figure out how often everything will be on vs. in standby. See if you can predict how often you’ll need to communicate with the web, and if that will require a long series of back and forths or a simple handshake. Is a live stream of data necessary all the time, or just occasional polling? Can you offload heavy processing or JSON parsing to a back end somewhere?
Finally, before you go spend hundreds of dollars on parts, I’ll remind you to start small and to iterate. If you’re new to hardware, keep in mind that things break and don’t always work the first time, so leave room in your budget for spares, replacements, upgrades, and jumper wires (somehow, they always seem to wander off).
Using the 5 V in pins
Another thing to consider is where the power physically enters the Tessel. The Tessel can be powered either from the micro USB port, or through a pair of 5 V in pins right near it.
- Either way, the absolute maximum voltage those pins can accept before you destroy your Tessel is 5.5 V (I only mention this because officially the party line is 5 V, but some phone chargers output 5.1 V and I’d like to let you all know that using such an adapter will not trigger the apocalypse).
- The Tessel will use USB power preferentially over the power supplied to the 5 V in pins . This is likely only relevant if you will need a USB data connection to the device some, but not all of the time, and therefore cannot devote the USB port to power alone.
- Circuitry onboard the Tessel allows seamless switching between power sources.
- Last but not least (and sometimes very important), the external power that goes into the 5 V in pins is whatever you put there. That is, if you attach a 3.7 V LiPo, don’t expect to get 5V out (we’re good, but not that good). The only place on the board which exposes the 5 V rail (be it from the USB port or the 5 V in pins) is on the GPIO bank.
The more you know about your design the easier it will be to estimate power consumption. My offhand guess for most Tesselations is that a 1A cell phone wall charger will be enough, and it’s not worth your time to worry about it any further. If you can’t afford to be tied down to a wall socket, grab a battery above 5,000 mAh and you should be able to run all day so long as you don’t have any moving parts, try to stream YouTube, or calculate the millionth digit of pi. If you have anything more complicated than that, or just want someone to bounce an idea off of, drop me a line to ask questions.