The 12 external IO of obniz Board have special features including (streaming) 1A.
All of the 12 IO have the same functions.
Each function can be used through cloud API.
Each IO has the IO unit composition as below.
Each IO Unit is connected to A/D, MotorDriver and Bus switch.
A/D can work independently from others.
On the other hand, Motordriver and Bus Switch cannot work at the same time.
MotorDriver has internal protection circuit for overcurrent/overheat.
So, when using 5v push-pull, protection is enabled for both high side and low side.
Once overcurrent is detected, output gets paused (float) and is retried after 1msec.
(Overcurrent is detected between 1.9-3.5A.)
Overheating is detected when the chip reaches around 160 degrees Celsius.
A/D unit always monitors output voltage.
When output is static in high or low, the user will be warned of an unusual voltage level via API.
This also works with 3v push-pull, not just 5v.
We recommend the maximum frequency to be 250kHz when MotorDriver is used.
Although it can be run with higher frequency, (the performance becomes sub-optimal.)
We tested with 2MHz in digital output at low current, but we cannot guarantee that it would work properly.
They work through Bus Switch.
Since it is not MotorDriver, we recommend using it at under 1mA.
It works at the maximum frequency that the obniz Board main processor can generate.
As Bus switch with a level-shifter is used, the output voltage tends to go down depending on output current.
Internal pull-up and pull-down can be used at 5v/3v.
You may choose to use one or neither of them.