Some extra pinout docs


I’ve been looking over the datasheets & schematics and have put together a doc containing the info in a format I find more useful, so I thought I’d share. No guarantees on their correctness :smile:

Assuming you don’t want to use the camera or LCD ports it looks like you get 1 UART, 2 I2C, 1 SPI, 1 PWM & 32 i/O (some with interrupt)

Second serial port
Help a beginner make a CHIP microcomputer Please?
[SOLVED] GPIO Pin Numbers
Starting point for a complete newb?
CHIP C++ GPIO use porting
Compile Hello world
Muxing CHIP GPIO's
Using LRADC as a gpio digital input

This is great! Thanks @stuart


Really great info indeed!
Can’t wait for someone to take it and make a site similar to this:

Thanks @stuart!


I’ll see if I can find some time (no promises though :stuck_out_tongue:)


Thanks for the lists Stuart.

Regarding using camera/LCD pins alternate functions that would require someone to write a kernel driver or am I wrong?


It does generally require recompiling the kernel, but the drivers generally already exist. On other Allwinner boards that use the Sunxi Kernel there was special tools that you used to create a fex file that was used to multiplex the GPIO alternate functions during kernel compilation. I don’t know if NTC does the same and have created a thread asking about it.


Correct me if I’m wrong, but I am mildly certain that the MICM pin 10 on the second header is an input for Microphone Mute where 1 is mute and 0 is unmute.

Edit: This appears to be incorrect, see below.


Thanks for clarifying balornt.


That isn’t what the schematic says - R19 (0R link) on sheet 3 connects MICM to ground


After looking at it more closely, this seems correct. I was probably confused with other audio circuits I have seen that use MICM for mic mute. It begs the question why they created the MICM signal at all if it is just tied to ground?


Anyone know what EINT1 and EINT3 do? I suspect Interrupts of some sort.


Bump. Anyone know what EINT1 and EINT3 do?


Oh my Gish!

So I can use all of that 32 I/O Ports for my projects and needs!? Only thought the 9 GPIO Pins where useful for use… and how can we control them?? Is there some kernel hacking required?

@gush You guys at NTC should definitely bring a WIKI for us guys. The board is really cool and has lots of nice features… But when you just want to start over and research some facts and maybe improve something on the CHIP, you definitely don’t know what is possible and what has to be done!


@flybucket and @pnyboer are spearheading our WIKI efforts via the knowledgebase. The trick is keeping things clear so that WIKI info only relevant to ALPHA C.H.I.P.s doesn’t get mistaken for being canon when v1.0 is in people’s hands. Short answer: we know. We’re on it. :checkered_flag: :smile:


Can you confirm the names of the I2C buses?

On my CHIP I detect i2c-0 and i2c-2, but I only see devices when attached to i2c-2 (U14 pins 25-26)
not when attached to the other one U13 pins 9-11

Any idea how to troubleshoot this?


You can use the sysfs interface. I’ve used the LCD and CSI I/O’s for driving my 5x7 LED matrix.

Until someone figures out how to access them directly…


On the 4.4 CHIPs, the default DTB in /boot does not include i2c-1.

You have 2 choices to get it back:

  1. Modify the default DTS to re-add i2c-1, compile it to a DTB, copy to /boot, reboot and profit
  2. You need to have a custom 4.4 kernel with CONFIG_OF_CONFIGFS enabled, then you can use CHIP_IO to load the i2c-1 overlay (just know it’ll show up as i2c-3, which is kind of annoying)



what’s i2c-0 then?

not too sure how to modify a DTS to re-add i2c-1. Is there a template of i2c-1 in the 4.3 branch maybe?


i2c-0 is the bus the AXP209 is attached to, we don’t have access to that bus for our use.

The 4.3 kernel DTS does have the appropriate i2c-1 settings that can be copied over to 4.4. I would only copy the i2c-1 related stuff, leaving everything else in 4.4 as it is currently setup.

i2c-1 will be coming back as default in an upcoming OS drop I believe. The keyboard for the PocketCHIP is attached to i2c-1, so it’ll need to be around for the ability to remove CHIP from PocketCHIP and use standalone, and vice-versa.


awesome thanks!
that worked.