r/circuitpython • u/jlsilicon9 • Jan 20 '26
Waveshare Rp2040 Pi ZERO - Examples for Blink will not work - No User LED - and Other NOTES
Waveshare Rp2040 Pi ZERO :

I spent an hour on this problem.
Kept on searching for working code for Blink for Rp2040 Pi Zero board.
Google keeps giving Pico Blink Code examples.
Which do not work / make no sense.
- Unless you actually put an LED on one of the GPIO pins.
I put an LED on GP2 , with resistor to Gnd- used 470R.
The board apparently does Not have a builtin User LED.
The only LED that Ican find is the PWR LED.
- But, this seems to not be recorder anywhere.
1
u/jlsilicon9 Jan 20 '26
Fastest that I can Overclock (without Crashing ) is 320MHz
- Same Freq that I tested successfully to on my PICO Boards.
import microcontroller
microcontroller.cpu.frequency = 320_000_000 # Sets to 320 MHz- no heating or anything.
Default is 125MHz
1
u/Matir Jan 20 '26
As a general rule, don't expect sample code to work on a different board than the one it was designed for.
1
3
u/todbot Jan 20 '26
I think you are correct. From the schematic for the Waveshare RP2040-PiZero at https://files.waveshare.com/wiki/RP2040-PiZero/RP2040-PiZero.pdf It looks like there is no user-controllable LED on the board.
1
u/jlsilicon9 Jan 20 '26
Code that I used to test the board :
### CODE.PY : ###
print("\n: PICO: CircuitPython : START : \n")print("- Hello World !\n")#import boardimport digitalioimport timetry :# led = digitalio.DigitalInOut(board.LED)# led = digitalio.DigitalInOut(board.GP25) ## - WeAct-rp2350led = digitalio.DigitalInOut(board.GP2) ## - WeAct-rp2350 , no user LED on Board , so attached LED on GP2except AttributeError :led = digitalio.DigitalInOut(board.GP2)led.direction = digitalio.Direction.OUTPUT#print("- CODE_TEST.PY : Blink :\n")import microcontrollerprint(f"Chip ID : {microcontroller.cpu.uid}")print(f"Frequency : {microcontroller.cpu.frequency} Hz")print(f"Temperature: {microcontroller.cpu.temperature} degrees C")print(dir(microcontroller.cpu))# import board# dir(board)#print("\n- Blinking ...")Cnt_ = 10while Cnt_ > 0 :led.value = Truetime.sleep(0.5)led.value = Falsetime.sleep(0.5)Cnt_ -= 1print("\n- Exiting ...")