topaz512-driver

Driver for Innovision/Broadcom Topaz512 NFC tags

License

License

MIT License
GroupId

GroupId

eu.verdelhan
ArtifactId

ArtifactId

topaz512-driver
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

topaz512-driver
Driver for Innovision/Broadcom Topaz512 NFC tags
Project URL

Project URL

http://github.com/mdeverdelhan/Topaz512-driver
Source Code Management

Source Code Management

http://github.com/mdeverdelhan/Topaz512-driver

Download topaz512-driver

How to add to project

<!-- https://jarcasting.com/artifacts/eu.verdelhan/topaz512-driver/ -->
<dependency>
    <groupId>eu.verdelhan</groupId>
    <artifactId>topaz512-driver</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/eu.verdelhan/topaz512-driver/
implementation 'eu.verdelhan:topaz512-driver:1.0.0'
// https://jarcasting.com/artifacts/eu.verdelhan/topaz512-driver/
implementation ("eu.verdelhan:topaz512-driver:1.0.0")
'eu.verdelhan:topaz512-driver:jar:1.0.0'
<dependency org="eu.verdelhan" name="topaz512-driver" rev="1.0.0">
  <artifact name="topaz512-driver" type="jar" />
</dependency>
@Grapes(
@Grab(group='eu.verdelhan', module='topaz512-driver', version='1.0.0')
)
libraryDependencies += "eu.verdelhan" % "topaz512-driver" % "1.0.0"
[eu.verdelhan/topaz512-driver "1.0.0"]

Dependencies

test (1)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-engine jar 5.5.2

Project Modules

There are no modules declared in this project.

Topaz512-driver Maven build

Here is a simple Java library/driver for building commands to communicate with Innovision/Broadcom Topaz512 NFC tags.

Features

  • Fully compliant with Broadcom BCM20203T512 specification
  • All Topaz512 commands implemented
  • Integrity checking with optional CRC-16 computation
  • JDK 11 or later
  • No third-party dependency
  • MIT Licensed

Usage

Import as dependency

Topaz512-driver is available on Maven Central. To use it, just import the following dependency in your pom.xml file.

<dependency>
  <groupId>eu.verdelhan</groupId>
  <artifactId>topaz512-driver</artifactId>
  <version>1.0.0</version>
</dependency>

For snapshots, add the following repository to your pom.xml file.

<repository>
    <id>sonatype snapshots</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>

Usage in code

Topaz512 t512 = new Topaz512();

// Getting tag UID
byte[] ridCommand = t512.buildRidCommand();
byte[] tagUid = ...; // Send the RID command and get the tag UID in return

// Reading 8 bytes at block 0x1A
byte add8 = Topaz512.buildAdd8((byte) 0x1A);
byte[] read8Command = t512.buildRead8Command(add8);
byte[] read8Response = ...; // Send the READ8 command and get the 8 bytes in return

About the Topaz512 tags

The BCM20203T512 (Topaz512) tags are NFC tags designed by Broadcom Inc.. They are NFC Forum Type 1 compliant tags.

Tag features

  • Compliant with the NFC Forum Type 1 tag format
  • Compatible with the ISO/IEC 14443:2001, Parts 2 and 3; ISO/IEC 14443 Type A modulation scheme
  • Contactless operating Frequency: 13.56 MHz
  • Read/write operation (8-byte read/write commands)
  • Configurable for One Time Programmable (OTP) and Write Once Read Many (WORM) operation
  • Data communication rate: 106 kbps
  • Communication robustness: collision detection, 16-bit CRC integrity checking
  • EEPROM based user read/write memory area organized as blocks of 8 bytes (7 bytes of Unique Identification (UID) number for use in data authentication/anticloning, 480 bytes of user read/write memory, 64 bits (8 bytes) of OTP memory)
  • All memory areas are individually one time lockable by RF command (to produce read-only functionality)

Donations

Bitcoin address: 13BMqpqbzJ62LjMWcPGWrTrdocvGqifdJ3

Versions

Version
1.0.0