Pick a Card, Any Card: Fast and easy Windows logon using any NFC smart card

After finally reinstalling Windows on my main PC (the smart card components in the old install were trashed), I dusted off the old smart card reader and started looking into smart card-based logon options again.

Windows logon screen using a smart card

Windows logon screen using a smart card

After finding a way to force convince the installer for EIDAuthenticate, a program that lets you use smart cards to log on a Windows computer without the use of domains and Active Directory, to run on Windows 7 Professional (Microsoft DreamSpark only lets me obtain the Professional editions of Windows), I found a program called NFC Connector Light that lets you use any NFC-compatible smart card as a means of authentication.

Virtual smart card with certificate installed

Virtual smart card with certificate installed

NFC Connector Light links the unique identifier in an NFC-based smart card to create a virtual smart card on the local computer (no data is stored in the card itself), and that virtual card can be used like a real smart card within Windows. When paired with EIDAuthenticate, logging on is as simple as placing the smart card on the NFC reader and entering a PIN. This is especially useful when you set the Windows smart card policy to lock the computer when the card is removed (and it feels kind of cool to be able to lock your computer simply by taking your card off the reader).

HDQ Utility version 0.96 now available!

Whew, I’ve been working on this version for quite a while. With the helpful feedback of many people that have tried my software, I’ve made a large number of improvements to the software; of course, there are plenty of features that aren’t implemented yet, but are being worked on.

More information about how this utility works can be found here.

