Posts Tagged ‘debian’

Review of PocketCHIP Hackable Handheld Linux Computer

June 25th, 2016 12 comments

It’s not that easy to describe PocketC.H.I.P in a couple of words, as it’s so versatile. It’s a Debian based portable Linux computer with a resistive touchscreen and battery, but also a retro gaming console thanks to PICO-8, as well as a hardware development platform for IoT application with expansion header providing access to I/Os including GPIOs, I2C, SPI, UART…, and WiFi and Bluetooth connectivity. Furthermore you can easily dismantle the device, in order to use the CHIP board, based on Allwinner R8 Cortex A8 processor, for a different project.

So when Next Thing asked me if I was interested in reviewing Pocket CHIP, I was pretty excited, but when I received it, I scratched my head as there are so many ways to review the item, and it works out of the box with the firmware pre-loaded inside the internal flash, so a getting starting guide would have been too short: “press the power button, and have fun”. So finally, I decided to take a few pictures of hardware, show most of the features, and then go through the different options in the user’s interface.

PocketC.H.I.P Unboxing

I’ve received the device in a black retail package plus a micro USB to USB cable for charging.

PocketCHIP_PackageThe other side of the package has a quick start guide, including a link to PocketCHIP documentation.

PocketCHIP_Quick_Start_GuideBut if you can’t wait, you can most likely jump to step 2, as the device’s battery already has some charge, at least it was the case for me.

Click to Enlarge

Click to Enlarge

The QWERTY keyboard is quite standard, except the number keys are on two rows, and the arrow keys are located on the top left corner.¬† The display is using resistive touch, so can use both your finger or a stylus for better accurate. You’ll go through a short tutorial during the first boot. The top has through holes for the I/Os, and at first, they look to be arranged in an undulated way, but I had no problem inserting headers, so that’s just a visual effect. The hole on the top right is likely use to add a necklace, although you could use it as a huge keyring too ūüôā

PocketCHIP_PencilThe two holes on each side on the bottom can be used to keep the display straight with the left hole for pens (I also use an old USB WiFi dongle with antenna), and the right hole for pencils. I also ended up using mine as the stylus for the screen.

Click to Enlarge

Click to Enlarge

The back of the device has a clear cover revealing CHIP board and the battery (11.1Wh @ 3.7V). You can completely disassemble the unit if you want, but I only pulled out the board with my little green tool. You can watch the video review at the end of this review in case you are unsure how to do.

Click to Enlarge

Click to Enlarge

The top of the board has the USB port, a 3.5mm audio jack, a micro USB port, a battery connector, a 4GB NAND flash, Realtek RTL8723BS WiFi and Bluetooth 4.0 LE module, AXP209 PMIC, and the expansion headers. The power button is located on the top left. Note that if you want to output to HDMI you’ll need to purchase an extra HDMI adapter. You may also have to reflash the board with a different firmware (TBC).

Click to Enlarge

Click to Enlarge

The back of the board is protected with a plastic cover tightened with a single screw, and features Allwinner R8 Cortex A8 processor @ 1 GHz, as well as 512MB Samsung DDR3 memory.

Click to Enlarge

Click to Enlarge

The CHIP board is sold for $9 + reasonable shipping, and should be about twice as fast as the original Raspberry Pi Model B board CPU wise. I wrote a comparison of ultra cheap boards’ features pitting CHIP with Raspberry Pi Zero and Orange Pi One if you want to find more details.

CHIP_Pin_MarkingsI also appreciate the markings written on the side of the headers, which makes life a little easier when wiring, as you don’t need to consult the pinout diagram.

What can you do with PocketC.H.I.P?

So after going through the hardware, I’ll show some of the things you do with the pre-installed firmware. Let’s get started by pressing the power button for one or two seconds. The boot will take a little less than one minute during which you’ll be shown several boot logos, and eventually you’ll be greeted by a short tutorial.


Screen resolution: 480×272


You can browse the tour with the left and right arrow key, it’s simply explains you can use the touchscheen with your fingers or a stylus, and the various tings you can do such as playing games, making music. Once we are done with the tour, we get into the main menu with four icons: Terminal, PICO-8 games, Make Music (SunVox), Get Help, Write, and Browse Files.


There are also four icons on the edges of the screen showing battery life and WiFi connectivity, setup and power options.PocketCHIP_Settings

Let’s go inside the setup options since it’s one of the first things you’ll want to do if you plan to access the Internet, as this is where you can connect to your WiFi router, and I had no problem doing so, but note that only 2.4 GHz WiFi is supported, and 5GHz access points won’t be shown. You can also adjust brightness and volume for the audio jack, since there aren’t any speakers.

