PICO, rshell unwanted drop-outs to REPL #12668
-
I have a PICO mounted on small piece of PCB, all ground pins are soldered to the PCB. I get many unwanted drop-outs to REPL when developing the code. I am using rshell. I have tried init all GPIO to output and use 10K pull-ups on input pins. But if I touch any GPIO on the board with a paper clip I can easily provoke a drop-out to REPL. Should the "ground plane" I have the PICO mounted on be connected back to a better ground on the computer? Static matt? I never saw this problem with the ESP32 dev boards or bare modules. The PICO seems a lot more sensitive to the environment (EMI)? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 12 replies
-
Putting a 1nF disc cap to ground on pin16 (the only input pin) reduces the number of fails BUT I need a small delay before: breakout = Pin(16, Pin.IN, Pin.PULL_UP)
sleep(0.01) # maybe could be shorter
if not breakout(): # Pull down for REPL
exit() or it does exit(). |
Beta Was this translation helpful? Give feedback.
-
Thought I'd try another laptop and blow-me-down ... a old netbook running Ubuntu 18.04LTS no problem. The newer laptop running Ubuntu 20.04LTS with modemmanager (usb-modeswitch) removed seems to be the culprit. Any clues appreciated. |
Beta Was this translation helpful? Give feedback.
-
Followed-up several suggestions from Google but no progress. There appears to be some difference how the PICO interfaces to the USB port versus the ESP32. |
Beta Was this translation helpful? Give feedback.
-
At risk of stating the obvious, are you sure there are no shorts between traces and pads on the rear of the Pico and the PCB? I would repeat your tests with a bare Pico to determine whether you have a Linux issue or a hardware one. FWIW I have used various Picos on several Linux PC's without problems, including some mounted on PCB's of my own design. In my experience they are rock-solid reliable. |
Beta Was this translation helpful? Give feedback.
-
Final hardware implementation to reduce the effect of local EMI on my cause of PICO resets. The caps are 100nF disc and the resistor is 1K. pin16 seems to be the only sensitive GPIO so using it as a "breakout" pin was unfortunate. Be aware the the |
Beta Was this translation helpful? Give feedback.
Well, first of all it does not crash. It does a perfectly fine RESET.
With a quite high pull-up, it take almost no charge (only a few pico-Coulomb) to throw the RUN pin out of its delicate balance.
So a higher capacitor (not in the low pF but at least in the high nF range) in combination with an external pull-up resistor (this one only a very few kΩ as there's almost no current flow) will get rid of all your problems.
Static charge/discharge is a problem almost everywhere. So you need to make sure that even if you discharge your bodies charge into a pin,…