4. Android Application

4.1 Serial Terminal

Idea3588S_Display_IO

Connect the board and PC with USB Serial cable, then power on, the terminal will output boot information. The default baudrate is 1500000.

su          //switch to root mode
Terminal_UI

Serial Terminal

4.2 Display

Display_IO

Display Ports

Idea3588S supports MIPI LCD, HDMI and Type-C(DP Alt Mode) display synchronization.

Android_Display

Display synchronization

4.3 USB Type-C

_images/docking-station.jpg

Docking station

Features Supported by the Type-C Interface:

  1. Reversible Design: Allows insertion in either orientation for user convenience.

  2. Data Transmission Roles: Supports flexible designation of host and device roles.

  3. Multiple Protocol Support: Compatible with USB 3.0 and DisplayPort, enabling high-speed data transmission.

4.3.1 ADB

❶ Connect the board and PC host with Type-C cable.

_images/adb_connection.jpg

❷ Install ADB driver on Windows system.

❸ Press Windows + R to open the Run program. Type cmd and press Enter

❹ Execute the follow commands to enable ADB.

1adb root
2adb remount
3adb shell
_images/Android_adb.png

enable ADB

4.3.2 Type-C to USB3.0

Idea3588S supports Type-C to USB3.0. The USB device can be used directly without install any driver.

#Serial terminal output
[ 1119.133057][ T6008] usb 8-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[ 1119.162008][ T6008] usb 8-1: New USB device found, idVendor=0dd8, idProduct=3b00, bcdDevice= 0.02
[ 1119.162057][ T6008] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1119.162073][ T6008] usb 8-1: Product: OnlyDisk
[ 1119.162085][ T6008] usb 8-1: Manufacturer: Netac
[ 1119.162096][ T6008] usb 8-1: SerialNumber: 0A6544CD10427AB2
[ 1119.165944][ T6008] usb-storage 8-1:1.0: USB Mass Storage device detected
[ 1119.167589][ T6008] scsi host0: usb-storage 8-1:1.0
[ 1119.823192][ T6095] read descriptors
[ 1119.823337][ T6095] read strings

4.3.3 DP Alt Mode

DisplayPort Alternate Mode (DP Alt Mode) is a technology that facilitates the transmission of DisplayPort video signals through a USB Type-C interface. It enables devices to output video and audio via a USB-C connection without requiring a dedicated DisplayPort connector. This allows users to connect a display using a single USB-C port while transmitting video, audio, and additional data.

Boardcon has conducted the testing at Type-C to HDMI/DP (3840 x 2160 @ 60fps).

_images/Android_Type-C-to-HDMI.jpg

Type-C to HDMI

4.4 Ethernet

Ethernet Port

Connect the board and router with an Ethernet cable.

_images/Android_Ethernet_connect.jpg

Network connected

Open Lighting (browser) or ping URL/IP to test Network.

_images/Android_browser.png

browser

1ifconfig
2ping -I eth0 www.armdesigner.com
#Serial terminal output
console:/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 3a:3b:7b:e4:37:fa  Driver rk_gmac-dwmac
          inet addr:192.168.0.133  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::bc8:8b0b:979f:5f0f/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:649 errors:0 dropped:0 overruns:0 frame:0
          TX packets:908 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:141310 TX bytes:115009
          Interrupt:93
 console:/ # ping -I eth0 www.armdesigner.com
 PING www.armdesigner.com (67.222.54.196) from 192.168.0.133 eth0: 56(84) bytes of data.
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=1 ttl=48 time=179 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=2 ttl=48 time=180 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=3 ttl=48 time=179 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=4 ttl=48 time=182 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=5 ttl=48 time=180 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=6 ttl=48 time=179 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=7 ttl=48 time=179 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=8 ttl=48 time=179 ms
 64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=9 ttl=48 time=180 ms
 ^C
 --- www.armdesigner.com ping statistics ---
 9 packets transmitted, 9 received, 0% packet loss, time 8008ms
 rtt min/avg/max/mdev = 179.574/180.204/182.054/0.734 ms
 console:/ #

4.5 USB Host

USB Host IO

The USB Host can be used to connect USB mouse, USB keyboard, U-Disk or other USB devices. The USB3.0 default supports Superspeed.

_images/Android_USB_device.png

USB device

USB3.0 Superspeed detected:

