HTRC110 EM4102 125kHz RFID Reader Driver



THIS PROJECT IS NOT CURRENTLY RELEASED (ORDERING NOT CURRENTLY AVAILABLE)

Low cost 125kHz passive RFID tags are the ideal choice for all sorts of identification applications.  However many engineers view the task of designing a 125kHz RFID reader as too daunting a job involving dabbling in the black arts of radio frequency design.  Instead an engineer will typically opt for the safe approach of using one of the many off the shelf but expensive RFID reader OEM modules.

Actually designing a 125KHz RFID reader is very straightforward if a good RFID reader IC is used and this driver is designed to work with the excellent NXP (formerly Philips) HTRC110 RFID Reader Chip.


This driver provides complete functionality to read EM Marin EM4102 (previously named H4001/H4102) and compatible RFID transponders.  The EM4100 is one of the more common data formats for RFID transponders, so named because the microchip at the heart of compatible tags are based on a controller chip originally made by the company EM Microelectronic.  The protocol is typically used by the many types of generic 125kHz read only passive RFID tags available from a huge range of suppliers.  These simple RFID transponders carry 40 bits of read only memory and are typically supplied with a globally unique ID value (the 40 bits provide1,099,511,627,776 combinations).

The driver provides the following main features:-

  • Automatically handles the 64, 32 or 16 period data rates and Manchester or Biphase encoding methods used by EM4102 based tags.  Most tags use Manchester encoding due to many RFID readers only supporting Manchester encoded tags.
  • Optimised for small code footprint embedded designs.
  • State machine and interrupt based implementation to avoid your application stalling while tags are read and the modulated data stream decoded.
  • Automatically switches the HTRC110 to low power mode between reading tags.
  • No reliance on compiler specific libraries.
  • Full source code supplied for you to use and modify as required.


Hardware Specifications

The driver is designed to support the NXP HTRC110 RFID reader chip.  The driver has been designed to work with 8-bit, 16-bit and 32-bit microcontrollers.

In order to decode the modulated RFID tag data stream the driver requires the RFID Dout connection to be made to a microcontroller rising edge interrupt pin.  The driver carries out all other communications by driving and reading the microcontroller pins directly.


This source code product is written in C and has been designed to be used with any ANSI compliant C compiler on any platform. Direct compatibility has been tested with the compilers and processors / microcontrollers listed below. Using the driver with other ANSI compliant C compilers and devices should not present significant problems.
Tested with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers with sample project included. Free version of the compiler available from Microchip.


View the project technical manual
View the most recent project revision history (useful for past customers to check for any modifications since they received their files)


Download sample source code files


Why isn't this code free?
You get what you pay for. Even in these days of open source this still holds true. We provide a premium, time saving service which we charge a fair price for. Every detail of our source code and documentation is meticulously designed, tested and presented. We respond to every support request. We save days or weeks of your development time. We provide trustworthy, fully tested solutions. We don't make you release commercially sensitive sections of your products source code or include usage statements in your products documentation as many of the open source licence agreements require. If these things don't matter to you, then Embedded-Code.com is unlikely to be the choice for you. If you can find the perfect open source or free solution for your project then use it, but if all you can find is poorly written, hard to understand, horribly documented or commercially restrictive code then consider what you get from us for a very low one-time cost. After all, no software is really free because your time isn't free.

Why use our code?
We provide the best written source code you can get. Not only is our code robust, fully tested and pounded upon by many customers before you, it's also been designed to be the best written source code available anywhere. Embedded-code.com was born out of the frustration of not being able to find inexpensive, high quality and easy to use embedded source code on the web. Do you want to work through thousands of lines of cryptic gibberish, waste hours having to fight with a free but painful solution, or do you want to work with code and documentation you can quickly and easily understand? We have written this source code to be as easy as possible to understand by programmers of all levels. All code is highly commented with no lazy programming techniques and all function, variable and constant names are fully descriptive to help you modify and expand the code with ease.

Companies who have purchased our source code drivers include:


This project may be purchased with the following licence options:-

Private Licence A single named user may use and modify the purchased source code for non-commercial purposes only (i.e. for personal experimentation).
Technical support is available for a period of 1 month from purchase. Free upgrades are available for a period of 3 months from purchase
Commercial Licence A single named user may use and modify the purchased source code in an unlimited number of commercial products without any royalty fees payable.
Technical support and free upgrades are available for a period of 12 months from purchase (11 months for licence upgrades).

Please ensure that you read our full licence agreement before purchasing. All Source Code products are delivered by email.