NFC EEPROM Example for boards based on the ST25DV series of dual port NFC/I2C EEPROM, like the Qwiic NFCPROM, Blinking Business-card Badge, or Teardown2019 Badge. This example demonstrates how to manage a headless embedded WiFi web server with a phone through NFC.
- Set WiFi SSID and Password
- Provide IP address in URI NDEP
- Log event messages in EEPROM
- ST25DV based board with I2C connector (Qwiic NFCPROM)
- Phone with ST25 Android App
- Arduino enabled ESP32 board (Feather Huzzah32)
- Adapter/cable to connect boards (QwiiKit)
- Load SSID into ST25DV memory starting at address 0x00C0 using ST25 Android app
- Load Password into ST25DV memory starting at address 0x00E0 using ST25 Android app
- Load nfcprom.ino into ESP32 board, reset and wait for the board to start up.
- Tap NFCPROM board to retrieve NDEF URI with address recieved through DHCP (phone must be on same WiFi network)
- Open page served by ESP32, see LED turn/off
- Read ST25DV memory starting at 0x0100 to see logged events.
ST25DV Memory Map
- 0x0000 NDEF URI
- 0x00C0 SSID
- 0x00E0 Password
- 0x0100 Event message log
Limitations and next steps
- SSID and Password are just stored in memory as ASCII. This is not easy to load with the ST25 app. An NDEF or text file would be easier to load with the app.
- Message are fixed 16 byte length