Archive

Posts Tagged ‘sdk’

Videostrong VS-RD-RK3399 Development Board Review – Part 1: Unboxing, Kit Assembly, SDK and Documentation

August 18th, 2017 6 comments

Videostrong VS-RD-RK3399 development board is a full-featured development based on Rockchip RK3399 hexa-core processor with up to 4GB RAM, and 32GB eMMC flash, and plenty of I/Os. The company has sent me a sample, and after getting some trouble going through customs with questions like “what is a development board?” and “is it a board for TV boxes or computers?”, I finally got hold of the parcel. Today, I’ll check out the board and its accessories, show how to assemble it, and since the company shared more info about documentation and software, quickly go over what’s available.

Videostrong VS-RD-RK3399 Development Kit Unboxing

The board was in a bland carton box, which is fine since it’s not a consumer product, with a stick showing I got the 4GB LPDDR3 / 32GB eMMC flash version. There’s also a board using 2GB/16GB configuration.


The package includes the board, bottom and top acrylic plates for the “case”, some spacers, WiFi and Bluetooth antenna, USB 3.0 type A to USB type C cable, a user’s manual detailing the board’s specifications and pinout diagram…

Click to Enlarge

… and a 12V/2A power adapter and EU, US, and UK plug adapters.

Click to Enlarge

I also took some closer photos of the development board, and it will only report new information that I have not already written in the announcement post.  First, the eMMC flash is Samsung KLMBG4WEBD-B031, the cheapest 32GB eMMC flash from the company, but still with acceptable performance: 246/46 MB/s R/W speed, and 6K/5K R/W IOPS.

Click to Enlarge

There are many USB ports in the board’s design, and this is done via Genesys Logic GL850G USB 2.0 hub chip, while the audio codec is Realtek ALC5640.

Click to Enlarge

The back of the board includes an mPCIe slot for a 4G LTE card, and a MIPI DSI connector.

VS-RD-RK3399 Kit Assembly

The assembly of the kit is mostly straightforward for may be a little confusing at the beginning. First, we’ll need to remove the protection on the acrylic plates, and use the bottom one with the 6 ventilation lines, and tighten the small and medium spacers around the base, with the small ones facing down. I thought it was a good idea to connect the u.FL to SMA cable for the antenna at this stage, but they come off those easily, it’s better to do it later.

Click to Enlarge

Then we’ll place the main board on top of the medium spacer, and tighten the longer spacers on top. Once it’s done we can remove nuts from the SMA connector, insert the antenna cables on the right and middle hole in the top acrylic, and screw the nuts back to keep the cables in place.

Click to Enlarge

We can now connect the antenna cables the ANT0 (for Bluetooth), and ANT1 (for WiFi) u.FL connectors on the board, place the top cover with the two opening aligned over the MIPI CSI connectors, and tighten it with the four remaining nuts we have, before completing the assembly by installing the two antennas.

Click to Enlarge

VS-RD-RK3399 Board SDK and Documentation

When I asked about Android/Linux software development kit, and documentation last week, the company had nothing to offer, saying the SDK will be provided via a link… Today, they gave me that link on MEGA with most of what is needed for development.

The download is too big for a free MEGA account, unless you are really patient, but you should be able to download everything using megaupload tools in a terminal.

I haven’t completed the download yet, and I’ll look into details during the next part of the review, but we can see 6 main directories:

  • VS-RD-RK3399-linuxSDK – The Linux SDK
  • VS-RD-android7.1-SDK – Android Nougat SDK
  • VS-RD Software image – Android firmware, apparently no Linux OS (yet)
  • VS-RD Software datasheet – Linux, Android, Dual OS documentation
  • VS-RD Hardware – Parts datasheet, RK3399 TRM, LCD datasheet (No schematics apparently)
  • DevelopmentTool – Various tools for development like AndroidTool, DriverAssistant, etc…

If you are interesting in the platform, you can purchase it by contacting Videostrong via Alibaba.

Cubieboard7 Board Powered by Actions Semi S700 Processor Becomes a Full-Featured Devkit with DVK522 Expansion Board

July 25th, 2017 10 comments

