nanoFramework.Iot.Device.Rdm6300
1.0.1
Prefix Reserved
dotnet add package nanoFramework.Iot.Device.Rdm6300 --version 1.0.1
NuGet\Install-Package nanoFramework.Iot.Device.Rdm6300 -Version 1.0.1
<PackageReference Include="nanoFramework.Iot.Device.Rdm6300" Version="1.0.1" />
<PackageVersion Include="nanoFramework.Iot.Device.Rdm6300" Version="1.0.1" />
<PackageReference Include="nanoFramework.Iot.Device.Rdm6300" />
paket add nanoFramework.Iot.Device.Rdm6300 --version 1.0.1
#r "nuget: nanoFramework.Iot.Device.Rdm6300, 1.0.1"
#:package nanoFramework.Iot.Device.Rdm6300@1.0.1
#addin nuget:?package=nanoFramework.Iot.Device.Rdm6300&version=1.0.1
#tool nuget:?package=nanoFramework.Iot.Device.Rdm6300&version=1.0.1
RDM6300 RFID reader
The RDM6300 is a 125 kHz RFID reader module that reports tag identifiers over a fixed 9600 baud, 8-N-1 UART connection. It is a passive reader: the host receives tag frames from TX, but there is no documented command or configuration protocol to implement over RX. It is typically compatible with EM4100/EM4102 read-only tags.
Documentation
Protocol
Each read is a 14-byte ASCII hexadecimal frame. The checksum is the XOR of the five decoded data bytes: the version/customer byte followed by the four tag ID bytes.
| Byte | Content |
|---|---|
| 0 | Start of text (0x02) |
| 1-2 | Version or customer code, two hexadecimal characters |
| 3-10 | Four-byte tag ID, eight hexadecimal characters |
| 11-12 | XOR checksum, two hexadecimal characters |
| 13 | End of text (0x03) |
The reader repeats the frame while a tag remains in the field, typically about every 65 ms. Consequently, TagDetected is raised for each valid frame. Applications that need one action per presentation should ignore consecutive events with the same TagId until the tag has been absent for an application-defined interval.
Wiring
Connect the reader's TX output to the microcontroller UART RX input. The reader does not require a connection to the microcontroller UART TX output.
| RDM6300 | ESP32 example | Description |
|---|---|---|
| TX | GPIO16 (COM2 RX) | Tag data from the reader |
| RX | Not connected | Reserved; no host commands are required |
| GND | GND | Common ground |
| +5V | 5V | Module power |
| ANT1, ANT2 | Antenna | External 125 kHz antenna |
| LED | Optional GPIO input | Status output; normally high and briefly active low when a tag is read |
Check the logic voltage of your module variant before connecting TX. Use a level shifter or voltage divider when its output exceeds the microcontroller input rating.
Usage
using Iot.Device.Rdm6300;
using nanoFramework.Hardware.Esp32;
using System.Diagnostics;
using System.Threading;
Configuration.SetPinFunction(Gpio.IO17, DeviceFunction.COM2_TX);
Configuration.SetPinFunction(Gpio.IO16, DeviceFunction.COM2_RX);
using Rdm6300 reader = new Rdm6300("COM2");
reader.TagDetected += (sender, tag) =>
{
Debug.WriteLine($"Raw tag: {tag}");
Debug.WriteLine($"Version: 0x{reader.TagVersion:X2}");
Debug.WriteLine($"Tag ID: 0x{reader.TagId:X8}");
};
Thread.Sleep(Timeout.Infinite);
The latest complete value is available through Tag, with its decoded fields exposed through TagVersion and TagId. TryParseFrame can validate and decode a complete frame received by another transport or stored for later processing.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net is compatible. |
-
- nanoFramework.CoreLibrary (>= 1.17.11)
- nanoFramework.Runtime.Events (>= 1.11.39)
- nanoFramework.System.IO.Ports (>= 1.1.142)
- nanoFramework.System.IO.Streams (>= 1.1.96)
- nanoFramework.System.Text (>= 1.3.42)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1 | 74 | 9/29/2026 |