obniz IO | Physical IO | Drive Method | Internal Weak Pull Up/Down | Internal connected |
---|---|---|---|---|
io0 | GPIO0 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pullup) | |
io2 | GPIO2 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pulldown) | |
io4 | GPIO4 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pullup) | TFCard |
io5 | GPIO5 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pullup) | |
io12 | GPIO12 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
|
io13 | GPIO13 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
|
io14 | GPIO14 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
LCD |
io15 | GPIO15 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pullup) | |
io16 | GPIO16 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
|
io17 | GPIO17 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
|
io18 | GPIO18 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pullup) | TFCard, LCD |
io19 | GPIO19 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pullup) | TFCard |
io21 | GPIO21 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
Grove, BatteryIC, MotionTracking / Geomagnetic Sensor(M5StackGray) |
io22 | GPIO22 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
Grove, BatteryIC, MotionTracking / Geomagnetic Sensor(M5StackGray) |
io23 | GPIO23 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pullup) | TFCard, LCD |
io25 | GPIO25 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
Speaker |
io26 | GPIO26 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
|
io27 | GPIO27 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
LCD |
io32 | GPIO32 | Input 3.3v(default) Output push-pull3v Output open-drain |
(fixed internal pulldown) | LCD |
io33 | GPIO33 | Input 3.3v(default) Output push-pull3v Output open-drain |
float(default) pull-up to 3v pull-down to 0v |
LCD |
io34 | GPIO34 | Input 3.3v(default) | float(default) pull-up to 3v pull-down to 0v |
|
io35 | GPIO35 | Input 3.3v(default) | float(default) pull-up to 3v pull-down to 0v |
|
io36 | GPIO36 | Input 3.3v(default) | float(default) pull-up to 3v pull-down to 0v |
|
io37 | GPIO37 | Input 3.3v(default) | (fixed internal pullup) | ButtonC |
io38 | GPIO38 | Input 3.3v(default) | (fixed internal pullup) | ButtonB |
io39 | GPIO39 | Input 3.3v(default) | (fixed internal pullup) | ButtonA |
Peripheral | function | io0 | io2 | io4 | io5 | io12 | io13 | io14 | io15 | io16 | io17 | io18 | io19 | io21 | io22 | io23 | io25 | io26 | io27 | io32 | io33 | io34 | io35 | io36 | io37 | io38 | io39 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IO | output | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | - |
input | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | |
AD | AD | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | YES | YES | YES | YES | YES | - | - | YES |
PWM | IO | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | - |
UART | TX | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | - |
RX | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | |
CTS | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | |
RTS | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | - | |
SPI | CLK | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | - |
MOSI | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | - | |
MISO | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | |
I2C | SDA | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | - |
SCL | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - | |
LogicAnalyzer | IO | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Measure | PULSE | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | - | - | - | - | - |
ECHO | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Each IO can put out digital values.
Drive method can be configured independently for each IO.
Not only for io.output(), but also for UART and SPI you can choose your preferred drive method.
There is only one input method. Threshold is CMOS level.
Pull up and down can be configured independently for each IO.
There are three types as below.
Type | Pull to | Detail |
---|---|---|
floating | Default | |
pull-up | 3v |
|
pull-down | gnd |
Some io has fixed internel pull up/down for startup configration.
All channel ad can be used. It will not affect the sampling rate.
Maximum sampling rate depends on your network speed and on obnizOS version.
Ad accuracy is 12bit.
6(pwm0 to pwm5) are available.
2 (uart0 to uart1) are available.
Available Configration
2 (spi0 to spi1) are available.
Only Master mode.
1 (i2c0) is available and used for Grove connector, motion sensors(M5Stack Gray only).
Max speed is 1Mhz.
Master/Slave mode.
But slave mode only works with "written" events. You can't set data to be read.
1 (logicanalyzer) is available.
1 (measure) is available.
BLE32 embeded Bluetooth Module