Cubieboard6 was announced earlier this year with the same form factor as Cubieboard2 – which was popular a few years ago – by replacing Allwinner A20 with Actions Semi S500 quad core ARM Cortex A9 processor. CubieTech is about to launch Cubieboard7 based on the same design, except for the processor upgrade to the pin-to-pin compatible Actions Semi S700 quad core ARM Cortex A53 processor. I’ve also found out Cubieboard2/6/7 can be connected to DVK522 expansion board to provide easier access more I/Os like LVDS, RGB LCD, VGA, and so on.

Let’s start with the Cubieboard7 (CB7) preliminary specifications:

  • SoC – Actions Semi S700 quad core ARM Cortex-A53 processor with Mali-450MP4 GPU
  • System Memory – 2GB LPDDR3
  • Storage
    • 8GB eMMC flash
    • SATA 3.0 port for 2.5″ HDD/SSD implemented via USB 3.0 switch and JMicron JMS578 USB 3.0 to SATA controller.
    • micro SD card slot up to 32GB
  • Video Output  – HDMI 1.4b up to 1080p60 according to specs, but datasheet mentions: [email protected]/25Hz/30Hz and [email protected]/25Hz/30Hz, so those are likely to be supported to
  • Video Decoder – MPEG-4, H.264, H265… up to 60 Mbps (average), 120 Mbps (peak)
  • Video Encoder – H.264 up to 1080p60
  • Audio I/O – Via HDMI output, 3.5mm audio output (HP) jack, 3.5mm audio input (MIC) jack
  • Connectivity – 10/100M Ethernet, 802.11 b/g/n WiFi, Bluetooth 4.0 LE (AP6212) with u.FL antenna connector
  • USB – 2x USB host ports, 1x mini USB device
  • Expansion – 2x 48-pin headers with I2C, CSI for camera, FM-IN, ADC, CVBS output, Audio output, RGB, LVDS, MIPI DSI, SPI, HSIC, INT GPIO…
  • Misc – IR receiver, RTC with battery, power and ADFU keys (to flash firmware), Power LED, 2x User LEDs
  • Power Supply
    • 5V @ 2.5A via power barrel
    • 5V via mini USB input
    • 3.7V Li-Po battery support via 2-pin header
  • Dimensions – 100mm x 60mm x 18mm
  • Temperature Range –  -20℃ ~ 70℃
  • Certifications – FCC, CE & RoHS

Development resources like tools, Android 5.1 firmware and SDK, documentation, schematics (PDF) and datasheet are shared via a Baidu link. Usually they also provide a link to MEGA to ease download for people outside of China.

S700 Application Diagram – Click to Enlarge

The documentation appears to be in English, at least S700 datasheet and product brief which include the “application diagram” above. The processor actually supports Gigabit Ethernet, but they kept the Fast Ethernet connection in Cubieboard7 likely to avoid having to re-layout the PCB and increase costs. Right now, only Android 5.1.1 is available for the board, but the company intends to “continually maintain Android, Debian, Debian Server operating systems”.

What also caught my eye with the board is DVK522 expansion board, that allows you to insert Cubieboard7 and older variants with the same form factor to more easily access various display and other interfaces, connect Arduino shields, etc… It’s been available since 2014, but I’ve only noticed it today.

DVK522 + Cubieboard6 – Click to Enlarge

DVK522 board features:

  • Display and Video Outputs
    • TVOUT interface – Video CVBS output
    • VGA interface
    • Resistive touch LCD RGB interface
    • Capacitive touch LCD RGB interface
    • Capacitive touch LCD LVDS interface: for connecting capacitive touch LCD with LVDS interface
  • Camera – 1x CAMERA interface for connecting camera modules like OV7670
  • Connectivity Headers – ZIGBEE connector for connecting ZigBee modules like Core2530, ZB501
  • Expansion Headers
    • 1x UART interface
    • 1x ONE-WIRE interface to be used with 1-wire devices such as temperature sensor (DS18B20), electronic registration number (DS2401), etc.
    • SPI0/I2C1 interface for SPI and I2C
    • Arduino headers
  • Debugging/ Programming – USB UART interface via PL2303TA USB TO UART converter, Arduino ICSP interface
  • Misc
    • 3.3 V RTC backup battery
    • 32.768K crystal for PCF8563 RTC chip
    • Buzzer
    • 3x AD keys for Android keys
    • 8x user LEDs, 1x power indicator
    • Configuration jumpers for  TVOUT selection, CAMERA power selection, RTC, RTC power selection, ONE-WIRE, Buzzer, AD keys, Arduino port selection,
      User LEDs, Arduino ADC/I2C selection, Arduino UART selection for either connecting UART shield or connecting Arduino board
  • Power Input / Output – 5V/3.3 V

