Kobo GPIO Extensions

From MobileRead
Jump to: navigation, search
Kobo-Mini Extra GPIOs

How to use extra Kobo General Purpose I/O pins (GPIO).


[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.

Kobo-Mini I2C-Bus

[edit] Possible even more extra GPIO pins

There are a lot of solderable test-points around the EPD connector. Most of them are on the back-side of the PCB and therefore unreachable. But some can be accessed when the strip for the EPD is disconnected. There are comment statements in the kernel source about unused EPD-pins. Maybe here are more possibilities for GPIOs but it has not been tested yet.

Kobo-Mini I2C-Bus

[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.

Personal tools

MobileRead Networks