Skip to content

Dev Board User Guide

This chapter will introduce the basic usage of each module on the V853 development board.

The V853 development board integrates LED, WiFi, Bluetooth, Ethernet, audio, screen, USB, TF card and other modules. This chapter will briefly introduce the operation of these modules, so that developers can quickly get started and understand the development board.

V853开发板接口介绍

*Note:

  1. The commands at the beginning of root@TinaLinux:~# in this article are run in Tina Linux system through ADB and serial port on the development board. C:\System> is run in the computer's Command Prompt (CMD), and commands starting with => are run in U-Boot. There is no need to enter the command header mentioned above when entering the command.
  2. Some commands in this article provide the print output after running the command, which is convenient for running reference.

Debug

Serial debug

The V853 development board has two independent debug serial ports to choose from, UART0 and UART3, corresponding to the chip's UART0 PH9 PH10, UART3 PH1 PH2.

According to the default SDK configuration, UART0 provides debug output of Arm core, and UART3 provides debug output of E907 RV core. The provided FT232 USB-to-serial cable is defined as: black-GND, green-RX, white-TX, red is power.

Serial

After the hardware connection is completed, use the serial terminal to access, the baud rate is 115200 . For example PuTTY used here

PuTTY

ADB debug

Install ADB on your computer, open CMD and use adb shell to enter the terminal.

(1) Download the ADB tool ADB(tab auto-completion version) in Allwinners Developer Community-Data Download Area (2) After downloading, unzip it and put it on the local disk (for example, in the adb folder of the D disk)

adb_ins_1

(3) Right-click "This Computer", Properties, find Advanced System Settings, click Environment Variables, xxx user's environment variables, Path, and add an environment variable.

adb_ins_2

(4) Open a command prompt and enter adb shell

C:\System> adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (5.0)
 ----------------------------------------------
root@TinaLinux:/# 

ADB can also be used as a file transfer, for example:

C:\System> adb push badapple.mp4 /mnt/UDISK   # push badapple.mp4 to dev board /mnt/UDISK path
C:\System> adb pull /mnt/UDISK/badapple.mp4   # pull /mnt/UDISK/badapple.mp4 to PC

Start and Restart

Start

At present, the development board is in the power-on mode, only need to plug in the 12V DC power adapter or use the USB Type C cable to connect the power supply.

Please note that if the Type C is connected to the USB port of the computer, the device may boot repeatedly due to the low output current of the computer's USB. At this time, you need to insert a 12V DC power adapter as an auxiliary power supply.

At the same time, the USB can also be connected through the connector on the left side of the USB port in the figure (beige), which is convenient for assembly and use.

The white connector on the lower right corner of the development board is the battery interface, which can be connected to a supported lithium battery.

PowerSupplies

After start finish, the following print will be displayed.

BusyBox v1.33.2 (2022-05-31 06:54:45 UTC) built-in shell (ash)

------run profile file-----
 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (5.0)
 ----------------------------------------------
swu_param: ####
swu_software: ####
swu_mode: ####
no swupdate_cmd to run, wait for next swupdate
root@TinaLinux:/# 

Restart

There are two ways to restart, the first is to reset the CPU by pressing the RESET button to achieve the function of restarting. And the other is to achieve the function of restarting through the linux command line.

Button Restart

Find the RESET button in the lower left corner of the dev board, press it to restart.

Keys

Command Restart Input command rebootin dev board Linux shell to restart.

root@TinaLinux:/# reboot

Input command resetin dev board U-Boot shell to restart.

=> reset

Flash Mode

There tow ways to enter Flash Mode.

Button Enter Flash Mode

Find the button RESET and UBOOT in the board

(1) Press UBOOT button until (3) ready;
(2) Click RESET button;
(3) Wait board connect borad success, release UBOOT button;

Command EnterFlash Mode

In Linux shell, enter command reboot efex in board so that it will restart and enter flash mode.

root@TinaLinux:/# reboot efex

In U-Boot shell, enter command efex so that it will enter flash mode.

=> efex

GPIO Light a Lamp

The development board has an LED light for user operation, which is connected to PH11.
Convert the digital label of the IO to: 7 * 32 + 11 = 235, or check the IO multiplexing table, where (MUX UNCLAIMED) indicates that this GPIO is not currently used:

root@TinaLinux:/# cat /sys/kernel/debug/pinctrl/pio/pinmux-pins

It will output the following:

......
pin 231 (PH7): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 232 (PH8): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 233 (PH9): uart0 (GPIO UNCLAIMED) function uart0 group PH9
pin 234 (PH10): uart0 (GPIO UNCLAIMED) function uart0 group PH10
pin 235 (PH11): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 236 (PH12): (MUX UNCLAIMED) pio:236
pin 237 (PH13): 2020000.wiegand pio:237 function wiegand group PH13
pin 238 (PH14): 2020000.wiegand pio:238 function wiegand group PH14
pin 239 (PH15): (MUX UNCLAIMED) pio:239
......

Let's export the GPIO first:

echo 235 > /sys/class/gpio/export
cd /sys/class/gpio/gpio235

Then put the IO into the output state, you can operate its level:

echo out > direction
echo 1 > value  #LED light up
echo 0 > value  #LED snub out

LED

Wi-Fi

The V853 development board uses the XR829 Wi-Fi & BT module with a 40M external crystal oscillator. The Wi-Fi part communicates with the V853 through the SDIO bus, and the device is located on the SDC1 interface.

Wi-Fi testing and connecting to a network

Wi-Fi Scanning for Networks and Connecting to Networks

Tina provides an easy and convenient Wi-Fi test suite: wifi. Use the wifi command to set the working mode of Wi-Fi, scan for networks, connect to networks, and more. Its usage can be seen by running wifi -h. Here's how to use wifi to scan the network first:

(1) Set Wi-Fi to STATION mode

root@TinaLinux:/# wifi -o sta 

(2) Scan Wi-Fi sites in the current network environment

root@TinaLinux:/# wifi -s

(3) Connect to Wi-Fi (SSID: awol, password 12345678)

root@TinaLinux:/# wifi -c awol 12345678

(4) After connecting to the network, enter ifconfig to view the current ip address

wifi_if

Network connectivity can be tested using the ping command

root@TinaLinux:/# ping www.baidu.com

It will output the following:

PING 202.108.22.5 (202.108.22.5): 56 data bytes
64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms
64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms
64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms
64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms
64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 ms

(5) Turn off Wi-Fi:

root@TinaLinux:/# wifi -f

Wi-Fi hotspot

(1) Create a hotspot (SSID: v853, password: 12345678)

root@TinaLinux:/# wifi -o ap v853 12345678

(2) Then you can scan to Wi-Fi, enter the password 12345678 to connect.

wifi_ap

Bluetooth

The V853 development board uses the XR829 Wi-Fi & BT module and uses a 40M external crystal oscillator. Its Bluetooth part communicates with the V853 through the UART bus, and the device is located on the UART2 interface.

Bluetooth Test

Command:

bt_test

Bluetooth sink

Use the v853 development board as a small Bluetooth speaker to play audio on the development board through Bluetooth:

root@TinaLinux:/# bt_test -i -p a2dp-sink

Audio