Cubieboard7 does not appear to be available yet, and pricing is unknown. For reference, Cubieboard6 is sold for 420 RMB ($62.33) on Taobao, and $98 on Amazon US, and we can expect the new board to sell for a few dollars more ($10 to $15 extra?). DVK522 expansion board has been designed by Waveshare, and sold on their website for $33.99. You may want to visit Cubieboard7 product page for a few more details about the development board itself.

Thanks to Aleksey for the tip.

$29 Bluey nRF52832 BLE & NFC Development Board Comes with Temperature, Humidity, Light, and Motion Sensors

July 5th, 2017 No comments

Electronut Labs, a startup based in Bangalore, India, has designed Bluey board powered by Nordic Semi nRF52832 Bluetooth LE SoC, and equipped with 3 sensor chips reporting temperature, humidity, light intensity, and acceleration data.

Bluey board specifications:

  • SoC – Nordic Semi nRF52832 ANT + BLE ARM Cortex-M4 @ 64 MHz processor with 512kB flash, 64kB RAM
  • Storage – Micro SD slot
  • Connectivity – Bluetooth 4.2/5 LE and other proprietary 2.4 GHz wireless standards via PCB Antenna, NFC via PCB antenna
  • Sensors
    • TI HDC1010 Temperature/Humidity sensor
    • APDS-9300-020 ambient light sensor
    • ST Micro LSM6DS3 accelerometer
  • Expansion Header – 18-pin header with GPIO, 5V, 3.3V, and GND
  • Debugging – CP2104 USB interface; 6-pin SWD header
  • Misc – CREE RGB LED; 2 push buttons; coin cell holder; on/off witch; external / battery power jumper
  • Power Supply – 5V via micro USB port, up to 6V battery voltage via 4-pin header

The board is partially open source hardware with KiCad & PDF schematics (v1.1 PCB) released in Github, but not the Gerber files nor the BoM released on Github, where you’ll find some documentation, and various samples relying on Nordic nRF5 SDK to play with Bluetooth LE and sensors, as well as sample code for a 2 wheeldrive ultrasonic robot.

The board is sold on Tindie for $29, but if you live in India, you can purchase it locally instead for 1,875 Rupiah. Visit the product page for a few more details. They do not sell the full robot, as it is based on off-the-shelf parts including HCSR-04 ultrasonic sensor, DRV8835 motor driver, and chassis made by Femtech RC Model Co that is similar to the Mini Robot Rover sold on Adafruit.

Allwinner A63 2K “Flat Panel” SoC Unveiled at APC 2017 Conference

June 26th, 2017 7 comments

Allwinner unveiled their latest A63 quad core Cortex A53 SoC for tablet at the APC 2017 conference in Zhuhai, Shenzhen, last week. The processor will be an upgrade to Allwinner A64 with a Mali-T760MP2 GPU, support for 2560 x 1600 displays, and a 6K H.265/VP9 video processing unit.

Some of Allwinner A63 key features:

  • CPU- Quad core Cortex A53 processor with 32KB L1 I-cache, 32KB L1 D-cache, shared 512KB L2 cache
  • GPU – ARM Mali-T760MP2 “high performance” GPU with OpenGL ES 3.2 support
  • VPU – 4K/6K VP9, H.265, and H.264 4K @ 30fps video decoder; Smartcolor 3.0 “video quality enhancement engine”
  • Memory I/F – DDR3, DDR3L, LPDDR3, LPDDR2
  • Storage I/F – eMMC 5.0; TLC/MLC/SLC/EF NAND flash with 80-bit ECC
  • Display I/F – Dual MIPI and eDP interfaces up to 2560 x 1600 resolution
  • Audio – Support for multi-microphone array, multi-channel analog voice signal input and stereo ADC, DAC
  • Package – 15 x 15 mm
  • Manufacturing Process – 28nm

