Kobo GPIO Extensions
How to use extra Kobo General Purpose I/O pins (GPIO).
Contents |
[edit] Using GPIO-Pins without pintail-soldering
On the Kobo Mini one can use the TxD and RxD pins at connector J5 as generic GPIOs. The pinmux matrix has to be reprogrammed by a kernel driver to route the internal GPIO pin to the CPU ball that is connected via the PCB to corresponding pin at J5. GPIO170 and GPIO171 can be obtained. The serial port will stop functioning.
On the Kobo Glo the same approach can be applied to the pins of the external SD-card giving an extra of 6 GPIO lines.
[edit] Extra GPIO-Pins with the help of a pintail soldering iron
Another three GPIO pins can be obtained by soldering very thin wires to the PCB. The GPIO-line can be identified by the connection between pullup/pulldown resistor combination.
GPIO | location | alternate function |
---|---|---|
GPIO174 | wire between R193-R194 | UART3-TxD |
GPIO175 | wire between R191-R216 | UART3-RxD |
GPIO177 | wire between R219-R220 |
Those pins are used as the hardware-ID and have pullup/pulldown resistors. Since the Kobo takes the hardware-ID from a reserved section of the SD card during bootup those pins are of no real function and can be re-used. One might need to remove the corresponding pullup resistor from the PCB.
By pin-muxing (reprogramming the routing between internal CPU-pin and physical ball) a second serial port (/dev/ttymxc2) can be made available to the system. E.g. to connect a bluetooth modem like HC05.
[edit] Other ways of interfacing
Resistors R26 and R27 are not soldered to the PCB. Those are used as pullups for the third i2c-bus (/dev/i2c-2). By soldering thin wires to the correct side of the (unused) resistor-pads one may access the bus. Special care has to be taken while communicating on that bus. The MSP430 chip is also connected to this and it may shut-down the system if communication of kernel with the MSP430 gets jammed.
[edit] Pictures
at this Google Gellery in the last three pictures there are fotos of the above mentioned modifications