If you wonder how I took the screenshot for this review, I ran the following command in the terminal which gives me five second to go to what ever menu:

but eventually I did so in an SSH sessions with:

…and found the pictures inside ~/Pictures directory despite the following error showing each time as gnome is not install:

The company latter told me they used “xfce4-screenshooter” for their screenshots, so it should be a better option.

Anyway, time to play with the command line:


Some command to see system info first:

So the device runs Debian 8 with recent Linux kernel (4.3), the rootfs partition is 3.6GB with 3.0GB free (after installing a few apps), there’s 496MB RAM available to Linux, and the processor is indeed a single core Cortex A8 processor made by Allwinner.

Linux 4.6 will start to support lsgpio to list all GPIOs, but in the meantime, we can still check this with sysfs:

With Linux 3.4 legacy kernel, all the GPIOs would show after loading gpio-sunxi module, but since we are using a more recent kernel, the instructions have changed, and you need to export the GPIOs you want to use as explained on linux-sunxi wiki.

The other good news is that apt is working fine, so you install most of the program that work on Debian. One of the first thing I did was to install openssh-server, because while typing on the device might be fun, it’s also slow, so I found it more convenient to access it via an SSH session from my main computer with the username / password combination being both “chip” (without quotes). I also found instructions to install doom on Adafruit, so I tried it:

It worked flawlessly, and I tried the game by simply typing doom,… and success!

PocketCHIP_doomYou’ll need to connect headphone or speaker to get audio, and playing the game with the keyboard is not that easy as beside the WASD keys, you also need to the left and right keys placed just above. So it might be better to connect a USB keyboard to the USB port of CHIP board, or re-assign the keys if possible. Apart from that, the games runs perfectly smoothly.

Let’s go back to the main menu to try PICO-8 retro games, and again you’ll go through a short tour explaining how to use the app to play or edit games with your own sprites.


PICO-8_Tour_CelesteAfter the tour, you’ll be presented by a selection of 4 “favorites” games: Celeste, Frog Home, Hug Arena, and Tower of Archeos, but you have access to many others games too. I tried Celeste, and no problem, except I need to practice more ūüôāPICO-8_CelesteThe option to “edit this cart” will bring you to the games code, which you can edit as your wish.

PICO-8_Game_CodeThere’s also PICO-8 terminal to perform various actions such as loading files,¬† creating directories, and so on.

Next up the Make Music app (SunVox) will also take you through a tour first.


After connecting headphone or speaker, you’ll be able to compose and play music on a MIDI keyboard.PocketCHIP_Sunvox

The application definitely requires a stylus – a pencil will do – especially the top menu options, and even kids’ fingers will be too big.Sunvox_Menu

The four icon in the main menu starts an help section with a scrolling bar. So much to say about this one.PocketCHIP_Help

The “Write” icon is a text edit, which turns out to be Leafpad It could be your text editor to write Python or other languages programs, before running them in the command line.PocketCHIP_Leafpad

Finally the File Browser is the commonly used PCManFM 1.2.3, and allows to copy, delete, move, or create files or directories.


So I’ve gone through all options provided on the pre-loaded firmware, so it’s time to turn it off. You can click on the bottom right corner to select Shutdown, Sleep, or Reboot options, as well as “Flash firmware” to reboot into software flashing mode. You can then follow the firmware flashing instructions @ (Chrome browser required).PocketCHIP_Shutdown_OptionsIf you prefer a video review, and I’ve embedded mine below. I checkout the hardware until 3:05, before starting the device, and showing it action.

So overall, PocketC.H.I.P is a fun device to use, and should be particularly interesting for kids, as they can play games, compose music, and learn about Linux, programming and/or hardware hacking with this inexpensive all-in-one device. PocketC.H.I.P is currently available for pre-order for $49 + shipping for a limited time, after which it will sell for $69.

Orange Pi PC Plus Quad Core Development Board with 1GB RAM, 8GB eMMC flash Sells for $20

June 9th, 2016 25 comments

Most low cost development boards do not include internal storage in order to decrease costs, and instead require their users to flash their preferred operating system on (micro) SD card. This makes it easy to get started, but many micro SD cards often suffer from poor random I/O performance, even for Class 10 or greater card, leading to a poor user experience compared to what you’d get with an eMMC flash. Shenzhen Xunlong has released yet another Allwinner H3 board, namely Orange Pi PC Plus, similar to Orange Pi PC but adding WiFi, and 8GB eMMC flash.

Click to Enlarge

Click to Enlarge

Orange Pi PC Plus specifications with main change with Orange Pi PC highlighted in bold:

  • SoC ‚Äď Allwinner H3 quad core Cortex A7 @ 1.3 GHz with ARM Mali-400MP2 GPU up to 600 MHz
  • System Memory ‚Äď 1GB DDR3
  • Storage ‚Äď 8GB eMMC flash + micro SD card slot
  • Video Output ‚Äď HDMI with CEC, AV port
  • Audio I/O ‚Äď HDMI, AV port, on-board microphone
  • Connectivity ‚Äď 10/100M Ethernet, 802.11 b/g/n WiFi with external antenna
  • USB ‚Äď 3x USB 2.0 host ports, 1x micro USB OTG port
  • Camera ‚Äď CSI Interface
  • Expansions ‚Äď 40-pin Raspberry Pi compatible header with 28 GPIOs, UART, I2C, SPI, PWM, CAN, I2S, SPDIF, LRADC, ADC, LINE-IN, FM-IN, and HP-IN
  • Debugging ‚Äď 3-pin UART header for serial console
  • Misc ‚Äď IR receiver; Power button; Power and status LEDs
  • Power Supply ‚Äď 5V/2A via barrel jack (micro USB OTG cannot be used to power the board).
  • Dimensions ‚Äď 85 x 55 mm

Orange_Pi_PC_Plus_Board_BackAs usual, the description states that the board supports “Android 4.4, Ubuntu, Debian, Raspberry Pi Image”, but most people who want to run Linux will now go with Armbian server or desktop image instead, using a Linux 3.4 legacy kernel. Mainline support for the server image is almost there for all Orange Pi H3 boards.

As usual with Shenzhen Xunlong boards, the price is very competitive, and Orange Pi PC Plus is sold for $19.99 + $3.43 for shipping on Aliexpress. As a side note, while Aliexpress used to be the only options to buy a Orange Pi boards, the little inexpensive boards have become a little more popular recently, and I’ve seen several models sell on other websites such as DealExtreme, eBay, GearBest and others…

Getting Started with Beaglebone Green Wireless Development Board

May 21st, 2016 5 comments

SeeedStudio introduced BeagleBone Green Wireless based on BeagleBone Green, but replacing the Ethernet port by a Wilink8 WiFi and Bluetooth module, and providing 4 USB ports in total. I’ve also ready taken some picture of the board, and Grove Base Cape to addition the company’s add-on boards via I2C, UART, analog, or digital interfaces. So today, I’ll report about my experience getting started with the board.

First Boot of BeagleBone Green Wireless

Since the board comes with a Debian image installed on the internal 4GB eMMC flash, checking out the board should be really easy. The Wiki may help, but for a first try to check the board is indeed working, you can simply connect it to a 5V power supply, or the USB port of your computer to port it up.

I’m using a development machine running Ubuntu 14.04 with both Ethernet connected to my router, and a WiFi USB dongle which I used to find and connect to BeagleBoneXXXXXX access point. You’ll get assigned an IP address (e.g., and can access the board using

BeagleBone_Green_Wireless_Access_PointAlternatively, you could use the micro USB to USB cable to connect the board over IP. In Linux, it just works, but in Windows or Mac OS X, you may need to following the instructions to install the drivers.

You should see a new ethX device in your computer in 192.168.7.x subnet

Now you can start your favorite web browser, and access the board using (WiFi), or (USB Ethernet gadget) to get access to some documentation in the board, and links to tools like Node-RED,  Cloud9 IDE, and BoneScript.

Click to Enlarge

Click to Enlarge

Updating Firmware Image

Now that we’ve made sure we’ve received a working board, it might be a good idea to update the firmware. Bear in mind that the board will officially start shipping on May 30, 2016, and I got an early board, so the final image may differ.

I’ve open a terminal to download, extract, and flash the image to a 16GB micro SD card (4GB or greater required):

Replace sdX in the command line above, your own SD card device which you can check with lsblk.

This is an installer image designed to install Debian in the internal storage of the board. While the board is turned off, insert the micro SD card, hold the USER button (on board or Cape), connect the power supply, release the button, and the installation should start. The instructions mention that all 4 USRx LEDs will be lit solid when the update is complete and that it may take up to 45 minutes. So I went for dinner, and when I came back over one hour later, I did not see the LEDs were on, so I waited a little longer. But eventually, I decided to turn off the board, remove the micro SD card, and boot the board again.

After connecting to the BeagleBone SSID, I access the board with SSH successfully:

The date was 2016/05/16, so the update was successful.

BeagleBone Green Wireless Network Configuration

So far, everything went rather smoothly, but setting up networking was more of a challenge.

Since I now had two network interfaces on my computer with Ethernet to my router and WiFi to BeagleBone Green Wireless (BBGW), Internet traffic was routed to both, and since BBGW had no network connection I often had problems accessing the net to browse the web or send emails. So I had two options: change the routing table or connect the board to my router. I tried the routing table method first, which looked as follows initially:

After my attempt at changing metric to a high value did not work as expected, I changed the route from “link” to “host” for WiFi so that only the local traffic is routed there.

This did not work that well either, so I went with plan B to connect the board to my router. Network connections in BBGW:

So we wan t to configure wlan0 to connect to my router. Remember that only 2.4 GHz can work,  as the board does not support 5 GHz.

So I edited /etc/network/interfaces with vi, and added the following four line at the end of the file:

I save the done, and brought down and up the interface:

Awesome! Only problem is that after reboot, wlan0 would not acquire an IP address, and I had to run ifdown and ifup manually again.

I switched to static IP address configuration:

But the same problem occurred, so I asked on the beta group mailing list, and was informed that I could configure that using my smartphone. Simply connect BBGW AP, go to the sign-in page (, click the select SSID, and enter password. That method is also mention in the system reference manual.

Click to Enlarge

Click to Enlarge

That’s supposed to be so easy, but sadly it did not work at all for me the first time as none of the ESSID were detected, but I tried the day after, and it eventually worked… I just don’t know why…

Click to Enlarge

Click to Enlarge

I could connect to on my local network, even after a reboot. Good.

Node-RED in BeagleBone Green Wireless

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways, and it’s one of the tools available in BBGW web interface. The link is actually hardcoded to http:, which is a bug, but you can easily access the page using your own IP and 1880 port. I found one example for BeagleBone Black to turn on and off user LEDs, which I imported into Node-RED, and Deployed to the board.

BeagleBone_Green_Wireless_Node-REDClick on the square on the left of the “on” / “off” injector with turn on or off LED 2 or 3. You can change settings of one block by double-clicking¬† on it, and I’ve done so for bbb-discrete-out: USR2. You can see it will let you select whatever output pin supported by the board, change the name, invert values and so on.

The Blue gray “injectors” will either “0” or “1” string to the bbb-discrete-out nodes to change the GPIO status.

One interesting part of the BeagleBone Green boards are Grove connectors for add-on modules with the same name.

Click to Enlarge

Click to Enlarge

I’ve connected Grove LED strip (Digital I/O), Grove Button (Digital I/O), and a digital light sensor (I2C), but Node-RED does not list the LED strip , and only shows the analog Grove light sensor, so I was left with the Grove Button connected to GPIO 51 as marked on the silkscreen of the Grove connector on the cape. So I dragged and dropped Grove Button in Node-RED, and configured it to poll for GPIO_51 every 500 ms.

BeagleBone_Green_Node-RED_Button_ConfigurationI planned to turn on and off some user LEDs, but connecting directly to bbb-discrete-out node for USR2 LED did not work. The problem is that I could not find documentation for this, except something about GrovePi, which explains that the Grove Button sends a JSON object containing a ‘state’ key:

So I probably would have to use another block to convert that JSON objects into “0” or “1” strings to controlled the LED/GPIOs. I’m not quite familiar enough with Node-RED, so I switched to testing Cloud9 IDE. [Update: There’s a tutorial using Node-RED, WioLink and BBGW, but it currently lacks in details]

Cloud9 IDE on BeagleBone Green Wireless

Cloud9 is a cloud based development environment that you can access using http://<IP_address>:3000.

Click to Enlarge

Click to Enlarge

The first neat thing I noticed is that you have access to the console as root from within the web browser, so SSH is not even needed with the board. I quickly checked the OS version (Debian GNU Linux 8) and kernel version (Linux 4.4.9-ti-r25) to test it out. We’ll also find several Python examples for BBG and Grove modules in the left panel.

Click to Enlarge

Click to Enlarge

I’ve open demo program.

Access the terminal in the board to install the missing module

Another error:

So I’ve checked the I2C interfaces in the board:

There’s no i2c-1, so I changed the code to try with I2C-2 used with the Grove connector on BBGW:

And it went a little further:

I stopped there as it’s clear the sample have not been ported to the board, and to compound the issue Seeed Studio Wiki is currently down.

So I’ve had my share of issues with BeagleBone Green Wireless, but remember that the board is not shipping yet, so they still have time to improve the firmware and especially documentation. Yet I was expecting an easier experience considering the board leverages code and documentation from BeagleBone Black (software compatible), and there’s only about 10 days left before the retail boards ship.

If you are interested in the board, you can purchase BeagleBone Green Wireless for $44.50, the Grove Base Cape for $9.90, and various Grove modules on Seeed Studio website.

$35 NanoPi M3 Octa Core 64-bit ARM Development Board is Powered by Samsung S5P6818 Processor

May 20th, 2016 24 comments

A few weeks after introducing NanoPC-T3 single board computer based on Samsung S5P6818 octa-core Cortex A53 processor, FriendlyARM is now launching a cost-down version called NanoPi M3 for just $35 with 1GB RAM, and booting from a micro SD card.


NanoPi M3 board specifications:

  • SoC ‚Äď Samsung S5P6818 octa core Cortex A53 processor @ up to 1.4GHz with Mali-400MP GPU
  • System Memory ‚Äď 1 GB 32-bit DDR3
  • Storage ‚Äď 1x micro SD card slot
  • Connectivity ‚Äď Gigabit Ethernet (RTL8211E), 802.11 b/g/n WiFi and Bluetooth LE 4.0 (Ampak AP6212) with on-board chip antenna and IPX antenna connector
  • Video Output / Display I/F – HDMI 1.4a up to 1080p60, LVDS, parallel RGB LCD
  • Audio I/O ‚Äď HDMI, 3.5mm audio jack, 7-pin I2S header
  • Camera ‚Äď 1x DVP interface
  • USB ‚Äď 2x USB 2.0 type A host ports; 1x micro USB 2.0 client port; 2x USB 2.0 host ports via 8-pin header
  • Expansions Headers ‚Äď 40-pin header
  • Debugging ‚Äď 4-pin header for serial console
  • Misc ‚Äď Power & reset buttons; power status LEDs.
  • Power Supply ‚Äď 5V/2A via micro USB port; AXP228 PMIC
  • Dimension ‚Äď 64 x 60 mm (6-layer PCB)

Cheap_Octa_Core_BoardThe board supports Android and Debian running on top of Linux 3.4. More technical details can be found in the Wiki. Samsung S5P processors are actually made by Nexell, and not supported at all in mainline Linux, so don’t expect support for a more recent kernel. Arnd Bergmann, one of Linux ARM SoC maintainers, even referred the code to as “awful“:

Source code is available but awful.

Specifically, this is a Linux-3.4 kernel that looks more like a Linux-2.6.28 platform port that was forward-ported.

Nevertheless, at $35 plus shipping ($10 in my case),  NanoPi-M3 must be the cheapest octa-core board available on the market so far. Visit the product page for more details and/or purchase the board.

$44.90 BeagleBone Green Wireless Board Adds 802.11n WiFi & Bluetooth 4.1 LE and More USB Ports

May 16th, 2016 8 comments

After BeagleBone Air, there’s now another BeagleBone Black derived board with WiFi and Bluetooth, as BeagleBone Green gets a wireless version with WiFi 802.11n, Bluetooth 4.1 LE, and four USB ports.

BeagleBone Green Wireless Specifications

Click to Enlarge

Click to Enlarge

The Ethernet port is also gone, but most of the other specifications remain the same as seen from the comparison table below.

BeagleBone Black BeagleBone Green BeagleBone Green Wireless
SoC Texas Instruments Sitara AM3358 ARM Cortex-A8 processor @ 1GHz with NEON, PowerVR SGX530 GPU, PRU…
System Memory 512MB DDR3 RAM
Storage 4GB eMMC flash + micro SD slot
USB 1x USB client, 1x USB 2.0 host 1 USB client, 4x USB 2.0 host ports
Network Connectivity 10/100M Ethernet Wi-Fi 802.11 b/g/n & Bluetooth 4.1 LE
Video Output HDMI N/A
Expansion Headers 2×46 pin headers 2×46-pin headers and 2x Grove connectors
Debugging 6-pin serial header and unpopulated 20-pin JTAG header
Dimensions 86.3 x 53.4 cm
Price $55.00 $39.00 $44.90

BeagleBone Green Wireless (BBGW) and Grove Base Cape for Beaglebone v2.0

The board is designed and manufactured by Seeed Studio, and the company send me an early sample for evaluation together with Grove Base Cape for Beaglebone v2.0 that supports up to 12 extra Grove modules. I’ve not had time to review both yet, so I’ll show what I’ve received first.

BeagleBone_Green_Wireless_PackageI got two unbranded packages for each board, but I understand BBGW board will be send in a retail package with two WiFi antennas, and a micro USB to USB cable for power.

BeagleBone Green Wireless with Antennas (Click to Enlarge)

BeagleBone Green Wireless with Antennas (Click to Enlarge)

I got the two antennas, but not the USB cable. There are two u.FL connectors where you can insert the antennas. The wireless module is Texas Instruments WiLink8 (model WG78V0) that supports WiFI 802.11 b/g/n @ 2.4 GHz 2×2 MIMO and Bluetooth 4.1 LE. The four USB ports are on the left, and two Grove connectors (I2C & UART) on the right.

Click to Enlarge

Click to Enlarge

The bottom of the board has the micro SD slot, micro USB port for power, and unpopulated 20-pin JTAG solder pads. The board can run Debian, Android, Ubuntu, Cloud9 IDE on Node, and all other operating systems supported by BeagleBone Black. The wireless module support AP+STA mode, as well as A2DP & MRAA Libraries. The board is shipped with a Debian based firmware, and you can easily access it by accessing from your computer web browser to get some documentation. Resources for the board can be found on the BeagleBone Green Wireless Wiki.

Click to Enlarge

Click to Enlarge

Grove Base Cape for Beaglebone v2.0 has 4x digital I/O headers, 2x analog input headers, 4x I2C headers, and 2x UART headers, as well as a I/O voltage selector (3.3V or 5V), a Cape address switch, and a user button. More details about the grove base cape can be found in the Wiki.

Click to Enlarge

Click to Enlarge

I plan to write test the board, and the cape with some of the Grove module I got in Wio Link Starter Kit in the next few days.

BeagleBone Green Wireless pre-sells for $44.90 on Seeed Studio with shipping scheduled for May 21, 2016, while Grove Base Cape for Beaglebone v2.0 goes for $9.90.

Qualcomm DragonBoard 600c 96Boards Development Board Includes Ethernet and SATA

May 8th, 2016 10 comments

A few weeks ago, I was informed that some code about DB600c board powered by Qualcomm Snapdragon 600 processor (APQ8064T) was making it into mainline Linux, and more recently I found a website listing DragonBoard 600c with a low resolution picture of the board. While we don’t have the complete specifications yet, the form factor of the board is quite interesting, as we’ll find the typical 96Boards CE form factor on the right, and some extra interfaces on the left with Ethernet and SATA. It turns out, as we’ll see below, it’s perfectly compliant (hardware wise) with 96Boards CE “Extended Version” specifications.

DragonBoard 600c vs DragonBoard 410c

DragonBoard 600c vs DragonBoard 410c

Preliminary specifications of DragonBoard 600c board:

  • SoC- Qualcomm Snapdragon 600 (APQ8064 Fusion 3) quad-core Krait processor¬† @ 1.7 GHz with Adreno 320 GPU @ 400MHz
  • System Memory ‚Äď 1GB or more RAM (TBD)
  • Storage ‚Äď eMMC Flash + micro SD slot + SATA port
  • Video Output ‚Äď HDMI up to 1080p
  • Video Playback – [email protected] HD video playback
  • Connectivity ‚Äď Gigabit? Ethernet via PCIe . I can’t see WiFi and Bluetooth on the board, but since “Wi-Fi 802.11g/n and Bluetooth 4.0 LE” are required by 96Boards the specs, it could be on the back of the board.
  • USB ‚Äď 2x USB 2.0 host ports, 1x micro USB port
  • Expansion:
    • 1x 40 pin low speed expansion connector ‚Äď UART, SPI, I2S, I2C x2, GPIO x12, DC power
    • 1x 60 pin high speed expansion connector ‚Äď 4L-MIPI DSI, USB, I2C x2, 2L+4LMIPI CSI
    • 1x 16-pin analog expansion connector ‚Äď Headset, Speaker, FM antenna
    • One extra high speed? connector on the extended part of the board
  • Sensor – On-board magnetometer
  • Misc ‚Äď Power, reset and volume buttons. 6 LEDS (4x user, 1x Wifi, 1x Bluetooth), RTC battery slot
  • Power Supply ‚Äď 6.5 ‚Äď 18V DC input (based on 96Boards specs)
  • Dimensions – 100 x 85 mm

The board should support the latest version of Android as well as Debian 8, based on the work done by Linaro on DragonBoard 410c.

Click to Enlarge

Click to Enlarge

I’ve included the mechanical drawing for 96Boards Consumer Edition Extended Version as it should that designer can pretty much do whatever they want in the extended area, except for the position of mounting holes and power jack, and the maximum height of components limited to 6.5mm for Extended A, and 15 mm for Extended B.

I’m not sure when the board will be formally introduced and available, but considering there are working samples for developers, and most features have been found to work, it might not be too far away. There’s also a DragonBoard 820c with APQ8096 processor in the works, but I could not find pictures, nor code commits about DB820c, so the launch is likely many months away, or possibly early next year.

Debian on DragonBoard 410c Development Board

May 6th, 2016 29 comments

I purchased Qualcomm DragonBoard 410c development board last year, and first tested it and run some benchmark on the 96Boards compliant hardware with Android. I found that it was still work-in-progress, and decided to wait before trying Debian on the board. I’ve now done so, and will report by experience installing Debian Linux, playing with the board, and running Phoronix benchmarks to compare it to other ARM Linux boards.

Installing Debian on DragonBoard 410c

The first challenge is to navigate through the documentation that is not always clear or up-to-date. I eventually ended up on DragonBoard 410c Wiki on Github.

DragonBoard_410c_Debian_Android_Opearting_SystemsYou then have to decided which image you want. While there are two official operating systems with Android and Debian, you can three “entities” releasiong their own images. For Debian specifically, you have the Linaro image, and Reference Platform Build (RPB) image. I could not find any changelog or known issues with the former, but the latter as its own Wiki with the latest release being RPB 16.03 (March 2016), and the next one scheduled to be RPB 16.06 in June.

That’s the current list of known issues

  • bug 285 USB host doesn’t detect any plugged devices
  • bug 121 [RPB] Cannot soft power off or shutdown db410c
  • bug 284 [RPB] Dragon board Display sleep not working
  • bug 289 [RPB] USB devices don’t work after reboot
  • bug 207 [RPB] Bluetooth does not work on Dragon board debian
  • bug 153 [RPB] Missing information about hwpack usage

USB host not working did not inspire confidence, so I first tested the Linaro image. The (other) Wiki points to the “latest version”, but the link would point to Linaro Debian 16.02 release, while I could find a more recent Linaro Debian 16.04 which I downloaded in a terminal:

I used a micro SD card to install it. If you use Windows, simply use Win32DiskImager, but in computer running Linux or in Windows via Windows subsystem for Linux, you may want to do it in the terminal. First check the SD card device with lsblk. Mine was /dev/sdb, but your may be different, and I use /dev/sdX in the command below tp flash the Debian installer to a micro SD card:

Now remove the micro SD card from your computer and insert it in to the board, set the jumper to boot from SD card on the DragonBoard 410c, and connect the power. I could see LED 1 blinking, but nothing on my HDMI TV. Last time, I did not  manage to make the serial console (requiring a 1.8V USB to TTL board or cable) using Hardkernel ODROID board, so I went to the support forums, and after several minutes of reading, I found that the RPB image is recommended, as well as a clear explanation between the Linaro and RPB images:

Use the Reference Platform Build instead of the Linaro release. The Reference Platform is an integrated build with support for multiple boards, and that is where all engineering effort is going. The Linaro build is the old single-platform image that we’re not working on anymore.

The reference platform will run on all 96boards CE (Consumer Edition) and EE (Enterprise Edition), while the Linaro image is built specifically for a given board, and they are not really working on it. [Update: This answer was specific to Hikey board, and for DragonBoard 410c there are two images provided by Qualcomm Landing Team and the Reference Platform team]

So let’s start again from scratch using the RPB image, and download the bootloader, Linux kernel and rootfs to my Ubuntu computer:

Now find a micro USB to USB cable to connect to DragonBoard 410c, install fastboot…

.. and check the device is detected:

Good. After making sure the jumper switch is set to 0000 on the board again, we can  extract the three files, and install Debian as follows:

That was a lot of commands to install the operating system… Now you can unplug the board, remove the micro USB cable, and connect the power again. After a few seconds, you should see the kernel log, and eventually LXDE desktop environment.

Click to Original Size

Click to Original Size

You’ll be asked to configure WiFi, and you’re basically done.

DragonBoard 410c Debian System Info

I’ve then run a few command to learn more about the image and system:

One of the main advantage of 96Boards should be recent Linux version,and that’s exactly what we have here with Linux 4.4 running on the board. Out of a total of 866MB reported RAM, 64MB is free, and the 6.9GB rootfs has 4.8 GB available to the user. Snapdragon 410 SoC is correctly reported as being a quad core Cortex A53 (0xd03) processor.

I used file utility to make sure a 64-bit rootfs is being used here:

Finally, there’s a bunch of modules pre-loaded on the board:

Testing Debian on DragonBoard 410c

The thing that often do not work on ARM Linux board are 3D graphics and hardware video decoding, so I’ve specifically tested these two, and also played with the pre-installed Chromium browser.

If I understand correctly the debian image comes with Freedreno open source graphics driver, and if that’s the case I have the first ever platform with working open source 3D graphics drivers:

So that means both framebuffer and X11 3D graphics acceleration are working. Nice !

I also tried to play Tuxracer as it was part of the board’s test results provided by Linaro.

It works, but it’s so slow that it’s barely playable (see video below).

I installed VLC to play 1080op h.264 videos, but based on the CPU usage the system is clearly using software decoding, and there’s no audio via HDMI. I’ve asked about those two issues on the forums about 24 hours ago, but I have yet to get a reply.

Chromium loads OK, but I did notice some freezes during use, and YouTube will struggle at full screen at 1080p, in similar way to many other low end ARM Linux platforms.

DragonBoard 410c Linux Benchmarks

Let’s install the latest version of Phoronix…

…and run some benchmarks to compare against other development boards:

After over 3 hours the results are in. Bear in mind that the board does not have heatsink, just a metallic shield, and this may affects the performance. It’s also running an OS with a 64-bit ARM rootfs, while platforms like Raspberry Pi 3 features a 64-bit processor running 32-bit code.

Click to Enlarge

Click to Enlarge

I like to check John the Ripper for multi-threaded performance.

DragonBoard_410c_Phoronix_John_The_RipperWhile FLAC audio encoding is nice to single threaded performance.


In theory the CPU performance of Snapdragon 410 and Broadcom BCM2837 (as found in RPi 3) should be equal since both are quad core Cortex A53 processors @ 1.2 GHz, but for some reasons DragonBoard 410c is a little slower in the multi-threaded benchmark, and quite faster during FLAC audio encoding likely due to software differences (Aarch64 vs Aarch32).

You can find the full results @

BeagleBone Air is a BeagleBone Black & Green Compatible Development Board with WiFi, Bluetooth LE, and Zigbee Connectivity

May 6th, 2016 3 comments

So far, if you wanted to add wireless connectivity to BeagleBone Black or BeagleBone Green, you’d either use a USB dongle, or a wireless CAPE, but Neuromeka, a Korean company¬† has recently launched BeagleBone Air “IoT gateway” board, fully compatible with the two aforementioned boards (minus HDMI output), but adding on-board WiFi, Bluetooth LE, and Zigbee connectivity.

Click to Enlarge

Click to Enlarge

BeagleBone Air specifications:

  • SoC ‚Äď Texas Instruments Sitara AM3358BZCZ100 Cortex A8 @ 1 GHz with NEON + PowerVR SGX530 GPU
  • System Memory ‚Äď 512 MB DDR3L @ 800 MHz
  • Storage ‚Äď 4GB eMMC + micro SD slot
  • USB
    • HS USB 2.0 client port (micro USB)
    • HS USB 2.0 host poty (USB type -A)
    • HS USB 2.0 host port on expansion header
  • Connectivity
    • 10/100M Ethernet (RJ45)
    • WiFi 802.11 b/g/n via Realtek RTL8188US with SMA connector for antenna
    • Bluetooth 4.0 LE via TI CC2541 with SMA connector for antenna
    • Zigbee via TI CC2531 with SMA connector for antenna
  • Expansion Headers
    • Beaglebone Black compatible connectors
    • UART & I2C headers
    • LED and Button headers
    • UART0 via 6-pin header, UART2 via 4-pin header
  • Debug Ports ‚Äď Optional onboard 20-pin JTAG, serial header (6-pin), BLE and Zigbee debug pin
  • Misc – Reset, boot, and power buttons
  • Power Supply ‚Äď 5VDC via 2-pin header
  • Dimensions – 86.36 x 54.61 mm


    BB-Air with enclosure, 3 WiFi antennas and power supply

The board runs Debian with Linux 3.18.3 kernel or higher, with all required drivers. The company also provides an “IoT SW platform” with a sensor domain manager, IGoT micro webserver, and Thing+ cloud support(optional), as well as a cross-compile development environment based on Eclipse that apparently only works with Windows. They also have an Android apps called “IGoT Smart apps”. More details can be found in the Wiki.

Case, Power Cable, and Power Adapter

Case, Power Cable, and Power Adapter

The development board, also called  BB-Air, is sold as part of a kit with a DIY case, a micro USB to USB cable, three antennas, and a 5V/2A power adapter.

The board appears to be available now, but the only place I could see it for sale was on a Japanese website, where they offer the kit plus an extra CAPE for debugging for 11,000 Yen ($102.7 US). Neuromeka BB-Air product page does not provide much more extra information.