Allwinner will provide an Android N GMS SDK for the processor, which beside tablets, is also expected to be used in point of sales, and digital signage applications. The processor also comes with audio capabilities to support voice commands / APIs like Amazon Alexa. The company has not setup a product page on their website yet, and I got most of the info from an article on Sohu.

Design Amazon Alexa Gateways, Robots and Smart Speakers with WisCore Modular Development Kit

June 17th, 2017 3 comments

RAK Wireless has launched a new development board powered by Mediatek MT7628A processor running OpenWrt with built-in WiFi and Ethernet connectivity, and audio codec and microphone to support Amazon Alexa voice service. Bluetooth, Zigbee, and Z-wave will also be supported via UART modules.

Wiscore Specifications:

  • Processor – Mediatek MT7628A MIPS24KEc CPU @ up to  580MHz
  • System Memory –  128MB DDR2 (64 MB optional)
  • Storage – 16 MB flash + micro SD card

    Block Diagram – Click to Enlarge

  • Audio
    • MicroSemi ZL38062 for audio in and out
    • MicroSemi ZL38067 to handle “Alexa” keyword
    • single or dual digital microphone up to 5 meter range
    • Far field voice wake up
    • Support for echo cancellation
  • Connectivity
    • 802.11 b/g/n WiFi 2×2 MIMO up to 300 Mbps
    • 2x 10/100M Ethernet (LAN and WAN)
    • Optional UART modules for Bluetooth, ZigBeem Z-Wave
  • USB – 1x USB 2.0 host port
  • Expansion – Arduino headers with UART, I2C, SPI and GPIOs
  • Power Supply – 5V via power barrel or mini USB port

As you can see from the photo below, the main components are on separate boards (for some reasons) with a “mother board”, MT7628 module, and an audio sub-board.

As mentioned in the introduction, the MT7628 module runs an OS based on OpenWrt with RAK iGate middleware, and the company provides an SDK allowing you to develop solutions based on Amazon Alexa thanks to one codec that will detect “Alexa” keyword and wake up to the board, and another codec handling audio capture and output. The software architecture is shown below, Wiscore app for Android and iOS is provided to pair the EVK with Alexa, and more documentation and software can be found in the Wiki on Github.

WisCore Software Architecture

The solution can be used to build voice controlled home automation gateways or appliances, smart speakers, and robots. RAK Wireless sells a development kit with the three boards, an Ethernet cable, a speaker, a USB cable, two antennas, some Dupont wires, some jumpers, and a Quick Start Guide for $49 plus shipping. Visit the product page for a few more details.

Olimex ESP32-EVB Board with Ethernet, CAN Bus, and Relays up for Sale for 26 Euros

May 30th, 2017 3 comments

One of the new feature of Espressif ESP32 SoC over ESP8266 is the inclusion of an Ethernet MAC interface, but so far few boards come with an RJ45 jacks. ESP32 Monster board is an option, also including an OLED Display and CAN Bus, and sold on Tindie for $35, but Olimex has now stocked their ESP32-EVB board with Ethernet, CAN Bus, and two relays, and you can purchase it for 26 Euros per unit, and less in larger quantities.

Olimex ESP32-EVB Rev. B specifications:

  • Wireless Module – ESP32-WROOM32 module with 802.11 b/g/n WiFi and Bluetooth LE
  • Wired Connectivity – 10/100M Ethernet with RJ45 jack (via LAN8710A)
  • External Storage – micro SD slot
  • Relays – 2x 10A/250VAC relays with LED status
  • Expansion
    • 40-pin GPIO female header (2.54mm pitch)
    • UEXT connector for sensors and modules
    • CAN Bus
  • USB – 1x micro USB port for debugging (CH340T) and power
  • Misc – Reset and user buttons, IR receiver and transmitter with up to 5 meter range
  • Power Supply
    • 5V via power jack or micro USB port
    • LiPo charger and step up converter allowing ESP32-EVB to run from LiPo battery
  • Dimensions – 75 x 75 mm

The specifications are a little different compared to the Rev. A prototype shown in February, as they added IR transmitter and receiver, a CAN bus, and a micro USB port for debugging, which increases the size of the PCB, and also explains why the price went up from an expected 22 Euros to 26 Euros for the final board.