Download HDQ Utility v0.96 here: https://www.dropbox.com/s/pf0vszgfei7s8ly/HDQ%20Utility%200.96.zip?dl=0


  • (Major improvement!) Improved HDQ logging functionality (logs are now saved to a separate file instead of being overwritten).
    • Example: “HDQ Log (2015-10-26 at 19.02.50) – HDQ Utility v0.96.txt”
  • Improved HDQ communication (HDQ breaks no longer require the serial port to be opened more than once, and HDQ no-response timeouts are decreased from 0.5 to 0.3 seconds.
  • Reworded certain error messages for clarity.
    • Example: “Communication error: Cannot read byte from address 0x02 (No response from device).” 
  • Renamed file ‘config.txt’ to ‘Config – COM Port.txt’ for clarity.
  • Improved state-of-health warnings by making them non-modal (they do not require the user to dismiss the message).
  • Added more notifications for unidentified and uninitialized batteries. (Uninitialized batteries are determined by a FULL ACCESS security state, with Impedance Track disabled.)
  • Fixed invalid device name and maximum load current readings for v5.02/sn27545-A4 based batteries (e.g. iPhone 6, 6+…).
  • Added time-to-full readings (for firmware older than v2.24).
  • Improved error-checking for device identification (it will display a notice that the tool may need to be restarted).
  • Updated DingoLib UI library to auto-resize window to 0.9x display resolution for improved readability on larger monitors.


  • Create a dedicated section on my blog for the HDQ Utility.
  • Create a user’s manual describing the parameters displayed by the program (in particular, the Advanced Battery Information section).
  • Improve data logging functionality by saving logs to a subdirectory instead of the program’s root to decrease file clutter.
  • Improve error-checking for commands (retry reads if one or more bytes are not received from the device).
  • Add error statistics indicating how many communication errors occurred during data collection.
  • Improve support for older (older than v1.25) firmware.
  • Improve support for v5.02/sn27545-A4 devices (make use of advanced commands available in this firmware version).
  • Add support for restarting of data collection without having to re-execute the program.
  • Add Data Flash memory functions to allow for readout of advanced configuration, serial number, lifetime/black-box data, etc.
  • Rewrite this program in something that’s not LabWindows/CVI… also, use of a GUI rather than a non-console text UI.

Self-discharge test of Kentli PH5 1.5V Li-ion AA (Part 3)

Aw what, it’s October already? So much for having another blog post in September…
But anyway, “more months, more data!™”

The voltage of the PH5 has dropped down to 4.093 volts as of today (October 1st, 2015), and its State of Charge is now 93%. There’s just enough data to guess the discharge rate of the PH5: with the currently logged data, the PH5 self discharges at approximately 0.103%/day. At this rate, the cell should last years before finally reaching zero. Looks like this will be a very, very long term test…

(At least that would give me more time to procrastinate write blog posts.)

Self-discharge test of Kentli PH5 1.5V Li-ion AA (Part 2)

After my first self-discharge analysis of the Kentli PH5 Li-ion AA battery, I have collected another month’s worth of data.

The battery’s voltage drop has been surprisingly linear. Although I didn’t get the exact day when the bq27621-G1’s State of Charge readout dropped to 99%, it is quite clear that the state of charge is dropping with a fairly steep curve now. That said, because the battery’s voltage is still far away from the ‘flat region’ of the discharge curve, it is difficult to determine when the battery will discharge itself completely at this time.

Self-discharge test of Kentli PH5 1.5V Li-ion AA (Part 1)

As an extension to my previous performance analysis of Kentli’s PH5 Li-ion AA battery, I fully charged an unused PH5 and left it on my desk to self-discharge. Every now and then, a Texas Instruments bq27621-G1 fuel gauge is hooked up to the Li-ion battery terminals (in the case of the PH5, the recessed ring around the 1.5V terminal) and the bq27621’s default settings are used to measure the voltage and state of charge.

I started this test on June 18th, 2015 and will keep taking occasional measurements until the protection IC in the PH5 shuts down.

Since the 18th, the voltage dropped from 4.216 volts down to 4.192 volts as of July 6, 2015; the bq27621’s State of Charge reading remains at 100% for the time being. The voltage drop has been fairly linear so far, but I expect it to taper off as the battery discharges to the Li-ion cell’s “flat region”, and only after that do I expect the cell’s voltage to decline more rapidly.

Performance analysis/review of Kentli PH5 Li-ion 1.5V AA battery

In my previous blog post, I tore down the Kentli PH5 battery – a Li-ion battery that has an internal 1.5-volt regulator that allows for terrific voltage stability… up to a point. In terms of data collection, so far I have collected 55+ runs of data logs (248 MB of text files!) and still do not quite have all the data I want. As for the data that I do have, I will be disseminating them with as much thoroughness as possible.

Voltage vs. load current

As expected, the voltage output of the PH5 remains quite stable, up until roughly 2.1 amps where the voltage sags noticeably until the regulator goes into overcurrent protection mode.

A maximum load capacity of 2.1 amps seems to be a bit… limiting. That said, I have not done tests on the PH5’s transient load capacity, as it would require more automated control than what I currently have available.

Another issue with having such a flat discharge curve is that any device that performs fuel gauging using voltage alone will report 100% capacity, until it suddenly shuts down. This could be a big problem for digital camera users, as they will have no indication that their batteries are running low, until the device abruptly stops working. If the camera was writing an image to its memory card when the battery died, it could cause the image to be corrupted, or worse, damage the file system on the card!

Voltage vs. state-of-charge

Unless you are running the battery at a high discharge rate, the output voltage will be flat at 1.5 volts before abruptly brickwalling and dropping to zero immediately at the end of discharge. At a high load (in the case of the graph below, at 2 amps), the voltage remains flat until the very end of the discharge cycle (99% depth of discharge for my test run), where it quickly tapers off and drops to zero.

Capacity vs. load

This is the big one, and it took a lot of work to get this data, especially at low loads (48+ hours of continuous logging is just asking for Murphy’s Law to come into play). I used almost 50 discharge runs to create the graph below.

This is where things get… interesting. I was expecting the capacity to peak at low currents then taper off as the load current increases. Instead, I noticed a definite ‘hump’ in capacity around the 250 mA mark (reaching a maximum of 1700 mAh / 2550 mWh), and only after that point did I see the expected downward slope in capacity, reaching 1200 mAh (1800 mWh) at the 2 amp mark.

This data brings forth some very interesting conclusions. The PH5’s capacity is inferior to its Ni-MH counterparts (even the relatively crappy ones), and at higher discharge rates it has similar capacity to that of an alkaline at the same load, albeit with much better voltage stability than the Ni-MH or alkaline chemistries.

Other findings

Although I won’t go into too much detail for the next few points (I haven’t gotten quite enough data to be presentable), there are some other issues with the battery that I think should still be mentioned.

One issue is the amount of heat the battery gives off at high loads. At 2.1 amps, I had to use a fan to blow cool air onto the DC-DC converter just to prevent it from entering its over-temperature shutdown mode. Although the converter itself can tolerate elevated temperatures, the Li-ion cell inside will not; the uneven heating that the cell will encounter could potentially degrade its lifespan in the long run.

Another problem is efficiency. At 1 amp, the DC-DC converter is about 75% efficient, and is only 65% efficient at 2 amps. I have not tested the converter’s efficiency at lower loads yet, but I doubt it will achieve more than 85-90% efficiency.

A potential issue with this battery is self-discharge. The buck converter remains active all the time, unless the converter or the Li-ion protection circuit enters a protective shutdown state. I have not had a chance to fully charge an unmodified battery in order to perform a long-term self-discharge test, but I will create another blog post for that, if/when the time comes.


Overall, I’m on the fence when it comes to this battery. Its innovative design does provide unparalleled voltage stability, but its low capacity even at moderate discharge rates dampens the fun significantly. Additionally, the 2.1 amp discharge limit could prove to be a bottleneck for some high-drain applications; this, coupled with the cell’s tendency to shut down abruptly when the internal cell runs empty could potentially cause file system corruption for digital cameras that have not been designed to handle such sudden power interruptions.

Also, the batteries are very costly. At about $10 per cell, you may want to think twice about replacing all your current disposable and rechargeable batteries with these newfangled Li-ion ones. Don’t forget the charger either, as a special charger is required to make contact with a recessed terminal on the top of the battery.

Overall, this cell is… interesting. Just don’t expect a miracle in a steel can.


  • Excellent voltage stability, even at high loads
  • Li-ion chemistry allows for a very lightweight cell, even with the addition of a DC-DC converter
  • High output voltage could allow some devices to run more efficiently


  • Low capacity – provides a mere 1200 mAh (1800 mWh) @ 2 amps, and up to 1700 mAh (2550 mWh) @ 250 mA (even alkaline batteries can do better than this)
  • Abrupt shutdown when the battery is overloaded, overheated, or over-discharged
  • Runs hot at high loads (and therefore is fairly inefficient)
  • 1.5 MHz converter and unshielded inductor can cause excessive EMI (electromagnetic interference) in sensitive devices
  • Expensive! Costs approximately $10/cell
  • Requires proprietary charger

Bottom Line: This is a niche product and should not be considered a universal replacement for alkaline or Ni-MH AA batteries.

Ramble: Fixstars’ 6TB SATA SSD – is it a thing?

If you know me personally, you’ll know that I absolutely love SSDs. Every PC I own has one, and I can’t stand to use a computer that runs off an HDD anymore. Naturally, when I read about a 6 TERABYTE SSD coming out, it piqued my curiosity.

Photo is owned by Fixstars and is not my property. Retrieved from http://www.fixstars.com/en/news/wp-content/uploads/2015/05/SSD-6000M.png

Official SSD-6000M promotional photo, taken from Fixstars’ press release

A Japanese company by the name of Fixstar has recently announced the world’s first 6TB SATA-based SSD. Although 2.5″ SSDs in such a capacity range already exist, they’re SAS (Serial Attached SCSI) based which limits them primarily to server/datacenter usage. According to Fixstars’ press release, their SSD-6000M supports sequential read speeds of 540 MB/s, and sequential write speeds of 520 MB/s, which is on par with most modern SATA III (6 Gbps) SSDs on the market today.


However, after reading a bit online, I’m beginning to have some concerns about the drive’s real-world performance. One thing that is rather worrying is that the company has only mentioned sequential I/O speeds and has said nothing on random I/O or read/write latency; although SSDs do have much better sequential speeds than their mechanical spinning counterparts, they really shine when it comes to random I/O (which makes up much of a computer’s typical day-to-day usage). In the early, early days of SSDs, manufacturers cared only about sequential I/O and it resulted in some SSDs that were absolutely terrible when it came to random I/O (fun fact: I once had an early SSD, the Patriot PS-100, and its performance was so bad that it actually turned me off of SSDs for a few years, so I know how bad such unoptimized SSDs can perform).


The SSD appears to be made up of 52 eMMC (embedded MultiMediaCard) chips in a sort of RAID 0 configuration and an FPGA (field-programmable gate array) as the main controller. In layman’s terms, this SSD is literally made up of a bunch of SD cards “strapped” together with a chip so that it appears as one single drive. In that sense, one can make a similar solution using a board like this, which parallels multiple microSD cards to act as a single ‘SSD’.

Image retrieved from Amazon (http://ecx.images-amazon.com/images/I/51y0QqWL5sL.jpg)

The consumer equivalent of the SSD-6000M: SD cards and a controller chip. You can even get them from Amazon.


I’m wary of how well this SSD is going to take off. It could end up being a tremendous success, but it’ll certainly be out of the reach of the consumer market – either by its potentially poor random I/O performance, or its price (apparently it will cost well over $6000 USD).