Please help on manipulating I2C LCD on Microbit

Hello everyone,

I recently acquired a high-quality 20x04 LCD with I2C protocol support. While I can manipulate the device using the MakerBit LCD2004 extension, I’ve noticed that its functionality is quite limited. To fully utilize the capabilities of this LCD, I believe I need to learn how to work with the I2C protocol directly on Microbit, without relying on any additional extensions.

Although I’ve read several materials on the principles of I2C communication, I’m still unsure how to practically implement it on Microbit. I’m eager to explore step-by-step tutorials that can guide me in using I2C to drive the LCD effectively.

If anyone knows of helpful resources or tutorials, I’d greatly appreciate your recommendations

P.S.
MakerBit LCD2004 extension I used:

Hi, the easiest way to send the value to the I2C peripheral is to use the pins.i2cWriteNumber block (from pins > more > i2c).

Example:

pins.i2cWriteNumber(
ADDR,
VAL,
NumberFormat.Int8LE,
false)

ADDR is address of device and VAL is command to control the LCD2004. Both can be found in manual for LCD2004 or in the makerbit extension. Also, the extension https://github.com/1010Technologies/pxt-makerbit-lcd2004 uses the core library for LCD2004 https://github.com/1010Technologies/pxt-makerbit-lcd-core, so there you can start.
You can also create your own extension. If you’d like to, follow the instructions here: https://makecode.com/extensions/.