• The middle waveform is identical to the first, but with a slower timebase. This to illustrate the lack of activity on the bus for a 'long' time.
    My bus has 2x3k3 pullup, more than adequate for a single device at 100kHz.

    Delaying the I2C1.setup() solves the issue. On several power down/up cycles I only had 1 failure. So you can consider this as solved - it works, but does not feel very robust though...

    As for the software I2C : it would of course be nice to extend the I2Cx objects with a 'transfer complete' event. The background operation of the hardware I2C controller could then be started and generate an interrupt when ready. JavaScript can then continue to do other work until I2Cx.on("complete",... ) triggers. But of course you already knew that...

    Thank you for the support.


Avatar for jgw @jgw started