You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • Once the FET/B0 Jumper is shorted, the following commands will work...

    Don't do this! It's for something totally unrelated (allowing you to use the FET not to gate USB power, but to control other stuff). But because you're using USB you need it non-shorted.

    My memory of the HD44780 boards is that generally the I2C actually worked ok at 3.3v, and the backlight lit up, but nothing was displayed on the screen - hence the need for 5v. But the 4.4v you have should be fine. I've used those exact displays on the Pico before without issues.

    I guess it might be that you need the pullup resistors to 3.3v, now it's running from 5v?

    Even before you add pullup resistors, please could you try:

    var i = new I2C();
    i.setup({scl:B6, sda:B7});   
    // PCF8574AT based IO expanders default to address 0x3F
    var lcd = require("HD44780").connectI2C(i, 0x3F);      
    lcd.print("Hello World!");

    also try changing the 0x3F to 0x27 if that doesn't work (just in case).

    Software I2C can use the chip's internal pullup resistors, and so may be more able to communicate properly.


Avatar for Gordon @Gordon started