Problems getting I2C to work on RT 1020

Showing results for 
Search instead for 
Did you mean: 

Problems getting I2C to work on RT 1020

Contributor I


I am trying to set up the i.MX RT1020 so that it can send I²C signals to an Arduino. Here's some information on what I am doing so far:

Part number: MIMXRT1021DAG5A

OS: Zephyr 2.3.0-rc1

Pins: I am using the D14 and D15 pins in the J19 area for SDA (D14) and SCL (D15)

This is my code:

#include <zephyr.h>
#include <sys/printk.h>
#include <device.h>
#include <drivers/i2c.h>

#define HIGH_VALUE 0x01

void main(void) {
   struct device *dev;
   int ret;

   uint8_t data = HIGH_VALUE;

   dev = device_get_binding("I2C_1");
   if(!dev) {
      printk("I2C: Device not found\n");
   } else {
      printk("I2C: Device found\n");
   while(true) {
      ret = i2c_write(dev, &data, sizeof(data), DESTINATION_ADDR);

I am compiling using: west build -p auto -b mimxrt1020_evk

The code compiles without any errors.

When running, it logs "Device found" to my serial console and then repeatedly logs "Trying..." and "done", so the while loop is also getting run.

I am however not getting any I²C signals on my Arduino. I am quite sure that the problem is on the side of the RT1020 since the Arduino would log all I²C inputs to another serial console but it doesn't show anything.

What am I doing wrong? My feeling is that I am either using the wrong ports or there is something wrong with my code.

I hope that I provided enough information for you to understand my issue. Thank you for your help in advance.


Labels (1)
Tags (2)
0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hello Moritz,

Could you please specify the software you are using on your project? Have you tried using our I2C examples provided in the SDK? In the SDK package you will find a lot of different examples that will help you speed up your development process.


You can download the SDK from this link: Welcome | MCUXpresso SDK Builder 

Best regards,


0 Kudos