Saturday, April 29, 2017

Huawei's Powerful ARM® - The HiKey 960 Android Reference Board

Announced by Linaro on 25 April, 2017 under the 96Boards product line, the new HiKey 960 Single board computer (SBC) will power the Android and Maker ecosystems for the foreseeable future.

Designed and powered by the world's leading technology companies, Google and Huawei, the HiKey 960 is the new flagship platform for Android and embedded development.  The development of the HiKey 960 Single Board Computer (SBC) is a partnership between Linaro members ARM, Google, Huawei, Archermind, and LeMaker.

The HiKey 960 is built on HiSilicon's (an Huawei Company) powerful ARM®, the Kirin 960 Octa-core SoC. The Kirin 960 is built on the ARM®v8-a architecture and supports Big.LITTLE™ technology.  The SoC contains four ARM® Cortex®-A73 cores, four Cortex®-A53 cores, and a Mali-G71 MP8 GPU. 

The board has 3GB of LPDDR4 SDRAM memory, 32GB of UFS 2.0 flash storage, two and four lane MIPI CSI interfaces, 1080p HDMI and MIPI DSI video interfaces, I2C, SPI, GPIO, PCIe Gen2, WiFI, and Bluetooth 4.1 interfaces.  The board runs on a 12V/2A power supply which is standard for most real-world boards.  

The HiKey 960 is certified by Google and Linaro's 96Boards division.  Google certified the board for official AOSP development and 96Boards certified it under their Consumer Edition (CE) specification.

The HiKey 960 board is an ideal platform for many different types of users. Here are just a few.
  • an AOSP developer or engineer who needs a reference platform for development
  • a mobile test engineer at a telco
  • a mobile security professional
  • a person with the need to upgrade the Raspberry Pi for a more stable platform
  • a Linux kernel developer
  • a hardware engineer
  • a maker or independent developer
  • a developer involved in robotics, digital signage, or point of sale (POS)
  • a developer interested in building ARM® Trusted Firmware (ATF)
  • a platform for understanding how Android properly communicates with an underlying hardware design

If you have not purchased one yet, you can today through the following distribution channels:

Sunday, February 12, 2017

Setting up a D-Star Access Point on Raspbian with PIXEL - Part II

This is part II of a two Part series. In part I, DStarRepeater and IRCDDBGateway were compiled and DstarRepeater was configured on Raspbian Jessie with PIXEL.  In Part II, IRCDDBGateway will be configured,and an Icom ID-51a+ will connect to the D-Star network through the D-Star hotspot.

Elizabeth Tower at the North end of the Palace of Westminster in London



Configure ircddbgateway

Execute ircddbgatewayconfig on the target (Raspberry Pi) as follows.

pi@hbox:~ $ sudo ircddbgatewayconfig &

Replace KF5SVQ with your call sign.

Make sure that you select Save from the File Menu in order to save your changed to the configuration file.   Also make sure that you select Exit from the File menu after you select Save.

Start ircddbgateway and dstarrepeater

pi@hbox:~ $ sudo ircddbgateway &
pi@hbox:~ $ sudo dstarrepeater &

Configure the Radio 

Link to the UK D-Star Megarepeater

D-Pad -> Repeater List -> Simplex -> 145.67 DV
Press PTT
D-Pad -> Local CQ
Hold Down PTT and Talk

Setting up a D-Star Access Point on Raspbian with PIXEL - Part I

This is part I of a two Part series. In part I, DStarRepeater and IRCDDBGateway will be compiled and DStarRepeater will be configured on Raspbian Jessie with PIXEL.  In Part II, IRCDDBGateway will be configured and an Icom ID-51a+ will connect to the D-Star network through the D-Star hotspot.


Create a hotspot or access point for a handheld radio in order to connect to the D-Star network.



Host - Your Desktop computer (Linux)
Target - Raspberry Pi 3 running Raspbian Jessie with PIXEL (Linux)


Write the Raspbian image to the uSD on the host.  Execute the following commands on the host.

dev@fedora:~ $ sudo umount /dev/sdb*
dev@fedora:~ $ sudo dd if=2017-01-11-raspbian-jessie.img of=/dev/sdb bs=1M

Boot the Pi with the uSD card.  Execute the following commands on the Pi.

pi@hbox:~ $ apt-get install libwxgtk3.0-dev libusb-1.0-0-dev
pi@hbox:~ $ mkdir ~/src
pi@hbox:~ $ cd ~/src
pi@hbox:~ $ git clone -b master
pi@hbox:~ $ cd OpenDV/ircDDBGateway
pi@hbox:~ $ ./configure
pi@hbox:~ $ make
pi@hbox:~ $ sudo make install
pi@hbox:~ $ cd ..
pi@hbox:~ $ cd DStarRepeater
pi@hbox:~ $ ./configure
pi@hbox:~ $ make
pi@hbox:~ $ sudo make install
pi@hbox:~ $ sudo mkdir -p /usr/local/etc/opendv
pi@hbox:~ $ sudo mkdir -p /usr/local/var/log/opendv

Configure DStarRepeater

Execute dstarrepeaterconfig on the target as follows.

Replace KF5SVQ with your call sign.

Friday, September 16, 2016

Implementing Software-defined radio and Infrared Time-lapse Imaging with Tensorflow on a custom Linux distribution for the Raspberry Pi 3

GNURadio Companion Qt Gui Frequency Sync - multiple FIR filter taps
sample running on Raspberry Pi 3 custom Linux distribution
The Raspberry Pi 3 is powered by the ARM® Cortex®-A53 processor.  This 1.2GHz 64-bit quad-core processor fully supports the ARMv8-A architecture.
For this project, a custom Linux distribution was created for the Raspberry Pi 3.

The custom Linux distribution includes support for GNURadio, several FPGA and ARM Powered® SDR devices, D-STAR (hotspot, repeater, and dongle support), hsuart, libusb, hardware real-time clock support, Sony 14 megapixel NoIR image sensor, HDMI and 3.5mm audio, USB Microphone input, X-windows with xfce, lighttpd and php, bluetooth, WiFi, SSH, TCPDump, Docker, Docker registry, MySQL, Perl, Python, QT, GTK, IPTables, x11vnc, SELinux, and full native-toolchain development support.  

The Sony 14 megapixel image sensor with the infrared filter removed can be connected to the Raspberry Pi 3's MIPI camera serial interface.  Image capture and recognition can then be performed over contiguous periods of time, and time-lapsed video can be created from the images.  With support for Tensorflow and OpenCV, object recognition within images can be performed. 

D-STAR hotspot with time-lapsed infrared imaging.

For the initial run, an infrared Time-lapse Video was created from an initial image capture run of  one 3280x2460 infrared jpeg image captured every 15 seconds for three hours.  40, 5mm, 940nm LEDs, powered by 500ma over 12v DC provided infrared illumination in the 940nm wavelength.

Tensorflow was running in the background (on v4l2 kmod) and providing continuous object recognition and scoring within each image via a sample model.  Finally, OpenCV was also installed in the root file system.

The time-lapse infrared video was captured of my living room using the above setup and custom Linux distribution.  Below this image are images of Tensorflow running in a terminal in the background on the Raspberry Pi 3 and recognizing/scoring objects in my living room.

The Yocto distribution configuration file, image configuration file, custom recipes, and build configuration files are available on github at

Tensorflow running on the Raspberry Pi 3 and continuously capturing frames from the image sensor and scoring objects
GNURadio Companion running on xfce on the Raspberry Pi 3