Skip to content

HydraFW HydraNFC v2 guide

Benjamin Vernoux edited this page Mar 13, 2024 · 7 revisions

HydraNFC Shield v2 must be plugged on the front side of HydraBus! (PowerOff the HydraBus before to plug HydraNFC)

This guide is updated towards firmware release HydraBus v1 HydraNFC Shield v2 firmware v0.2.1 Beta

Selection of NFC technology

You can use nfc-a, nfc-b, nfc-st25tb, nfc-v or nfc-f to select a specific NFC technology to be used with scan command

See help or press Tab for all commands:

> nfc
NFCv2> help
Scan selected technology (NFC-A/B/V/F...)
   sd             SD card management
   show           Show NFC parameters
   set-nfc-obsv   Set NFC Observer(ON=1/OFF=0) and 8bits value for TX/RX
   get-nfc-obsv   Get NFC Observer(ON=1/OFF=0) and 8bits value for TX/RX
   nfc-all        Select technology NFC-A/B/V/F
   nfc-a          Select technology NFC-A(ISO14443A)
   nfc-b          Select technology NFC-B(ISO14443B)
   nfc-st25tb     Select technology NFC-B(ISO14443B ST25TB)
   nfc-v          Select technology NFC-V Vicinity(ISO15693)
   nfc-f          Select technology NFC-F FeliCa
   scan           Scan selected technology (NFC-A/B/V/F...)
   ce             Set Tag properties for Card Emulation (UID, SAK...)
   emul-3a        Emul Tag ISO14443A
   emul-t4t       Emulate Type 4 Tag with preset Tag properties
   connect        Connect to a smartcard(NFC-A/B) or NFC-V tag
   connect-opt    Set options for connect & send commands
   send           Send APDU(NFC-A/B) or data+crc(NFC-V) to a tag
   exit           Exit NFC mode

NFCv2> nfc-all
NFCv2> show
Selected technology: NFC-A/B/V/F

NFCv2> nfc-a
NFCv2> show
Selected technology: NFC-A

NFCv2> nfc-b
NFCv2> show
Selected technology: NFC-B

NFCv2> nfc-st25tb
NFCv2> show
Selected technology: NFC-ST25TB

NFCv2> nfc-v
NFCv2> show
Selected technology: NFC-V

NFCv2> nfc-f
NFCv2> show
Selected technology: NFC-F

Read UID of any NFC Tag (ISO14443A, ISO14443B, ISO15693/Vicinity, FeliCa)(NFC-A/B/V/F)

  • Using console type nfc + Enter to enter NFC mode dedicated to HydraNFC Shield v2.
  • Choose the NFC technology to select for scan command using nfc-all (Note: you do not need to repeat this command all the time)
  • Example to read Type A Tag (MIFARE Classic MF1ICS50), place the tag on NFC Antenna and type following commands:
> nfc
NFCv2> nfc-all scan
NFC-A 106-106 kb/s Type=0x00 ATQA=0x0004 SAK=0x08 UID:CD815F76
  • Example to read Type A Tag (MIFARE DesFire EV1 4K), place the tag on NFC Antenna and type following commands:
> nfc
NFCv2> nfc-all scan
NFC-A 106-106 kb/s Type=0x20 ATQA=0x0344 SAK=0x20 ATS=0x067577810280 UID:04775A52846180
  • Example to read Type B Tag, place the tag on NFC Antenna and type following commands:
> nfc
NFCv2> nfc-all scan
NFCv2-B 106-106 kb/s UID:00422099
  • Example to read Type V Tag (ST25), place the tag on NFC Antenna and type following commands:
> nfc
NFCv2> nfc-all scan
NFC-V 26-26 kb/s UID:E00223001886A91D
  • Example to read Type F Tag (FeliCa Lite-S RC-S966), place the tag on NFC Antenna and type following commands:
> nfc
NFCv2> nfc-all scan
NFC-F 212-212 kb/s UID:012E4CD8A3162EA1

You can also define options for scan like continuous mode and its period (in millisecond) (default period is 1000ms).

You can also read multiple tags (so far up to 4 on the reader) at same time as the firmware support full anti-collision (thanks to ST RFAL).

NFC Emulation ISO 14443A & Mifare UltraLight

Emulation ISO 14443A Tag UID

  • Example usage for 4 bytes UID:
    • ce uid 01020304 sak 20
    • emul-3a
  • Example usage for 7 bytes UID:
    • ce uid 01020304050607 sak 20
    • emul-3a

Emulation ISO 14443A Tag (UID 4 or 7 Bytes), SAK(configurable), NDEF with Data URI

  • Example usage 4 bytes UID:
    • ce uid 01020304 sak 20 uri "hydrabus.com"
    • emul-t4t uri
  • Example usage 7 bytes UID:
    • ce uid 01020304050607 sak 20 uri "hydrabus.com"
    • emul-t4t uri

Emulation Mifare UltraLight

  • Example usage 4 bytes UID:
    • ce uid 04010203 sak 00
    • emul-mf-ul
  • Example usage 7 bytes UID:
    • ce uid 04010203040506 sak 00
    • emul-mf-ul

Note: Mifare UltraLight first byte UID shall be 04 else it is not recognized by reader as Mifare UltraLight

Connect, Send APDU data

  • connect Connect to a smartcard (ISO 14443 A & B)
  • send Send APDU data to a card initialized with the connect command (only ISO 14443 A & B tags) Example usage:
> nfc
NFCv2> connect
> 26
< 04 00 
> 93 20 
< B9 CC 13 71 17 
> 93 70 B9 CC 13 71 17 
< 20 
> E0 00 
< 0A 78 80 82 02 20 63 CB A3 A0 
> D0 01 
< D0 
ISO 14443-A card detected.
NFCv2> send 00A4040002AABB00
> 0A 00 00 A4 04 00 02 AA BB 00 
< 0A 00 67 00 
67 00 

For more advanced features see following tutorials:

Work In Progress todo

Add SD, Show, more details ...