The ESP32 chip features 40 physical GPIO pads. Some GPIO pads cannot be used or do not have the corresponding pin on the chip package (refer to the [ESP32 Datasheet](http://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf)).
- GPIO6-11 are usually used for SPI flash.
- GPIO20, GPIO24, and GPIO28-31 are not available as pins.
- GPIO34-39 can only be set as input mode and do not have software pullup or pulldown functions.
Set the drive strength of a given GPIO pin. The higher the drive strength, the more current can be sourced/sunk from the pin. The exact maximum depends on the power domain of the pin and how much current other pins in that domain are consuming.
#### Syntax
`gpio.set_drive(pin, strength)`
#### Parameters
-`pin`, a valid GPIO pin number.
-`strength` the drive strength to set, one of
-`gpio.DRIVE_0` weakest drive strength
-`gpio.DRIVE_1` stronger drive strength
-`gpio.DRIVE_2` default drive strength
-`gpio.DRIVE_DEFAULT` default drive strength (same as `DRIVE_2`)
-`callback` optional function to be called when trigger fires. If `nil` or omitted (and `type` is not `gpio.INTR_DISABLE`) then any previously-set callback will continue to be used. Parameters are: