For the complete documentation index, see llms.txt. This page is also available as Markdown.

STM32 Firmware

The following chapter provides example firmware for demonstration purposes only and does not form part of the product specification. The customer is responsible for implementing their own solution and for ensuring compliance with applicable legislation and the DMX and RDM specifications.

Kappa3720Ard: IS3720 Evaluation Board for Arduino and STM32 Nucleo Boards

Visit our product page to place your order: Kappa3720Ard

Coding the IS3720 on an STM32 is very simple. You do not need any special libraries—using the I2C HAL functions HAL_I2C_Mem_Read() and HAL_I2C_Mem_Write() is sufficient to communicate with the IS3720.

In the example, the first operation is to enable RDM communication by writing a 1 to the RDM_ONLINE register (address 631). Once this is done, you only need to continuously check the DMX_START_ADDRESS register (address 516 and 517) to ensure you always read the correct DMX channels assigned to your device. This is important because the lighting operator may change your DMX Start Address via RDM, which is one of the most commonly used RDM features.

Once you have read your DMX data, you can send it to your LEDs using PWM or whatever control method your product implements. The pwm() functions in the example code are provided for reference only.

Before enabling RDM, typical operations include setting the product information, such as the manufacturer label, software version, device category, etc.

In the while(1) loop, it is also necessary to regularly check the IDENTIFY_DEVICE register to determine whether the lighting operator has requested the device to identify itself.

Last updated

Was this helpful?