Interfaces and peripherals

Interfaces, peripherals compatibility, upgrades, third party devices.

Can I use DSI, CSI, I2C, etc. interfaces as easily as on the Raspberry Pi board?

Yes, it should work just like on the RPI.

Can I use my RPi software and hardware - ESPECIALLY CAMERAS - with the URVE BOARD Pi?

Currently, cameras from Raspberry Pi do not work with Urve Pi. We are working on delivering a solution.

What development tools are available for URVE BOARD Pi?

We provide BSP (for Linux and kernel modifications) and SDK (all Linux compilations + QT Creator) in a very convenient virtual machine with Ubuntu. It allows easy porting of applications from any ARM/X86 board, not just RPi.

Is it possible to connect (via LVDS) cameras dedicated to Raspberry Pi, such as HD F Night Vision OV5647 5Mpx - IR camera?

There is certainly a possibility, but we don't know how much work is required for such a scenario. You may need to make a switchboard.

Is it possible to use 4 UART interfaces simultaneously?

As far as we know, yes. But we haven't tested.

Are Raspberry's DSI screens supported?

No, they aren't.

GPIO python examples

Project configuration

Give access to gpio

chmod 777 -R /sys/class/gpio

Install prerequisite packages

apt-get install python3-venv

Create new python environment

Install required library called gpio

python3 -m pip install gpio
import time
import gpio
GPIO_PINS = {
    "GPIO1_B1": 41,
    "GPIO4_C3": 147,
    "GPIO0_A0": 0,
    "GPIO0_B7": 15,
    "GPIO0_C4": 20,
    "GPIO0_C7": 23,
    "GPIO1_B2": 42
}
# GPIO pin number
pin = GPIO_PINS['GPIO1_B1']
blink_time = 0.5

# Set pin as output
pin_obj = gpio.GPIOPin(pin, gpio.OUT)

# Blink LED
while True:
    pin_obj.write(gpio.HIGH)
    time.sleep(blink_time)
    pin_obj.write(gpio.LOW)
    time.sleep(blink_time)

2. Read button state

import time
import gpio

GPIO_PINS = {
    "GPIO0_A6": 6,
    "GPIO1_B1": 41,
    "GPIO4_C3": 147,
    "GPIO0_A0": 0,
    "GPIO0_B7": 15,
    "GPIO0_C4": 20,
    "GPIO0_C7": 23,
    "GPIO1_B2": 42
}
# GPIO pin number
pin = GPIO_PINS['GPIO0_A6']
polling_time = 0.5

# Set pin as input
pin_obj = gpio.GPIOPin(pin, gpio.IN)
last_state = pin_obj.read()

while True:
    current_state = pin_obj.read()
    if(current_state != last_state):
        last_state = current_state
        print("State changed to: " + str(current_state))
    time.sleep(polling_time)