/r/OrangePI
A subreddit about the OrangePi series of SBC's
/r/OrangePI
Hello . If you think you have bricked your Pi's please reach out to me . Perhaps I can help .
Ive tried from a couple different computers, made sure the ip was static, made sure i was on the same internet connection. But whatever i do i get “ssh: connect to host 192.168.1.1 port 22 : Permission denied” (the ip is just an example)
orangepi@orangepi:~$ sudo apt update
orangepi@orangepi:~$ sudo apt install -y git
orangepi@orangepi:~$ git clone
https://github.com/orangepi-xunlong/wiringOP.git
-b next
Note: For the Orange Pi 5 Ultra, you need to download the WiringOP code from the next branch. Do not forget the -b next parameter. If there are issues with downloading the code from GitHub, you can use the WiringOP source that comes with the Linux image, located at /usr/src/wiringOP.
orangepi@orangepi:~$ cd wiringOP
orangepi@orangepi:~/wiringOP$ sudo ./build clean
orangepi@orangepi:~/wiringOP$ sudo ./build
THATS IT!
After running the blink_all_gpio program, which continuously toggles all 28 GPIO pins, you can test the GPIO pins with a multimeter. The voltage of the GPIO pin should alternate between 0V and 3.3V. This can confirm whether the GPIO pins are functioning properly.
Running the Program:
orangepi@orangepi:~$ sudo blink_all_gpio # Remember to use sudo
You can later add gpio to sudo group to avoid having to write it every time you use this
now go to the test directory in the downloaded file, and test the pythons scripts, they will all work fine, use the same language to create you own scripts, i will attach I2C scripts in the coming hours.
NOTE use the 2to3 script to convert python2 to python3
online tool: https://python2to3.com/
I just got an OrangePi 5 Pro and I wasn’t aware of its power supply requirements. I have these chargers at home, and I would really appreciate it if you could tell me which one it can work with.
Can deliver 20V - 1.5A, 15V - 2A, 9V - 3A or 5V - 3A
Can deliver 5V - 3A, 9V - 2.2A
In case none of those work, which one should I get?
I have received my Orange Pi 5 Ultra, and now i'm a little surprised that the GPIO controlling is not yet supported (yet?) , i realized that the Orange Pi boards have little-to-no support for GPIO pins control, (maybe the old outdated ones only), as for my Orange Pi 5 "Ultra" which uses the RK588 chip, has no support to use the GPIO pins yet..
Here is what i have tried so far:
Any updates on this? have anyone got the GPO control? (pwm, i2c, etc..?)
can you please provide me with the solution? Thank you.
Where can I find instructions on how to build Android 13 (official source) for my OPI5 MAX?
Which OS is required / preferred?
How much disk space is needed ?
Has anyone been successful with building Android 13?
Thanks!
not really overheating but usualy cool intel nvme goes up to 70C and stays like that. i am using JR ubuntu.
not sure if this is something opi 5 max related or software related with power settings or whatever.
but if anyone have an idea why its happening or a way to fix it, please do tell :)
thanks!
I have an orange pi 3b 8gb ram v1.1.1 with 256gb emmc. I turned it off once to attach a fan to the pin header and now it won't boot. Here is what I tried and failed :
The board's red LED is turned on solid and nothing else. With some SDcard images the ethernet keeps blinking green, but noting is shown on the connected screen (even the orange pi logo) .
Did I brick my orange pi?
Hello all.
Have the orange pi 5 plus.
Running the joshua riek linux package on NVME. Tried to re-install Rpie but the system crashed with an error: Timeout, ipd: 0x00, state: 3 Does anyone what this could mean?
It stays on the gnome interface even after signing in with username and password
I have batocera on emmc. Would i be able to reinstall linux from the batocera portal?
Hi there, just ran into this SBC. I saw the adroid 12 build is wonky (in an older video but I'm not sure if thats still the case)
I was wondering if it can stream from Plex and play Smartube w/o any issues. I dont need to access internal memory for the most part
Is it the Orange Pi Zero 3?
Is it the Orange Pi Zero 3?
I want to know how to connect buttons using GPIO with an Orange Pi Zero 2W board from scratch with all the steps.
Hello,
I'm a beginner in linux programming and I want to know how many devices can I connect in the same time, to Orange Pi Zero 3, I need to have a connection for (1x E-paper display, 4x RFID readers module).
E-paper display interface: SPI
RFID readers interface: rs232
Thank you in advance
My team has been trying to get OrangePi to send us schematics for the CM5, but the person from support that is responding seems to think this is proprietary information and keeps referring us to the schematic in the Google Drive for the Base Board which isn't adequate. OrangePi has released schematics for every other board, so I'm not sure why the CM5 is the exception. It would seem like it should be the opposite as the CM5 is meant for integration into other devices.
Is OrangePi actually part of this sub? Can someone get me a proper schematic for the CM5? Every other manufacturer of compute modules has detailed schematics to assist folks working with the modules integrate it into their products.
OrangePi 5 Max schematic for reference: https://drive.google.com/file/d/1_2giAW-g7NA8KIyL_Wu8UlNxcZ6YQvzk/view
If we had the same schematic for the CM5, we'd make a lot more progress with our product.
This is my first experience with the OrangeePI. I have several other boards I've been working with, so this is not new territory for me.
I received a PI5 with the 5V/4A power supply and a Crucial 2230 1TB NVME which I have installed in the M2 slot. Unfortunately I can't seem to get it recognized. I've tried several different OS's. I currently have Orange Pi 1.2.0 Bookworm with Linux 5.10.160-rockchip-rk3588 booting. I've removed the NVME board and reinstalled, tried different versions of the OS. Anybody have advice here on what might be the problem? I'm stumped.
orangepi@orangepi5:~$ dmesg |grep pci
[ 6.573575] reg-fixed-voltage vcc3v3-pcie2x1l2: Looking up vin-supply from device tree
[ 6.573579] vcc3v3_pcie2x1l2: supplied by vcc5v0_sys
[ 6.631886] vcc3v3_pcie2x1l2: 1800 mV, enabled
[ 6.631945] reg-fixed-voltage vcc3v3-pcie2x1l2: vcc3v3_pcie2x1l2 supplying 1800000uV
[ 7.628516] rk-pcie fe190000.pcie: invalid prsnt-gpios property in node
[ 7.628527] rk-pcie fe190000.pcie: Looking up vpcie3v3-supply from device tree
[ 7.629239] rk-pcie fe190000.pcie: IRQ msi not found
[ 7.629246] rk-pcie fe190000.pcie: use outband MSI support
[ 7.629252] rk-pcie fe190000.pcie: Missing *config* reg space
[ 7.629273] rk-pcie fe190000.pcie: host bridge /pcie@fe190000 ranges:
[ 7.629306] rk-pcie fe190000.pcie: err 0x00f4000000..0x00f40fffff -> 0x00f4000000
[ 7.629324] rk-pcie fe190000.pcie: IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[ 7.629342] rk-pcie fe190000.pcie: MEM 0x00f4200000..0x00f4ffffff -> 0x00f4200000
[ 7.629354] rk-pcie fe190000.pcie: MEM 0x0a00000000..0x0a3fffffff -> 0x0a00000000
[ 7.629385] rk-pcie fe190000.pcie: Missing *config* reg space
[ 7.629443] rk-pcie fe190000.pcie: invalid resource
[ 7.837241] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 7.862788] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 7.889444] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 7.916111] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 7.942788] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 7.969446] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 7.996119] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 7.998131] ehci-pci: EHCI PCI platform driver
[ 8.022777] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 8.049442] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 8.076113] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x3
[ 8.745806] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply from device tree
[ 8.746113] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply property in node /power-management@fd8d8000/power-controller failed
[ 10.532942] rk-pcie fe190000.pcie: PCIe Link Fail
[ 10.532962] rk-pcie fe190000.pcie: failed to initialize host
Has anybody else had issues with steaming videos on Android 12? The TVbox image seems to play videos just fine, but has no google apps. In contrast, the Android 12 image seems to have Google Apps but can't play any streaming video correctly. The playback speed says that it's normal but it plays everything ~1.8 times the normal speed. It does this for Netflix and YouTube and pretty much any other streaming service I've tried. Does anybody know why this is happening and how to fix it?
I've read a lot of posts and seen a lot of methods intended to help you flash your eMMC module in prep for booting from it.Most of this guides included a bunch of stuff you really don't need to do. Thus I decided it's dead easy. The default setup on my OPi 5+ was already set to boot from eMMC in the absence of an SD card. I bet your's is too. You might want to check that but I knew mine was setup already as I wrote a generic image to eMMC and was able to boot from it.
But the intent here is to provide a REALLY SIMPLE way to create an image of your SD card - which you're probably already happy with - and place it on your eMMC module and boot for it. OK, here it is:
- Create image of working OS installation from SD card to IMG file using dd
> dd bs=1M if=/dev/mmcblk0 of=OPi_OSimage_24Nov2024.img status=progress
- Write image to eMMC device
> dd bs=1M if=OPi_OSimage_24Nov2024.img of=/dev/mmcblk1 status=progress
The image file will be the same size as the device it was read from so make sure the target is large enough to hold it.
Before you blindly copy this make sure your SD and eMMC device names are correct per these command lines - mine was:
eMMC --> /dev/mmcblk1
SD card --> /dev/mmcblk0
After the last command line I removed the SD card and cycled the power. Voila! Yes, it's that simple and you get a backup of your working SD card image as a bonus item!
-THurtado007
hey folks,
i'm struggling installing Ubuntu 22.04 LTS from Joshua Riek from the SD-card it's booting from to the M.2 SSD.
SD card and M.2 SSD are working fine.
seems like, i can't get it to work because of the missing tools "orangepi-config" or "nand-sata-install" to load the correct bootloader to SPI Flash?
image used: ubuntu-22.04-preinstalled-server-arm64-orangepi-5-plus.img.xz
can someone please guide me trough?
thanks in advance :)
Appreciate any direction. Also should we run android automotive on docker on orange pi?
Hello! I am trying to set up Kiauh on my orangepi and am following this tutorial “https://youtu.be/Dh6bEB6iYa8?si=0zd8BBbpPJ6Nk88O” i found an os for a bullseye server for the orangepi 3b, so im running with that. Everytime i try to install pip or sudo apt-get update, it says it cannot resolve ‘repo.huaweicloud.com’ and i cannot progress. Im very new to this, so i apologize in advance for sounding dumb
I'm a beginner with little hardware experience & I'm looking for a rechargeable portable power supply to use in a small project I'd like to tackle with an Orange Pi Zero 2W. I've used a UPS hat with a Raspberry Pi 4B before & think that might suit my use case, but I don't see anything online that explicitly says it's compatible with the Orange Pi Zero 2W. Would something like this from waveshare work? I also found this from adafruit that looks like it might do well. I'm not familiar with the differences & nuances between the Raspberry Pi & the Orange Pi boards, so any input is appreciated! Also, are UPS hats even the way to go or are there better alternatives? Thanks!
does the kali linux third-party image provided on the download page for Opi zero w2 work? I'm afraid to test it
The new Orange Pi 4A that just dropped looks like a Pi 4 era board... except 8 arm cores and a Risc-V coprocessor. Anybody happen to know how the coprocessor will actually work? Or does this just mean stuff compiled for Risc-V will also run on it.... just at ancient pentium 1 speeds?
Footnote --- may also pick up the Orange Pi RV just to mess with it too.
Hi, folks! I'm currently using my opi 3 lts as a host for 3d printing and I already used 2 out of 3 usb on it (1 printer and second for webcam) I believe it is capable of handling 2 printers at least and I have the plan to connect second printer, but this time I require 3-4 usb ports. While now I have only 1 free. So I need additional usb ports. Easiest way probably just to buy good usb 3.0 hub, but not sure if this is optimal. According to gpio schema some raspbery hats could work proooobably, also is there any way to use hdmi port for this, as I dont use it at all? Quick google showed that cables hdmi with usb out exists but they are always hdmi to single usb plus another hdmi. And what I need is hdmi to 3+ usb ports and I see no such things, which is surprising for me. So again, question is: what is the optimal way to increase number of quality usb ports on opi 3 lts?
Hi,
I am trying to set up a UVC gadget on an Orange Pi Zero 2W. I have been working with various LLMs for days and have yet to get a functional UVC gadget.
I was able to set up an ecm gadget successfully, but UVC has been causing me all kinds of trouble.
I have been searching for tutorials to try to understand the problem and eventually came across this script tonight and it has having similar issues. If am not fighting configfs I am fighting getting the UDC to bind.
I am using a script from here: https://gitlab.freedesktop.org/camera/uvc-gadget/-/blob/master/scripts/uvc-gadget.sh?ref_type=heads (also pasted below).
It is returning:
Detecting platform:
board : OrangePi Zero2 W
udc : musb-hdrc.5.auto
Creating the USB gadget
Creating gadget directory g1
OK
Setting Vendor and Product ID's
OK
Setting English strings
OK
Creating Config
Creating functions...
Creating UVC gadget functionality : uvc.0
OK
Binding USB Device Controller
./ug.sh: 163: echo: echo: I/O error
Relevant dmesg output is:
[ 205.247213] configfs-gadget.g1 gadget.0: uvc: uvc_function_bind()
[ 205.247255] configfs-gadget.g1 gadget.0: uvc: Unable to allocate streaming EP
[ 205.247279] udc musb-hdrc.5.auto: failed to start g1: -22
[ 205.247295] configfs-gadget.g1: probe of gadget.0 failed with error -22
[ 205.247407] UDC core: g1: couldn't find an available UDC or it's busy
Any insight would be greatly appreciated. Below is a paste of the script referenced above for convenience.
#!/bin/sh
# SPDX-License-Identifier: MIT
set -e
CONFIGFS="/sys/kernel/config"
GADGET="$CONFIGFS/usb_gadget"
VID="0x0525"
PID="0xa4a2"
SERIAL="0123456789"
MANUF=$(hostname)
PRODUCT="UVC Gadget"
BOARD=$(strings /proc/device-tree/model)
UDC=$(ls /sys/class/udc) # will identify the 'first' UDC
echo "Detecting platform:"
echo " board : $BOARD"
echo " udc : $UDC"
create_frame() {
# Example usage:
# create_frame <function name> <width> <height> <format> <name>
FUNCTION=$1
WIDTH=$2
HEIGHT=$3
FORMAT=$4
NAME=$5
wdir=functions/$FUNCTION/streaming/$FORMAT/$NAME/${HEIGHT}p
mkdir -p $wdir
echo $WIDTH > $wdir/wWidth
echo $HEIGHT > $wdir/wHeight
echo $(( $WIDTH * $HEIGHT * 2 )) > $wdir/dwMaxVideoFrameBufferSize
cat <<EOF > $wdir/dwFrameInterval
666666
100000
5000000
EOF
}
create_uvc() {
# Example usage:
#create_uvc <target config> <function name>
#create_uvc config/c.1 uvc.0
CONFIG=$1
FUNCTION=$2
echo "Creating UVC gadget functionality : $FUNCTION"
mkdir functions/$FUNCTION
create_frame $FUNCTION 640 360 uncompressed u
create_frame $FUNCTION 1280 720 uncompressed u
create_frame $FUNCTION 320 180 uncompressed u
create_frame $FUNCTION 1920 1080 mjpeg m
create_frame $FUNCTION 640 480 mjpeg m
create_frame $FUNCTION 640 360 mjpeg m
mkdir functions/$FUNCTION/streaming/header/h
cd functions/$FUNCTION/streaming/header/h
ln -s ../../uncompressed/u
ln -s ../../mjpeg/m
cd ../../class/fs
ln -s ../../header/h
cd ../../class/hs
ln -s ../../header/h
cd ../../class/ss
ln -s ../../header/h
cd ../../../control
mkdir header/h
ln -s header/h class/fs
ln -s header/h class/ss
cd ../../../
# Include an Extension Unit if the kernel supports that
if [ -d functions/$FUNCTION/control/extensions ]; then
mkdir functions/$FUNCTION/control/extensions/xu.0
pushd functions/$FUNCTION/control/extensions/xu.0
# Set the bUnitID of the Processing Unit as the XU's source
echo 2 > baSourceID
# Set this XU as the source for the default output terminal
cat bUnitID > ../../terminal/output/default/bSourceID
# Flag some arbitrary controls. This sets alternating bits of the
# first byte of bmControls active.
echo 0x55 > bmControls
# Set the GUID
echo -e -n "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" > guidExtensionCode
popd
fi
# Set the packet size: uvc gadget max size is 3k...
echo 3072 > functions/$FUNCTION/streaming_maxpacket
echo 2048 > functions/$FUNCTION/streaming_maxpacket
echo 1024 > functions/$FUNCTION/streaming_maxpacket
ln -s functions/$FUNCTION configs/c.1
}
delete_uvc() {
# Example usage:
#delete_uvc <target config> <function name>
#delete_uvc config/c.1 uvc.0
CONFIG=$1
FUNCTION=$2
echo "Deleting UVC gadget functionality : $FUNCTION"
rm $CONFIG/$FUNCTION
rm functions/$FUNCTION/control/class/*/h
rm functions/$FUNCTION/streaming/class/*/h
rm functions/$FUNCTION/streaming/header/h/u
rmdir functions/$FUNCTION/streaming/uncompressed/u/*/
rmdir functions/$FUNCTION/streaming/uncompressed/u
rm -rf functions/$FUNCTION/streaming/mjpeg/m/*/
rm -rf functions/$FUNCTION/streaming/mjpeg/m
rmdir functions/$FUNCTION/streaming/header/h
rmdir functions/$FUNCTION/control/header/h
rmdir functions/$FUNCTION
}
case "$1" in
start)
echo "Creating the USB gadget"
echo "Creating gadget directory g1"
mkdir -p $GADGET/g1
cd $GADGET/g1
if [ $? -ne 0 ]; then
echo "Error creating usb gadget in configfs"
exit 1;
else
echo "OK"
fi
echo "Setting Vendor and Product ID's"
echo $VID > idVendor
echo $PID > idProduct
echo "OK"
echo "Setting English strings"
mkdir -p strings/0x409
echo $SERIAL > strings/0x409/serialnumber
echo $MANUF > strings/0x409/manufacturer
echo $PRODUCT > strings/0x409/product
echo "OK"
echo "Creating Config"
mkdir configs/c.1
mkdir configs/c.1/strings/0x409
echo "Creating functions..."
create_uvc configs/c.1 uvc.0
echo "OK"
echo "Binding USB Device Controller"
echo $UDC > UDC
echo "OK"
;;
stop)
echo "Stopping the USB gadget"
set +e # Ignore all errors here on a best effort
cd $GADGET/g1
if [ $? -ne 0 ]; then
echo "Error: no configfs gadget found"
exit 1;
fi
echo "Unbinding USB Device Controller"
grep $UDC UDC && echo "" > UDC
echo "OK"
delete_uvc configs/c.1 uvc.0
echo "Clearing English strings"
rmdir strings/0x409
echo "OK"
echo "Cleaning up configuration"
rmdir configs/c.1/strings/0x409
rmdir configs/c.1
echo "OK"
echo "Removing gadget directory"
cd $GADGET
rmdir g1
cd /
echo "OK"
;;
*)
echo "Usage : $0 {start|stop}"
esac