# Project objective: Fade the light of an external LED using PWM
# 
# Hardware and connections used:
#   LED to GPIO Pin 15
#   220 ohm resistor for the LED
#
# Programmer: Adrian Josele G. Quional

# modules
from machine import Pin, PWM    # PWM class is needed to create a PWM object
from time import sleep

# creating a PWM object, specifying GPIO Pin 15 as OUT
pwm = PWM(Pin(15))
# Note: pins that support PWM are 
#   GPIO0, GPIO2, GPIO4, GPIO5, GPIO10, GPIO12-19, GPIO21, GPIO22, GPIO23, GPIO25-27

# setting frequency of PWM output at 1000 Hz
pwm.freq(1000)

# continuously fade the brightness of the LED
while True:
    # gradually turns the LED on
    # 65535 is the maximum analog value (max voltage)
    # 65025 would also worked, as per Raspberry Pi Projects website
    for duty in range(65535):
        pwm.duty_u16(duty)
        sleep(0.0001)
    
    # gradually turns the LED off
    # 65535 slowly decrements to 0
    for duty in range(65535, 0, -1):
        pwm.duty_u16(duty)
        sleep(0.0001)
$abcdeabcde151015202530fghijfghij
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT
pico:GP0
pico:GP1
pico:GND.1
pico:GP2
pico:GP3
pico:GP4
pico:GP5
pico:GND.2
pico:GP6
pico:GP7
pico:GP8
pico:GP9
pico:GND.3
pico:GP10
pico:GP11
pico:GP12
pico:GP13
pico:GND.4
pico:GP14
pico:GP15
pico:GP16
pico:GP17
pico:GND.5
pico:GP18
pico:GP19
pico:GP20
pico:GP21
pico:GND.6
pico:GP22
pico:RUN
pico:GP26
pico:GP27
pico:GND.7
pico:GP28
pico:ADC_VREF
pico:3V3
pico:3V3_EN
pico:GND.8
pico:VSYS
pico:VBUS
led1:A
led1:C
r1:1
r1:2