Recently, Raspberry Pi LTD released the Raspberry Pi RP2350, a microcontroller intended for use with Raspberry Pi Pico 2 and third-party RP2350-based

Raspberry Pi RP2350 microcontroller has a bug that causes faulty pull-down behavior on resistors

submited by
Style Pass
2024-08-30 16:30:05

Recently, Raspberry Pi LTD released the Raspberry Pi RP2350, a microcontroller intended for use with Raspberry Pi Pico 2 and third-party RP2350-based products [h/t Hackaday]. Unfortunately, a hardware bug was quickly found with the pull-up resistors onboard, which have faulty voltage control. Basically, when GPIO pins go to 3.3 volts, they don't go back to 0 volts afterward and are stuck at 2.1 volts. This is because of unintended latching behavior, which prevents the GPIO pins from being pulled to ground their charge.

The issue was originally discovered by Ian Lesnet, who goes by Bus Pirate on Mastodon. The bug was subsequently added to the official RP2350 datasheet, which also notes that the issue impacts pull-up SWD pads but not QSPI pads. QSPI pads aren't affected because they don't have the faulty circuitry. USB PHY pull-down resistors also aren't impacted.

But what can owners of this microcontroller do about the problem? There's an official solution from Raspberry Pi LTD and a separate one from Lesnet. The Bus Pirate solution involves adding external pull-down resistors, which increases board size but otherwise fixes the problem. The Raspberry Pi solution, meanwhile, is to enable an input buffer before a read and disable it afterward. The Bus Pirate solution may be better unless you really need to use the internal pull-down resistors as-is for some reason.

Leave a Comment