#Serial terminal output
[ 119.669348][ T15] usb 6-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[ 119.697584][ T15] usb 6-1: New USB device found, idVendor=0dd8, idProduct=3b00, bcdDevice= 0.02
[ 119.697700][ T15] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 119.697733][ T15] usb 6-1: Product: OnlyDisk
[ 119.697758][ T15] usb 6-1: Manufacturer: Netac
[ 119.697784][ T15] usb 6-1: SerialNumber: 0A6544CD10427AB2
[ 119.705999][ T15] usb-storage 6-1:1.0: USB Mass Storage device detected

4.6 WiFi & Bluetooth

WiFi&BT

WiFi&BT module

4.6.1 WiFi

❶ Connect the WiFi antenna.

❷ Click Settings -> Network & internet -> Internet -> Wi-Fi -> turn on

❸ Select the SSID from the list of available networks and enter the password.

After connected, open the browser or ping URL/IP at terminal to test Network.

_images/Android_browser.png

browser

1su
2ifconfig
3ping -I wlan0 www.armdesigner.com
#Serial terminal output
console:/ $ su
console:/ # ifconfig
wlan0     Link encap:Ethernet  HWaddr d4:9c:dd:f5:e7:22
       inet addr:192.168.0.141  Bcast:192.168.0.255  Mask:255.255.255.0
       inet6 addr: fe80::4f11:385d:e067:a512/64 Scope: Link
       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
       RX packets:869 errors:0 dropped:0 overruns:0 frame:0
       TX packets:1362 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000
       RX bytes:174072 TX bytes:196964
console:/ # ping -I wlan0 www.armdesigner.com
PING www.armdesigner.com (67.222.54.196) from 192.168.0.141 wlan0: 56(84) bytes of data.
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=1 ttl=48 time=183 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=2 ttl=48 time=184 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=3 ttl=48 time=209 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=4 ttl=48 time=185 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=5 ttl=48 time=187 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=6 ttl=48 time=185 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=7 ttl=48 time=185 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=8 ttl=48 time=186 ms
^C
--- www.armdesigner.com ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7006ms
rtt min/avg/max/mdev = 183.650/188.586/209.785/8.114 ms

4.6.2 Bluetooth

Click Settings -> Connected devices -> Pair new device

Select the available device in the list to pair.

_images/Android_BT_pair.png

Pair new device

After pairing, devices can connect with each other automatically.

4.7 Audio I/O

Idea3588S_Headset

Headset

❶ Plug the Headset into the 3.5mm Audio jack.

_images/Headset_detected.jpg

Headset insertion detected

❷ Open Sound Recorder

_images/Record_icon.png

Record

❸ Click Start to start recording.

_images/Android_Recording.png

❹ After finish recording, click Stop -> play to test recorded file.

4.8 4G

4G+SIM

4G module

❶ Insert 4G module to mPCIe socket (4G model: EC20).

❷ Connect antenna and insert SIM card.

❸ Power on. The default connection is 4G network.

_images/android_4G_test.jpg

4G network

Open the browser or ping URL/IP at terminal to test Network.

_images/Android_browser.png

browser

1su
2ifconfig
3ping -I wwan0 www.armdesigner.com
#Serial terminal output
console:/ $ su
console:/ # ifconfig
wwan0     Link encap:Ethernet  HWaddr 82:6a:80:51:1e:5e  Driver qmi_wwan_q
       inet addr:10.165.83.73  Mask:255.255.240.0
       inet6 addr: fe80::806a:80ff:fe51:1e5e/64 Scope: Link
       UP RUNNING NOARP  MTU:1500  Metric:1
       RX packets:379 errors:0 dropped:0 overruns:0 frame:0
       TX packets:751 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000
       RX bytes:131898 TX bytes:111306

console:/ # ping -I wwan0 www.armdesigner.com
PING www.armdesigner.com (67.222.54.196) from 10.165.83.73 wwan0: 56(84) bytes of data.
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=1 ttl=46 time=285 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=2 ttl=46 time=308 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=3 ttl=46 time=687 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=4 ttl=46 time=735 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=5 ttl=46 time=276 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=6 ttl=46 time=275 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=7 ttl=46 time=274 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=8 ttl=46 time=272 ms
64 bytes from 67-222-54-196.unifiedlayer.com (67.222.54.196): icmp_seq=9 ttl=46 time=272 ms
^C
--- www.armdesigner.com ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8007ms

4.9 SD Card

SD

Idea3588S supports SD Hot-plug. Click Explorer to view the mounted SD card.

_images/Android_SD.png

SD card

4.10 RS485

RS485 connect

❶ Connect PC and board with USB-to-RS485 adapter.

CAN connection