The board is open source hardware, and you’ll find hardware design files on Github. The software directory is empty for now, but the Tindie page about ESP32 Monster board indicates that “Ether and CAN programming requires ESP-IDF environment and still not by Arduino IDE”, so if you want to use the latter you may have wait a little longer. Olimex is also planning for a color 2.8″ LCD 320×240 pixel display board connected through UEXT header.

Banana Pi BPI-M2 Berry Allwinner V40 Development Board, Allwinner Business Units & SDK/Software Management

May 29th, 2017 52 comments

SinoVoIP has unveiled yet another new board with Banana Pi BPI-M2 Berry this week-end. It’s actually quite similar to Banana Pi BPI-M2 Ultra board, by they replaced Allwinner R40 with Allwinner V40 processor, removed some features, and use Raspberry Pi 3 form factor. If we look at Allwinner V40 product brief we can see the specifications look almost identical, with V40 potentially exposing an extra CAN bus. The company’s announcement was very confusing since they show Banana Pi BPI-M2 Berry board with Allwinner R40 instead of Allwinner V40.

Banana Pi BPI-M2 Berry specifications:

  • SoC – Allwinner V40 quad Core ARM Cortex A7 processor with ARM Mali-400MP2 GPU
  • System Memory – 1G DDR3 SDRAM
  • Storage – micro SD slot, SATA interface
  • Connectivity – 1x Gigabit Ethernet port, 802.11 b/g/n WiFi and Bluetooth 4.0 (AP6212 module)
  • Video Output – HDMI 1.4 port up to 1080p60, 4-lane MIPI DSI display connector
  • Audio I/O – HDMI, 3.5mm headphone jack, built-in microphone
  • USB – 4x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – CSI camera connector
  • Expansion – 40-pin Raspberry Pi compatible header with GPIOs, I2C, SPI, UART, ID EEPROM, 5V, 3.3V, GND signals.
  • Debugging – 3-pin UART for serial console
  • Misc – Reset, power, and u-boot buttons
  • Power Supply – 5V via micro USB port; AXP221s PMIC
  • Dimensions – 85mm x 56mm

The Wiki is also shared for BPI-M 2 Ultra/Berry boards. The company also showed a picture of BPI-M2 Ultra with Allwinner V40 confirming both processors are  pin-to-pin-compatible.

BPI-M2 Ultra Board with Allwinner V40 Processor

So why bother doing different processors since they are so similar? Last time, we were told Allwinner A64 and R18 had different SDKs, so it should be the same for R40 and V40. Allwinner has different family of processors dedicated to different market segments: A-series are application processors, H-series are for home entertainment, R-series for the IoT, and V-Series for video camera applications. In some ways, it makes sense to have different business units that specialize in specific market segments. If you customer wants to make an action camera redirect him to the V-series guys, a TV box that’s for H-series, and so on.

There’s been a long-ish discussion about Allwinner business units on CNX Software. What has apparently been happening is that some processors can be used across market segments, so they have duplicates (or close to it) with for example Allwinner A64/R18 that’s just the same chip but assigned to a different business unit. Each business unit work and release their own SDK, and based on different Linux and Android version for different SDK, there does not seem common work across business units, and they appear to have separate software teams.  The processors are differentiated by “CHIP ID”, and by default you can’t run firmware generated by R18 SDK on A64, and vice-versa, since the bootloader will detect the ID and prevent the software to run.  That also looks like a bad idea, since for example a software bug fixed on Allwinner R18 SDK, may go unnoticed on Allwinner A64 for years etc… So ideally all business units should get their software from a single team taking care of low level software (bootloader/kernel/drivers), middleware (Android/rootfs), while software developers’ part of a given business unit may work on the market specific software.

Jon had more insights on this business organization:

The R group is releasing a different SDK for the R18. They are not using the A64 one. That strongly suggests to me two sets of software people. A single software group would have simply added the R18 extras into the A64 SDK.

You want a centralized Linux and Android group. Then inside that group you develop specialists. For example the DMA person, the UART person, the Ethernet person, etc. That person is responsible for driver support over all of the CPUs Allwinner makes. They become experts on this piece of the SOC. The output of this group is a single SDK that supports all Allwinner processors. Like what mainline Linux is doing for Allwinner SOC currently. Not the single CPU kernels that AW keeps releasing.

