Blog

DSOM-020R PX30 development board review - Unboxing, Benchmarks, and Zigbee gateway - CNX Software

CNX Software – Embedded Systems News

Reviews, tutorials and the latest news about embedded systems, IoT, open-source hardware, SBC's, microcontrollers, processors, and more EtherCAT Bus Coupler

DSOM-020R PX30 development board review - Unboxing, Benchmarks, and Zigbee gateway - CNX Software

Dusun IoT DSOM-020R PX30 is a development board based on the company’s 1.3GHz Rockchip PX30K quad-core Cortex-A35 module of the same name designed for industrial applications that emphasize reliability and power efficiency.

The board comes with various ports and expansion capabilities with support for monitors, microphones, and sensors through its carrier board in order to create prototypes and develop software before integrating the SOM DSOM-020 PX30 system-on-module into your own custom carrier board and product.

As the company stipulates on the website, the development board is suitable for AIoT equipment, vehicle control, gaming platforms, smart displays, medical equipment, vending machines, and industrial computers. Let’s start the review with an unboxing of the DSOM-020R PX30 development board to find out more.

Dusun IoT sent us a basic kit of the DSOM-020R PX30 development board for review with a carrier board, the DSOM-020 PX30 system-on-module module, a USB2Serial debug board, a USB cable, and 12V/2A power adapter. We were initially taken aback as the module was not soldered to the carrier board.

But instead of returning the board, we eventually decided to solder it ourselves to the carrier board to carry on with the review. Here’s what the complete kit we received looks like after soldering the module.

The brain of the DSOM-020R PX30 development board is the SOM DSOM-020 PX30 powered by a Rockchip PX30K low-power quad-core Arm Cortex-A35 processor designed for 24-7 operation. The processor offers plenty of GPIOs, four I2C, six UART, I2S, and camera interfaces among others. Dusun IoT integrated the PX30K into the SOM DSOM-020 PX30 module along with RAM and EMMC flash to use the board design of the customers.

The Rockchip PX30K is a variant of the better-known Rockchip PX30 processor designed to work in a wider -20 to +85°C temperature range.

Let’s now have a closer look at the carrier board’s features.

We’ll try installing the Ubuntu 16.04 image (the filename “DSOM-020R_img-debian_AV1.0.0.img” includes “debian” but that’s an Ubuntu image…) for PX30K provided by Dusun IoT using the RKDevTool V2.93 program in Windows since it is the recommended method. The Rockchip PX30K can be put into flash mode by pressing and holding the K1/Recovery button and then pressing the Reset button. Shortly after that, the program will detect the board and display the message “Found One LOADER Device”. We can now click on the “Upgrade Firmware” tab,  select the OS image, and click on the “Upgrade” button. After the installation is complete, we can connect the UART2 connector on the board to the provided USB-to-Serial debug board and set the baudrate to 115200 to access the serial console. The board takes only 11 seconds to boot up to the console.

The board does not have a standard video output interface like HDMI,  so the serial interface is the only option here unless the kit also includes an LCD display attached to the MIPI DSI or LVDS connector.

Let’s now quickly check we got a module with 2GB RAM and 32GB eMMC flash promised. The /dev/root is 4.9GB and /dev/mmcblk2p9 – which is /userdata – has a size of 24GB, so everything is fine storage-wise. If you want to install any additional programs, you have to go to /userdata and make a symbolic link pointing to it. The “free” command confirms we have 2GB of RAM.

We will now perform some basic functional testing to check the module information, check the eMMC flash performance, and Ethernet speed, and since we have a headless system use the board as a Zigbee gateway for IoT applications.

We’ll start the benchmarks in Ubuntu with sbc-bench.sh. The script reports 1.9GB of RAM and a 4-core Rockchip PX30 CPU clocked at 1.248 GHz.

Under heavy load, the CPU temperature rose to 68.1 °C without any cooling heatsink or fan, and the system was still stable with no throttling detected by the script.

The CPU temperature ranges from 58°C to 68.8°C during the test.

You’ll find the complete sbc-bench.sh test results at http://ix.io/4IT1.

We then tested flash storage faster with iozone using the -i parameter to read data directly from the disk without relying on the cache that may skew results:

The read speed is approximately 128 MB/s and the write speed is 108 MB/s, which is considered very good. For reference, the flash chip is a Samsung  KLMBG2JETD-B041 eMMC 5.1 flash.

We tested the 10/100M Ethernet performance with iperf3 program using the router provided by AIS (broadband operator in Thailand) and found a speed of 94.2 Mbits per second, a normal result for a 100 Mbps interface.

The DSOM-020R PX30 development board comes with four user-programmable buttons (K1, K2, K3 and K4) that are connected to the Rockchip PX30’s ADC2 interface using different resistors values so that when a button is pressed we can read different voltage values and know which button was pressed.

We used the sample code below for testing:

After compiling the program with gcc we successfully ran the sample to test key presses:

We tested the stability of the DSOM-020R PX30 development board by configuring it as a Zigbee gateway by connecting the SONOFF Zigbee 3.0 USB Dongle Plus to one of the board’s USB ports and the system detected it properly:

We then installed Node.js – required by Zigbee2MQTT – by following the relevant instructions on GitHub.

DSOM-020R PX30 development board review - Unboxing, Benchmarks, and Zigbee gateway - CNX Software

Relay Output 2A/30VDC/60W The next step is to install the Zigbee2MQTT file from GitHub: