Design files for this project can be found here
Here’s a project that I worked on a few years ago that I keep forgetting to publish. At the time, the old card swipe entry system to my graduate lab was getting in pretty old, so we wanted to revamp it with modern technology. Instead of granting entry via the magnetic card on the student ID, we wanted to have a wireless solution that could easily be updated in the future. The solution involved a Nexus 7 mounted in the window of the door, connected to a wireless router that controlled a solenoid within the door, and individual NFC tags to grant access for each user.
The problem however, was that the detection range of NFC is too short. The tablet could detect an NFC tag roughly ~1 inches away from the back of the device, but from the front of the device, the tag couldn’t be seen at all. Since we also wanted to put the tablet with the screen facing the window, there was an additional thick piece of glass between the device and the user. To solve this, we had to somehow extend the NFC reader from one side of the door to the other without compromising the system’s security.
There were two options that were available. The first was to take advantage of the tablet’s USB OTG feature to connect a NFC dongle that could be then attached to the front side of the door. The problem with this approach was that there was only one USB port on the device, of which we wanted to use to keep the tablet powered. The second problem with this approach was that it compromised the security of the system by potentially allowing anyone to hijack the USB line and ‘hack’ into the system.
The second option was to use an NFC extender to provide a remote interface to the NFC reader found on the back of the tablet. Commercial systems do exist (Flomio), but were too costly for our budget. Instead of buying a system, I decided to build my own by using this video and this article as the basis for this project. The theory behind the NFC extender is simple: if we can create a loop that duplicates the magnetic field between two locations, we can move the NFC field of the reader away from the device to where we want it to be (at the front of the door). To move this magnetic field, we create two wire loops that are interconnected. The wire loops result in an inductor at both ends, but also lets the non-actively powered side act as an antenna.
To create this wire loop, I took some thin enameled wire and looped it around a circular base to create a series of loops with a flat structure. Nail polish was used to hold the wires in place, followed by a layer of tape on one side for mounting durability. I also 3D printed a rectangular base to create rectangular loops, as the internal NFC antenna on the Nexus 7 is rectangular in nature. I didn’t (and still don’t) know if matching the shape of the antenna was of any importance, but I figured it wouldn’t hurt to try.
After linking two such loops together, I was able to read an NFC tag roughly ~8 inches away from my phone, a fairly significant achievement given how little research I did. Once I confirmed that system worked with the Nexus 7, I designed and 3D printed a flexible mount for the rectangular antenna to fit it onto the back of the tablet. Since I didn’t know how important positioning was for the antenna, I designed the mount in such a way to maximize placement flexibility. Once the tablet was mounted onto the door, a second wire antenna was taped to the front of the door and the two antennas were then connected with two short lengths of wire.
The resulting system worked surprisingly well. The detection distance suffered a bit, but the system was still able to read tags placed ~0.8 inches away from the front antenna. Detection time was identical, and the system was pretty reliable with very few false reads. I tried varying the size, shape, and wire gauge of the antennas but ultimately found little impact in terms of overall performance.