The V853 development board has two microphone inputs, one audio input, and one speaker output. /*Note that the 3.5mm headphone jack next to UART0 on the left is the UART port used by GPS, not the headphone jack

mic_spk

Record

View record equipment

You can use the arecord -l command to view the recording devices provided by the development board.

root@TinaLinux:/# arecord -l

It will output the following:

**** List of CAPTURE Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Microphone Record

The V853 development board has two microphones onboard, located near the LINE-IN interface.

mic

Before recording, you need to open the audio channel first, and configure the internal MIC1 and MIC2 to record dual-channel audio.

Select MIC1 input

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Input Select' 0

It will output the following:

numid=23,iface=MIXER,name='MIC1 Input Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'differ'
  ; Item #1 'single'
  : values=0

Select MIC2 input

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Input Select' 0

It will output the following:

numid=23,iface=MIXER,name='MIC2 Input Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'differ'
  ; Item #1 'single'
  : values=0

Open MIC1

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Switch' 1

It will output the following:

numid=17,iface=MIXER,name='MIC1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

Open MIC2

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Switch' 1

It will output the following:

numid=17,iface=MIXER,name='MIC2 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

Set MIC1 volume

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 gain volume' 30

It will output the following:

numid=12,iface=MIXER,name='MIC1 gain volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=19
  | dBscale-min=0.00dB,step=1.00dB,mute=0

Set MIC2 volume

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 gain volume' 30

It will output the following:

numid=12,iface=MIXER,name='MIC2 gain volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=19
  | dBscale-min=0.00dB,step=1.00dB,mute=0

Use command arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav to record with two mic:

root@TinaLinux:/# arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav

It will output the following:

Recording WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo

Play music

SPK

View paly equipment

Use command aplay -l to seethe palying equipment

root@TinaLinux:/# aplay -l

It will output the following:

**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Speaker play audio

Before playing, you first need to open the audio channel and configure the speakers to play audio.

Enable LINEOUT output function

root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Output Select' 1

It will output the following:

numid=22,iface=MIXER,name='LINEOUT Output Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'single'
  ; Item #1 'differ'
  : values=1

Open LINEOUT channel

root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Switch' 1

It will output the following:

numid=20,iface=MIXER,name='LINEOUT Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

Set the output volume

root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT volume' 25

It will output the following:

numid=16,iface=MIXER,name='LINEOUT volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=25
  | dBrange-
    rangemin=0,,rangemax=1
      | dBscale-min=0.00dB,step=0.00dB,mute=1
    rangemin=2,,rangemax=31
      | dBscale-min=-43.50dB,step=1.50dB,mute=1

Use aplay to play the audio you just recorded through the external speakers.

aplay -D hw:audiocodec t.wav

It will output the following:

Playing WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo

Adjust Volume

Use the graphical interface provided by alsamixer to adjust the volume.

root@TinaLinux:/# alasmixer

Alasmixer

ETH

The V853 development board has an on-board 100M Ethernet network and uses the IP101GR Ethernet transceiver.

RJ45

Test ETH

Plug in the network cable, use ifconfig eth0 up to open the network device, udhcp -i eth0 dynamic active IP address. You can then use the ping command to test network connectivity.

root@TinaLinux:/# ifconfig eth0 up
root@TinaLinux:/# udhcp -i eth0

Enter command ping to test

root@TinaLinux:/# ping www.baidu.com

It will output the following:

PING 202.108.22.5 (202.108.22.5): 56 data bytes
64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms
64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms
64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms
64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms
64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 ms

LCD Display

The V853 development board is equipped with a 7-inch LCD screen with a corresponding capacitive touch screen.

LCD Test

The current firmware will display the boot LOGO of Tina Little Penguin when booting.

Snowflake Test

cat /dev/urandom > /dev/fb0

lcd_random

Color Stripe Test

Test through echo to /sys/class/disp/disp/attr/colorbar, 0 to 7 are different color stripe effects

echo 0 > /sys/class/disp/disp/attr/colorbar

lcd_colorbar

UI Test

LVGL Test

LVGL (Lightweight and Versatile Graphics Library) is a free and open source graphics library that provides everything you need to create embedded GUIs with easy-to-use graphical elements, beautiful visual effects and a low memory footprint. This runs lv_examples 1 for testing.

root@TinaLinux:/# lv_examples 1

lcd_lvgl

At the same time, the firmware also provides a variety of test effects.

lv_examples 0 = lv_demo_widgets
lv_examples 1 = lv_demo_music
lv_examples 2 = lv_demo_benchmark
lv_examples 3 = lv_demo_keypad_encoder
lv_examples 4 = lv_demo_stress

DirectFB Test

DirectFB is a lightweight hardware graphics acceleration, input device processing features and abstract graphics library, which integrates multi-layer display functions on top of the Linux Framebuffer driver.

root@TinaLinux:/# df_andi

df_andi

At the same time, our firmware also provides a variety of test effects to choose from.

df_andi            df_drivertest2     df_matrix          df_texture
df_flip            df_neo             df_window          df_dok             
df_knuckles        df_porter          df_drivertest    

LCD Touch

LCD Touch Test

When the LCD is touched, it will send data to the V853, which can be obtained through the cat command.

root@TinaLinux:~# cat /dev/input/event0

After running, touching the screen will output garbled characters in the terminal command line. That is, the obtained touch signal.

Camera

The V853 development board provides a dual 1080p camera solution by default, the model is GC2063.

Camera - Display

The camera image is displayed on the screen

Use sample_virvi2vo to capture and display the camera image.

root@TinaLinux:~# sample_virvi2vo /usr/sample_virvi2vo.conf

Camera

USB

USB OTG Swith Mode

Switch to Device mode

root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_device

Switch to Host mode

root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_host

USB U-Disk Test

The Type C USB connector of V853 supports OTG, which can connect U disk, mouse, keyboard and other items. When connecting a USB TYPE A device, a USB TYPE C to TYPE A adapter is required.

First switch the USB to HOST mode

root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_device

Insert U disk, automatically mount /mnt/exUDISK directory

TF Card

Insert the TF card, the TF card will be automatically mounted to the /mnt/sdcard directory

TF_Card