Base64 format details in note.add

Hi,

what is the exact details of the base64-encoded payload in note.add? I am sometimes getting errors like: 'cannot interpret JSON: unrecognized base64 at offset 5972 {io}'. I am currently using the configuration Standard char set, unpadded (base64 - Rust). If you could point me in the direction of the library or implementation you are using that would probably help.

It happens fairly seldom, so it might just be some random I2C error and nothing to worry about.

Regards, Gaute

Hi @gauteh,

It sounds like you’re getting some data corruption over I2C or Serial. Can you try adding 10K pull-up resistors on both sides of your header wires that connect the boards to see if that helps?

Rob

1 Like

I forgot to mention :point_up: this is especially important for boards like the nRF52840 that fail to put pull-ups on the board. We’ve seen problems like this when the nRF52840 (and others like it lacking pull-ups) are placed on a breadboard with header wires attached to the Notecarrier.

1 Like

Good catch. Maybe that’s the cause of my other troubles as well. I’ll check.

Although the board I am using is missing the pull-ups, and they are required by the datasheet of the MCU, the notecarrier by Sparkfun do have them. The boards are connected over Qwiic, only a couple of centimeters.

I finally managed to get back to the office (damn pandemic) and monitor voltage. The base64 error happens when input voltage drops to 3.2V (and might be lower without my multimeter noticing), so I think it is pretty likely that is the issue. For whatever reason this probably triggers my other I2C error as well.

Are you seeing any dips below 3.2V (for instance when the modem powers on)? For reference, the Notecard + Notecarrier work down to 2.5V, however it must be a sustained 2.5V, so it can’t dip below that level.

No not on my meter. But it could be too short for it to pick it up. There’s a voltage regulator for the host MCU as well that can do down to 2.8, but I don’t see the MCU brown-out (usually the LEDs fade well before the MCU stops), but it might be low enough to make the logic levels too low.