RS485 connection

❷ Open the Serial Terminal and set baud rate for the board and RS485 adapter respectively.

Baud rate: board - 1500000; RS485 adapter - 115200

_images/RS485_baudrate.png

❸ Execute command on the terminal serial port of board.

com /dev/ttyS8 115200 8 0 1

❹ Input character to test RS485 communication.

_images/Android_RS485_Test.png

4.11 CAN

CAN

❶ Connect PC and board with USB-to-CAN adapter.

CAN connection

CAN connection

❷ Open the CAN application and set the baudrate to 500000 on PC.

_images/CAN_baudrate.png

❸ Execute commands on Serial Terminal to configure CAN.

1ip link set can0 down
2ip link set can0 type can bitrate 500000
3ip link set can0 up
_images/Android_CAN_config.png

❹ Configure CAN as receiver.

1candump can0
_images/Android_CAN_receiver.png

❺ Configure CAN as Transmitter.

1cansend CAN0 123#1122334455667788
_images/Android_CAN_Transmitter.png

4.12 UART

UART connect

❶ Connect RX and TX of UART.

❷ Execute command and input character to test.

1com /dev/ttyS0 115200 8 0 1    //UART0
#Serial terminal output
console:/ # com /dev/ttyS0 115200 8 0 1
port = /dev/ttyS0
baudrate = 115200
cs = 8
parity = 0
stopb = 1
1234567890
RECV: 1234567890
abcdefg
RECV: abcdefg

Tests for UART1 and UART2 are similar to UART0.

com /dev/ttyS7 115200 8 0 1    //UART1
com /dev/ttyS4 115200 8 0 1    //UART2

4.13 IR

IR

❶ Turn on IR debugging log.

1echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print

❷ Press the Infrared controller, you can view the received datas on the terminal.

#Serial terminal output
console:/ # echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print
[  779.532518][    C1] USERCODE=0x1818
[  779.559615][    C1] RMC_GETDATA=97
[  780.724797][    C1] USERCODE=0x1818
[  780.751999][    C1] RMC_GETDATA=9a
[  781.220272][    C1] USERCODE=0x1818
[  781.247406][    C1] RMC_GETDATA=99
[  781.852331][    C1] USERCODE=0x1818
[  781.879467][    C1] RMC_GETDATA=98
[  782.344221][    C1] USERCODE=0x1818
[  782.371347][    C1] RMC_GETDATA=9b
[  783.408425][    C1] USERCODE=0x1818
[  783.435604][    C1] RMC_GETDATA=e6
[  783.896209][    C1] USERCODE=0x1818
[  783.923404][    C1] RMC_GETDATA=e6
[  784.452220][    C1] USERCODE=0x1818
[  784.479352][    C1] RMC_GETDATA=e7

4.14 RTC

RTC

❶ Insert a CR1220 battery before test. It keeps the time running when the main power is off.

❷ Set date and time manually.

1date "2024-11-11 17:59:30"              //set system date
2hwclock -w                              //set the hardware clock to current system time
3hwclock                                 //display date and time
#Serial terminal output
console:/ # date "2024-11-11 17:59:30"
Mon Nov 11 17:59:30 EST 2024
console:/ # hwclock -w
console:/ # hwclock
2024-11-11 22:59:38+0000
console:/ # hwclock
2024-11-11 22:59:54+0000
console:/ # hwclock
2024-11-11 23:00:05+0000
console:/ # hwclock
2024-11-11 23:00:26+0000

❸ Power off. Wait for a moment, power on again, and then execute the command hwclock, you will find that the time is saved.

#Serial terminal output
console:/ # hwclock
2024-11-11 23:21:45+0000
console:/ # hwclock
2024-11-11 23:21:53+0000
console:/ # hwclock
2024-11-11 23:22:00+0000
console:/ # hwclock
2024-11-11 23:22:10+0000

If connected to the internet, the time will automatically synchronize with the network time.

4.15 FAN

_images/FAN.jpg

Connect FAN (12V, 2-pin/2.0mm pitch connector) to the board. Boardcon firmware has preset that the fan works when the CPU temperature exceeds 45° C.

4.16 Camera

_images/Idea3588S_Camera_IMX415.jpg

Connect the camera module (DC-IM415-1214V1) to the development board before power on, then click the camera APP to test.

Idea3588S Camera0 and camera1 share the signal I2C2, Boardcon Android 12 firmware default camera0 is enabled.

camera APP

Camera app icon

_images/Android_Camera0_test.jpg

Camera preview