'''


 Documentation:
 Pins and GPIO: https://micropython-docs-esp32.readthedocs.io/en/esp32_doc/esp32/quickref.html#pins-and-gpio
 sleep_ms: http://docs.micropython.org/en/latest/library/utime.html?highlight=utime%20sleep#utime.sleep_ms

 Course:
 MicroPython with the ESP32

'''

from machine import Pin
from utime import sleep_ms # "utime" is an optimized subset version of the CPython time module

led1 = Pin(21, Pin.OUT)    # create output pin on GPIO21
led2 = Pin(19, Pin.OUT)    # create output pin on GPIO19
led3 = Pin(22, Pin.OUT)    # create output pin on GPIO19
led4 = Pin(18, Pin.OUT)    # create output pin on GPIO21
led5 = Pin(5, Pin.OUT)    # create output pin on GPIO19
led6 = Pin(17, Pin.OUT)    # create output pin on GPIO19
led7 = Pin(16, Pin.OUT)    # create output pin on GPIO21
led8 = Pin(4, Pin.OUT)    # create output pin on GPIO19
led9 = Pin(0, Pin.OUT)    # create output pin on GPIO19
led0 = Pin(2, Pin.OUT)    # create output pin on GPIO19


while True:
    led1.on()                 # set pin to "on" (high) level
    sleep_ms(10)
    led1.off()                # set pin to "off" (low) level
    sleep_ms(100)

    led2.on()                 # set pin to "on" (high) level
    sleep_ms(10)
    led2.off()                # set pin to "off" (low) level
    sleep_ms(200)

    led3.on()                 # set pin to "on" (high) level
    sleep_ms(100)
    led3.off()                # set pin to "off" (low) level
    sleep_ms(100)

    led4.on()                 # set pin to "on" (high) level
    sleep_ms(100)
    led4.off()                # set pin to "off" (low) level
    sleep_ms(100)

    led5.on()                 # set pin to "on" (high) level
    sleep_ms(10)
    led5.off()                # set pin to "off" (low) level
    sleep_ms(200)

    led6.on()                 # set pin to "on" (high) level
    sleep_ms(20)
    led6.off()                # set pin to "off" (low) level
    sleep_ms(100)

    led7.on()                 # set pin to "on" (high) level
    sleep_ms(200)
    led7.off()                # set pin to "off" (low) level
    sleep_ms(100)

    led8.on()                 # set pin to "on" (high) level
    sleep_ms(10)
    led8.off()                # set pin to "off" (low) level
    sleep_ms(200)

    led9.on()                 # set pin to "on" (high) level
    sleep_ms(20)
    led9.off()                # set pin to "off" (low) level
    sleep_ms(100)

    led0.on()                 # set pin to "on" (high) level
    sleep_ms(200)
    led0.off()                # set pin to "off" (low) level
    sleep_ms(100)





# You can also use:
# led.value(1)
# OR
# led.value(0)