You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • B6 and B7 on the Pico are pins used for Serial1 - which is where the console moves by default.

    I guess that might be affecting things - while they shouldn't transmit anything for ~1 second after startup (by which time you changed the pins around anyway), I guess it's possible that their startup values confuse I2C on the display and it needs a timeout to recover.

    I'd hope that the following - as suggested above - might work:

    function onInit() {
      I2C1.setup({scl:B6, sda:B7});
      setTimeout( function() {
        var lcd = require("HD44780").connectI2C(I2C1);
        lcd.clear();
        lcd.print( "Hello World!" );
      }, 2000 );
    }
    

    But the other option is just to use some different pins - it's bad luck - those two are literally the only ones on the board that get used for something else by default :)

About

Avatar for Gordon @Gordon started