Close

Drawing on your phone, displaying on ePaper via NFC

A project log for Harvesting NFC Energy to Transmit Commands

Using NFC RF energy harvested from a phone tap to submit commands and start a microcontroller. No standby power.

casparcaspar 04/19/2026 at 13:420 Comments

The idea of this project is to harvest NFC Energy to transmit commands. A command is typically a few bytes. So — how far can we push it?

With the chip at hand, up to 512 bytes, as it turns out. Enough for a 62×62 pixel image, drawn with my finger on my phone screen, packed as a 1-bit bitmap, and transferred entirely over NFC — powered by nothing but the phone's RF field. No cable, no Wi-Fi, no power from the device side. Pixel art - well, not if I do the drawing, as you can see ;) Below the rough Android app. 

The test setup (see video): The Pico W is completely off, no power, no polling, no sleep mode — just a dead circuit waiting for something to happen. Then I approached my phone with the NFC field active.

The ST25DV NFC chip wakes from the phone's RF field, powered entirely by it. The Android app writes the 62×62 pixel bitmap — drawn with my finger on the phone screen, see above — into the chip's EEPROM over NFC. The chip's GPO pin fires. A P-channel MOSFET switches on. The Pico boots, reads the image from the chip over I2C, and refreshes the ePaper display. Then it cuts its own power and goes back to drawing negligible current.

The phone carried the energy. The device carried no listening burden.

**How the image transfer works**

The drawing canvas in the Android app is a 62×62 pixel grid — matching the NFC payload capacity of the ST25DV04KC. Each pixel is one bit. The full image fits in 481 bytes (62 × 62 / 8), well within the chip's 512-byte EEPROM.

When you tap the phone to the chip:
1. The app writes the 481-byte pixel bitfield to the chip EEPROM 
2. It then writes a 16-byte "INKI" command header at the end of the EEPROM, with opcode 0x30 (Draw Image)
3. The header write triggers the GPO pin — waking the Pico
4. The Pico reads the opcode, fetches the pixel data from the chip, decodes the bitfield, and renders it on the ePaper display

The ePaper then holds that image indefinitely — no power required to maintain it.

**Idle: Almost nothing**

The NFC subsystem draws no current from the battery when no phone is present. The ST25DV is powered by the phone's 13.56 MHz RF field. The Pico is completely off between interactions. The ePaper holds its image without power.

Apart from leakage and pull-up currents, the only quiescent draw is the RTC. With an RV-3028, that's 45 nA. A set of AA batteries sustains thousands of wakes - see inki project (https://github.com/c0de111/inki).

Discussions