Then you can give this central software group two instructions:
1) Add a new SOC to the existing base. Each specialist will extend their existing driver to add support for the new SOC. Not cut and paste then edit to make a new driver! That happens with separate groups.
2) Add support for a new kernel or Android release. Everyone in the group works together to bring all of the SOC support up to this new release. This is not that hard now since each expert in their niche will know exactly what the issues are.

The central group allows these vertical specialists to exist. Having the chip groups do it results in a lot of copy/paste/edit (which we see in spades) and many bugs because the work is having to be done by generalist assigned to the group. When the programmers belong to the hardware groups Allwinner is creating “port and forget” specialists.

and also mentioned it’s been tried before, and failed:

This awful management style was practiced by most of the US semiconductor industry in the 1990’s. Most have discovered that it was a really bad way to do things and have reorganized.

This management style occurs when chip people end up in top management at these SOC companies. They treat everything like a chip and software is definitely not a chip. But these “chip heads” don’t know much about software so they can’t see how bad this organization design is for long term support. You can’t blame the “chip heads” for acting this way, it is the only area they have worked in. What they are doing is the correct model for making chips.

Now I don’t have detailed internal org charts for Allwinner. But I used to work for US companies that had this exact management structure before realizing how messed up it was. Only after a couple of very expensive failed launches of new chips because the software supporting them didn’t work did management change.

Another not-directly related complain is that Allwinner will also release the source code as tarballs, and they don’t have a git (or other revision control system) repository accessible to customers, for example like Amlogic or Rockchip already do. Instead they release those large tarballs, and then linux-sunxi community may import the u-boot/Linux kernel part to github, and work on them, although those days, they may prefer to focus on mainline rather than on Allwinner SDK releases.

HiSilicon Hi3796M V200 UHD DVB + H.265 STB SoC Showcased at Broadcast Asia 2017

May 25th, 2017 6 comments

Broadcast Asia international digital multimedia & entertaiment technology exhibition & conference is taking place in Singapore on May 23 – 25, and I’ve been informed that Hisilicon showcased their latest Hi3796M V200 Set-top box SoC with support for 4K DVB, H.265, and high dynamic range technology such as HDR10, HLG and Dolby Vision.

Hiliscon Hi3796M V200 Board and DVB Tuner – Click to Enlarge

Key features and specifications of Hi3796M V200 processor:

  • CPU – Quad core ARM Cortex A53
  • GPU – ARM Mali-450MP
  • Memory – DDR3, DDR3L, DDR4
  • Video Output – 1x HDMI 2.0a Tx with HDCP 2.2
  • Video format – HEVC, H.264, MPEG2, MPEG4, VC1, VP9, AVS 2.0
  • HDR – HDR10, HLG, Dolby Vision, HDR and SDR conversion
  • HiVXE 2.0 VPU – Decoder – 4K60 10-bit; Encoder – HEVC/H.264 1080p30 or 2x 720p30
  • Ethernet – 1x Gigabit Ethernet, 1x Fast Ethernet
  • USB 2.0 – 2x USB 2.0 ports
  • SATA & PCIe & USB 3.0 – USB 3.0, SATA 3.0, PCIe 2.0 host interface (optional); cnxsoft’s note: all ports are likely multiplexed, so only one is usable.
  • Transport Stream I/F – 2x TS In + 2x TS In or Out + 1x Cable IF in
  • SDIO – 2x SDIO 3.0
  • Security – Advanced DRM, and CAS (NOCS3.X), and hardware video watermark. TrustZone

The company can provide Android 7.0 and Linux SDKs with middleware and RDK for the processor and development board. HiVXE 2.0 is also said to support PiP and video transcoding. Hardware video watermark ability allows the processor to meet MovieLabs UHD premium service delivery requirements.

Click to Enlarge

It appears the company will also offer a user-friendly way to watch VR videos / 360° videos on the TV by using a mobile app or remote control to navigate in all directions while the video is playing.

I could not find any information at all on the web about Hi3796M V200 processor, so thanks to Ovi for sending pictures directly from the Broadcast Asia exhibition, and allowing us to discover this new multimedia processor.