Use Monza X to Trigger an Interrupt or Blink an LED

Write Wakeup Mode Overview

This note describes the minimum hardware needed to use Monza® X-2K Dura and X-8K Dura as an interrupt. This is done by having the Monza X chip operate in passive mode with only the SCL line pulled high through a resistor to a voltage source. With Write Wakeup mode enabled and DCI floating or grounded, when the tag chip is written to via RAIN RFID, the SCL line with be pulled low which may trigger an event such as an interrupt or blinking an LED. In this example, a battery is used as the voltage source. Note that this is not the typical use case for WWU mode as this does not use the I2C interface at all.

Monza® X-2K Dura and X-8K Dura have a wake up feature that is tied to writes being performed over the Gen2 interface. In order to enable this feature, the WWU bit (bit 6 of byte 21) must be set to one via an I2C master. With this bit set, the DCI pin should be set to 0V (Sleep mode). The SCL line must remain high, but will draw no current (save the IIL  or input leakage current which is nominally 1 nA). A reader may continue to interact with Monza X on the RF ports. If a reader performs a write operation, and the wake up bit is set, Monza X will assert the SCL line, pulling the pin low for the duration of the write operation, approximately 4ms. This transition is what is used to trigger an event.

Basic Implementations Without I2C

The figures below show possible hardware implementations of the WWU feature. Note that these diagrams do not use the I2C interface of Monza X - only the WWU feature is implemented here. Monza X is always in a "SLEEP" state because DCI is not high, so the tag chip is only operating in passive mode via RF. The SCL pin will be high by default, except during the duration of an RF write cmd when the pin will be pulled low.


Figure 1. Monza X write wake up mode schematic and timing diagram, minimal components


Figure 2. Monza X write wake up mode, blink LED on write

In Figure 2, no current will will flow through the LED except during the period of an RF write cmd. During this short duration, the LED will light up for just long enough to be detectable by the human eye. A dedicated pullup resistor here is optional as the SCL line is effectively pulled high via the LED and resistor. Note that the SCL line should not sink more than 25 mA and the voltage should not exceed 4.1 V.


Monza X Blinking LED Example

Hardware Required

  • Monza X-8K or Monza X-2K development board
  • Through hole LED
  • Through hole resistor (1.5 kΩ used here)
  • Breadboard
  • 100 mil jumper wires
  • Speedway Revolution and Mini-Guardrail Antenna
  • Host PC

Software Required


Connecting an LED and resistor from VDD to SCL on a Monza X-2K or Monza X-8K development board is all that is needed to blink an LED on a write operation. Make sure that Write Wakeup mode is enabled for the Monza X chip. To enable this mode, refer to the Monza X Software API and Application Note, using option 34 in the command line utility.

Next, connect the resistor and LED as shown in figure 2 so that the SCL line is pulled high to the battery positive terminal (VDD). Note that this is the lower pin of the jumper J1 on the development kit. J1 should remain open, as shown in figure 4, to allow DCI to remain floating.


Figure 3. Pinout for Monza X Development Kit I2C header


Figure 4. Hardware Setup

Now, all that is needed to trigger the LED to blink is a write command. This may be done by any RAIN RFID reader. The figure below uses ItemTest, inventories the tag, and writes 0000h to word 0 of user memory. Any successful write command with any value (ie, writing to EPC or any location in user memory) will trigger the WWU interrupt to pull the SCL line low. Continuing to write the same value to the same location in memory, such as writing 0000h to word 0 of user memory, will minimize wear on the NVM.


Figure 5. Sending a write command using ItemTest

Figure 6. LED is off while Monza X is not being written to (ie, the default state)


Figure 7. LED is on while Monza X is being written to

As this example shows, using Monza X to trigger an event such as blinking an LED is very simple and may be done with very few external components. With the stages outlined above, an application utilizing Monza X can trigger a world of possibilities.

Was this article helpful?
1 out of 1 found this helpful



Article is closed for comments.