Back to project journal
27 Aug 2026

Integrated DMA2D && LSM6DS3 Sensor

Done DMA2D, enabled the DMA2d in the lvcofig.h

  • Firmware
  • Software
baremtal i2c
output of the IMU Sensor

Today, i enabled the DMA2D, i got a function from gpt to test the functionality basically filla rectanle, i worked then in the lvconfg.h i enabled the dma2d, in non interrupt mode, then lots of error poped up asking for the hal defines, since this is my own baremetal i was not having in the hal style, then i created another .h file where it only contains for the specific defines it was asking in the hal style, and added it to the file with error and the error was fixed, but the dma2d did not increase the FPS, or reduce the load, i read the lvgl community the authors say that the lvgl software rendering runs in mostly as the same speed as the dma2d rendering. i just found 1fps performace increase, maybe enabling the interrupt might reduce the load i guess, i need to do lots of experiment with those. Next i was trying to enable the MAX17048 in I2C2 since i used the I2C1 for tsc2007. Along witht he MAX17048, in the same bus i added my LSM6DS3 IMU, intergated it worked perfectly, then and in the lvgl ui of the battery data display i added another two boxes for the Roll and Pitch data, it was working well. But the fps was very low went down to 35fps, and the load was 90%, need to reduce all this.

What I did

  • Completed DMA2D & Integrated LSM6DS3

Next

  • SDMMC, TLV3000 (I2S, I2C), BLE_A2DP (ESP32), GPIO's, Joystick, configure teh interrupts and dma to reduce teh load.