> For the complete documentation index, see [llms.txt](https://inacks.gitbook.io/inacks-is3720-i2c-dmx+rdm-receiver-ic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://inacks.gitbook.io/inacks-is3720-i2c-dmx+rdm-receiver-ic/datasheet/usage.md).

# Usage

The IS3720 is very simple to use. It has been designed to minimize the time required to implement the DMX+RDM protocol.

Your microcontroller only needs to configure the RDM registers at startup and, once done, retrieve the desired DMX Channels.

## Example: Designing an underwater RGB light with RDM <a href="#refheading___toc18556_4076321811" id="refheading___toc18556_4076321811"></a>

### During startup, perform the following steps:

1. **Write the Unique Identification Number** (6 bytes) of the device to the memory map register block UID.\
   *This number uniquely identifies your RDM product from all other RDM products on the market.*

   *For prototyping, leave the default UID and skip this step.*

   *Refer to the UID section for more information on how to acquire a UID.*

   *When the UID data changes, it is automatically stored in the IS3720’s internal non-volatile memory and reloaded each time the chip powers up.*
2. **Write the category code** (2 byes) of the device to the CATEGORY register block in the memory map.\
   In this example, a fixed RGB light corresponds to 0x01, 0x01: PRODUCT\_CATEGORY\_FIXTURE\_FIXED.\
   *This information defines the type of product your device is, such as a light, fog machine, projector, dimmer, etc.*\
   *It does not affect the operation of the device but helps the lighting operator perform their tasks.*\
   *The values of this register are standardized and recognized by all RDM controllers, according to Table 2: RDM Standardized Product Categories.*
3. **Write the DMX footprint** (2 bytes) of the device to the DMX\_FOOTPRINT register block in the memory map.

   In this example, a fixed RGB light corresponds to 0x00, 0x03, as it uses three DMX channels.

   *This information tells the lighting operator how many channels the device needs.*

   *This register is especially useful because it enables the autopatch feature in RDM controllers, making setup much faster, particularly in large DMX installations.*
4. Optionally, you can **write your company name**, product model number and name, software version and name by writing to the MANUFACTURER\_LBL, MODEL\_NUM, MODEL\_LBL, SOFT\_NUM, SOFT\_LBL register blocks in the memory map.

   *This information doesn’t affect how your product works but helps the lighting operator identify your device.*
5. You’re ready! **Bring the RDM device online** by writing a 1 to the RDM\_ONLINE register.

### In the main loop of your code, perform the following steps:

6. **Keep monitoring DMX\_START\_ADDRESS and IDENTIFY\_DEVICE** register by reading its values or monitoring changes on the IS3720’s INT pin.

   *Occasionally, the lighting operator may change the DMX\_START\_ADDRESS of your device, usually when an underwater light is first installed, or during a stage setup for a show.*

   *During these initial tasks, the operator may set the IDENTIFY\_DEVICE register to 1, which tells your device to “show itself” overriding the current DMX data it is receiving. This is very useful, for example, in our underwater scenario, it helps to identify a specific light among the rest of the lights.*
7. **Keep reading the DMX data** assigned to the light and dim the RGB LEDs accordingly.

   *The IS3720 stores all DMX data in its DMX\_CHx registers, but you should read only the channels assigned to your device. Reading all the DMX\_CHx registers takes more time and can reduce the light’s refresh rate.*

   *The DMX\_START\_ADDRESS register tells you in which DMX\_CHx start reading from, and the DMX\_FOOTPRINT register tells you how many channels to read.*

Continuously perform steps 6 and 7 in your main code to keep your light responsive to the DMX data.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://inacks.gitbook.io/inacks-is3720-i2c-dmx+rdm-receiver-ic/datasheet/usage.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
