Continuous Scanning With FloJack (ACR35)
Can a FloJack MSR (aka ACR35) be used for scanning NFC tag continuously? YES! We get asked this question a lot so we studied how the FloJack/ACR35 performs while continuously scanning. A situation that often happens when scanning a tag is that it triggers your app, instead of the other way around where your app prompts the user to scan one. With tag triggered apps the NFC reader must maintain the magnetic field (the “F” in Near Field Communications) and wait for a tag to be presented.
The tag itself does not have a source of power to send a signal to the reader to wake it up. It gets it’s power from this scanning field so the reader has to generate it all the time (or most of the time, more on this later). The reader is consuming power to get the energy it’s broadcasting into the field, power that is provided via the USB charging port and stored in the readers battery.
For reliable performance it comes down to having more power coming in than is going out. If there is enough power the reader battery will stay charged but if not the battery will be slowly depleted and eventually die. The reader will then stop running until the battery is recharged. Clearly a bad situation if you want to run the reader all the time. So to measure how the Flojack/ACR35 performs we’ll need to monitor the battery while we scan continuously.
We popped open a FloJack/ACR35 and tack soldered test leads to the battery and circuit ground. The FloJack/ACR35 has a lithium polymer cell and can reach voltages slightly higher than 4.0V when fully charged. That’s just a little too high for our test equipment so we added a divider on the circuit set to a point halfway between the battery voltage and ground to use as a testpoint. We just have to remember to multiply our readings by 2 for voltages that can be compared to this typical lithium polymer discharge curve.
These curves show how the voltage of the battery changes as energy is removed from it. Lithium polymer batteries reach a voltage around 4.1V when fully charged, but this voltage drops quickly as the battery starts to discharge. It eventually flattens out and the voltage stays between 3.4V to 3.6V for most of the time the battery is operating. Towards the end of it’s capacity the battery’s voltage starts to drop rapidly and there is very little energy left when it reaches 3.0V. These voltages are a property of the chemistry of the cell, so all lithium polymer cell will be similar. The voltages are affected by temperature of the battery and the rate you discharge it.
The key to good performance is to avoid the end of the curve where the voltage starts to drop rapidly. In this part of the curve the internal resistance of the battery is rising so the battery is less able to supply the bursts of high current needed to create a good magnetic field and power the tag. Bad data or no data can result so reliability will drop. Eventually the reader will not have enough power to run and will shut down if the circuit allows the battery to go too far down the curve. So for our test we want to see how well the battery is kept from reaching the cliff at the end of the discharge curve.
This is the Test
So we charged up and reassembled our brave volunteer FloJack/ACR35 and hooked up a recording multimeter to the test leads we attached. Then plugged the FloJack/ACR35 into an iPad running our Flomio Test app and connected the it to a USB charger. We set the iPad to remain on constantly and started recording voltage data. Here’s the setup at the start of the test. The meter is showing a battery voltage of 2.115 x 2 or 4.23V and you can see the reader is charging and in communication with the SDK Test app. The Flomio SDK Test app is a handy tool to use for checking your hardware. The green dot indicates the app is in communication with the reader and the app shows the remaining battery capacity along with the results of scanning cards.
For this test we programmed the SDK to keep the FloJack/ACR35 scanning constantly. Any typical application would experience less load than this. The reader does supply power to the NFC tag when it’s present but usually that’s a small percentage of the time. We can shut off the magnetic field for a portion of the scanning cycle.
There is a trade off between reaction time and battery life.
In applications that are battery powered (no USB charger while in use) this will extend the battery life but will cause a random delay in the response to a user tapping a card. If the delay is small it won’t be noticed but the battery saving won’t be too much either. There is a trade off between reaction time and battery life. Contact us if you think your application might need this adjustment.
FloJack/ACR35 Results
So what happened? Is the FloJack/ACR35 suitable for continuous operation? Here’s what we found out. This screenshot shows a portion of a charging cycle occurring over the course of one hour. We see the voltage drooped down to 3.2V where it stayed for approximately 45 minutes before the charger turned on and brought it up to a maximum of 3.66V indicated by the maximum value in the top right of the screen (x2). The charger was running for only about 15 minutes during the hour so the FloJack/ACR35 was easily able to avoid the steep end of the discharge curve while operating continuously.
The duty cycle is actually much longer than an hour, we’re still collecting data as of this writing but we know the reader is running for more that 4 hours between charging cycles. So the answer is YES, the FloJack/ACR35 can easily handle running and scanning continuously for NFC tags. It only requires charging for a period of 15 minutes every 4 hours.
Four hours is good but it’s still 4 hours if you’re running on battery alone. What if your application requires longer battery life? Flomio is in the final stages of development of our new reader, the FloBLE Mini. This reader will connect via Bluetooth Low Energy and incorporate power saving technology to extend battery life on the order of 100x the life of current readers. Stay tuned to the Flomio Blog for more of the ways that Flomio is connecting the Internet of Things.
– Jim Disser
hello, i was working on it via android development. if it is possible to work on it? how do you settle /re-code the sleep time into “always on”, also if i detach the battery and direct to a power supply with the preferred voltage, so that it has a good power consumption. Can be possible to work arround daytime? like 7-10hrs.
Hi JXian, I don’t understand your question… are you trying to get continuous scanning to work?