BPI-WiringPI Officially Supports BPI-M3 (Kernel 3.4)

(BPI_Justin) #1

BPI-WiringPi now supports BPI-M3 (Kernel 3.4) Let’s get started now with a BPI-M3 + BPI-WiringPI(for M3)!

Download & Installation Step 1:

git clone https://github.com/BPI-SINOVOIP/BPI-WiringPi.git -b BPI_M3

Step 2:

cd BPI-WiringPi chmod +x ./build sudo ./build

BPI-M3 GPIO-Support:

Video Demo:

BPI-1620 accessories demo on BPI-M3 with BPI-WiringPI


Good news ! :wink:

Thanks for that


I disagree because:

Instead of porting wiringPi, computer manufacturers should really start to support wiringX. When manufacturers and developers start to support wiringX, we can make software that will natively work on all platforms.

Supporting http://wiringx.org would’ve been way more useful/easy. But it seems it has to be this way: Banana Pi (M1) is compatible and the newer ‘upgrades’ aren’t


How do i use the hardware PWM correctly? I already figured out that i have to use wiringPi Pin 7. I executed the following code:

gpio mode 7 pwm
gpio pwm-ms
gpio pwmr 128
gpio pwmc 6
gpio pwm 7 120

But i get the following error:

val pwmWrite 0 <= X <= 1024
Or you can set new range by yourself by pwmSetRange(range

The same error occured when i coded the same with the C library:

#include <wiringPi.h>

int main ()
  if (wiringPiSetup() == -1)
    return 1;
  pinMode(7, PWM_OUTPUT);
  return 0 ;

But i got the same error. @BPI_Justin I think there is still a bug. Please confirm or give any suggestions, what i’m doing wrong.

(libbkmz) #5

How to integrate BPI-WiringPi with Python? It’s the simplest way to create any kind of software with RPi or BPi.

(Kevin Oster) #6

I made it works with pins as Output. But failed to use the example “isr.c”. The interrupt is never triggered whenever I use the defined pin. The GPIO readall command show that the input level changed from 1 to 0 or vice et versa, but no interrupt. Did you test it ?