@jdarling I guess RK reserved some pins for SATA when writing that document(it's only a preliminary datasheet), and they didn't implement it in RK3288.

EDIT: and table 2-1 in that document says these pins are "NC"



The rock pro on store.radxa.com is out of stock now. You can buy from seeed studio. The current selling version is rock pro(2014.06.10).



ES File Explorer switches you to root whenever needed, I edited some system files with it.

Edit: I am not sure whether it was actually the Ghost Commander or Total Commander. Right now my board does not work so I cannot try out. -

In terminal console, type

su >Enter<



So, Thank you very much, hipboi, for producing that gpio python library!
I found two difficulties and produced a solution for one.

First of all, one thing I noticed is that the pin mapping here: http://radxa.com/Rock/extension_header has a contradiction for j12 pins 26,27,28,30. In the first reference it shows that these pins are usable for GPIO248,249,250,251, but in another reference further down it shows that these are not dual purpose but only for LCD. It seems the rockchip data sheet confirms that these pins are not dual purpose but LCD only. Can anyone confirm if these pins can be used as GPIO? It would be nice if so!

Also, I found that pyRock is very nice for this rockchip RK3188, but for the radxa, it can be a bit cumbersome to always figure out what GPIOs I have on the j8 and j12 headers and what they are called in pyRock, then translate the gpio.PIN3PD4 type of pin mappings to the j8 and j12 headers specific to the radxa board. So, I created a radxa-specific wrapper class for pyRock.gpio that is called radxa_gpio.py which allows one to only have to do this:

from radxa_gpio import radxa_gpio rad = radxa_gpio()

and then call the gpio pins in the way they are accessible on the radxa board, like this: rad.j8p12 (instead of calling gpio.PIN3PD4).
Or another example, instead of using this for RockChip gpio on a generic board:

gpio.output(gpio.PIN3PD4, gpio.HIGH)

use this for the radxa board:

rad.output(rad.j8p12, rad.HIGH)

This wrapper class performs the two requirements: checks to see that it is run from root and initializes GPIOs for you.

Here is an example taken from pyRock but now just calling this wrapper class:

#!/usr/bin/env python from radxa_gpio import radxa_gpio from time import sleep try: print ("Press CTRL+C to exit") rad = radxa_gpio() while True: print('..........1') rad.output(rad.j8p7, rad.HIGH) sleep(2) print('.....0') rad.output(rad.j8p7, rad.LOW) sleep(2) except KeyboardInterrupt: print ("Goodbye.")

I have not tested input, getmux and setmux, but only tested output last night with a multi-meter (sorry, I'm at work ;-o but will test more tonight), but it's easy to fix if there are errors!

Here is the wrapper class:

#!/usr/bin/env python # filename: radxa_gpio.py # # Rockchip RK3188 datasheet: # http://rockchip.fr/RK3188%20datasheet%20V1.0.pdf # # pyRock.gpio library project, authored by Tom Cubie # https://github.com/radxa/pyRock # # radxa rock extension header: # http://radxa.com/Rock/extension_header # # other interesting gpio info: # http://radxa.com/Rock/GPIO # http://radxa.com/Rock/LED import os import sys from pyRock.gpio import gpio class radxa_gpio: def __init__(self): if not os.getegid() == 0: sys.exit('Script must be run as root') gpio.init() self.redLED = gpio.PIN0PB7 self.greenLED = gpio.PIN0PB4 self.blueLED = gpio.PIN0PB6 self.j8p7 = gpio.PIN0PA7 self.j8p8 = gpio.PIN0PA6 self.j8p9 = gpio.PIN0PB1 self.j8p10 = gpio.PIN0PA1 self.j8p11 = gpio.PIN3PD5 self.j8p12 = gpio.PIN3PD4 self.j8p13 = gpio.PIN1PA0 self.j8p14 = gpio.PIN1PA1 self.j8p15 = gpio.PIN1PA2 self.j8p16 = gpio.PIN1PA3 self.j8p19 = gpio.PIN0PD7 self.j8p20 = gpio.PIN1PB5 self.j8p21 = gpio.PIN0PD4 self.j8p22 = gpio.PIN1PB2 self.j8p23 = gpio.PIN0PD6 self.j8p24 = gpio.PIN1PB3 self.j8p26 = gpio.PIN1PB4 self.j8p27 = gpio.PIN0PA5 self.j8p28 = gpio.PIN0PD5 self.j8p31 = gpio.PIN1PD1 self.j8p32 = gpio.PIN1PD0 #self.j12p26 = gpio.PIN #self.j12p27 = gpio.PIN #self.j12p28 = gpio.PIN #self.j12p30 = gpio.PIN self.j12p31 = gpio.PIN0PB0 self.j12p32 = gpio.PIN0PA2 self.j12p33 = gpio.PIN1PD6 self.j12p34 = gpio.PIN1PB7 self.j12p35 = gpio.PIN1PA7 self.j12p36 = gpio.PIN1PA4 self.j12p37 = gpio.PIN1PA6 self.j12p38 = gpio.PIN1PA5 self.HIGH = gpio.HIGH self.LOW = gpio.LOW self.INPUT = gpio.INPUT self.OUTPUT = gpio.OUTPUT self.PULLUP = gpio.PULLUP self.PULLDOWN = gpio.PULLDOWN def init(self): gpio.init() def input(self, pin): return gpio.input(self, pin) def output(self, pin, state): return gpio.output(pin, state) def getmux(self, pin): return gpio.getmux(pin) def setmux(self, pin, mux): return gpio.getmux(pin, mux)


Dato Asdwqwe:

I'm thinking purchasing Radxa for my next hardware project. I never played with it and I'm a newcomer to hardware/electronics, so forgive me if I'm asking something obvious. So how many usable gpio pins radxa has?




hi, my RR can't boot, just red LED is lighted , I've tried to recovery mode but failed and unbrick trick too..., I've connected to pc and it's not detect... any can help my RR thank you


@shvonder Porting/improvement is not so easy... it needs a lot of efforts


@Mustafa-Can-Kaya about the item on taobao, it's only the 7 inch lcd with touchscreen + camera (the rock pro is not included).

Mustafa Can Kaya:

This firmware is only applicable to radxa rock pro, is nand boot firmware, the default password linux is rock, returns from linux to android: Click the left corner of the small menu, click submenu "B2Android" to return to the android, android into linux from , click on the icon BootUbuntu

Firmware Download
Baidu says:

used google translate