Archive

Posts Tagged ‘debian’

NanoPi NEO Board Gets Armbian Debian 8 & Ubuntu 16.04 with Linux 4.6 & 4.7 (Mainline), h3consumption Power Consumption Tool

August 23rd, 2016 7 comments

We’ve been blessed with a wide range of low cost Allwinner H3 boards thanks to Shenzhen Xunlong Orange Pi and FriendylARM NanoPi boards. Recently, armbian developers have been focusing on NanoPi NEO board, and they’ve now released Debian Jessie and Ubuntu Xenial with Linux 4.6.7 and Linux 4.7.2. The latter is mainline kernel with some patchsets for Ethernet.

FriendlyARM_NanoPi_NEO_BoardYou can download the Linux 4.6.7 based “beta” images from armbian NanoPi NEO page, and selected the “Vanilla” versions, then flash then one a micro SD card as you would normally do. Linux 4.7.2 based “experimental” images with USB OTG support and schedutil cpufreq governor can be found on the separate server in a temporary directory.

Thomas Kaiser explains further:

Ethernet and throttling are working (the latter not as efficient as with legacy kernel but at least it protects the SoC from overheating). Please note that all vanilla kernel images currently suffer from random MAC addresses on reboot so better choose a static IP address configuration. Also keep in mind that current cpufreq scaling settings in mainline kernel don’t know the 912 MHz operating point so with our default /etc/defaults/cpufrequtils contents you end up with 816 MHz max cpufreq (feel free to adjust, throttling works with these images).

You can test the schedutil cpufreq governor in Linux 4.7, by changing /etc/default/cpufrequtils to something like:

They have not released equivalent “Vanilla” images for Allwinner H3 Orange Pi boards, but I guess it will done once NanoPi NEO images are proven to be working reasonably. Eventually, you’ll be able to download the Linux kernel directly from Kernel.org for your Allwinner H3 boards. I’ve been told this won’t happen in Linux 4.8, but I’d assume Linux 4.9 or 4.10 are realistic targets.

Since NanoPi NEO board has been designed for IoT applications with low load too, armbian community has also investigated how to lower power consumption, and after finding that disabling Ethernet PHY saved 200 mW, and disabling HDMI and the GPU 210 mW, they created a new tool (bash script) called h3consumption, and working on all Allwinner H3 boards. You can find more power savings tips and h3consumption options in the forums.

SolidRun ClearFog Base is a $90 Router/Networking Board with USB 3.0, M.2, mSATA, and Gigabit Ethernet Support

August 3rd, 2016 10 comments

SolidRun introduced ClearFog Pro and Base board based on Marvell Armada 380/388 processor at the end of last year, but at the time, only the higher-end ClearFog Pro board was available for $170 and up. Now the company  has officially launched the cheaper ClearFog Base board based on the same processor, two Gigabit Ethernet RJ45 ports, one SFP cage, a USB 3.0 port, an M.2 slot, mPCIe expansion slot, and more.

ClearFog_BaseClearFog Base board specifications:

  • Processor – Marvell ARMADA 388 (88F6828) dual core ARMv7 processor (Cortex A9 class) @ up to 1.6 GHz with 1MB L2 cache, NEON and FPU
  • System Memory –  1GB RAM by default (2GB optional)
  • Storage – 1x micro SD slot, optional 4GB eMMC flash, 1x M.2 slot, 1x mSATA/mPCIE
  • Connectivity – 2x dedicated Gigabit Ethernet ports, 1x SFP cage
  • USB – 1x USB 3.0 port
  • Expansions
    • 1x mini PCI Express slots (shared with mSATA )
    • 1x M.2 slot with USB 3.0, SATA, GNSS, 3G modules
    • mikroBUS socket for GPIOs, MikroElektronika Click Boards
    • 2x SIM card sockets
  • Debugging – micro USB port for serial console
  • Misc – RTC battery header, LEDs, user push buttons
  • Power Supply – 9 to 32V DC input; PoE expansion header
  • Dimensions – 103 x 75 mm (optional metal enclosure)

The board is comprised of a baseboard and a microSoM (in green), and runs OpenWrt or a Yocto Project build based on Linux 3.10.x, and other operating systems such as Arch Linux ARM, and Debian also appear to be supported. Hardware and software documentation can be found in the Wiki.

ClearFog_Base_M2_mPCieTypically applications for such boards include home media clouds (NAS), IoT gateways, and secure routers.

The board sells for $90 without power supply, nor internal storage, but 110V or 220V power adapters, a blank 8GB SD card, and a 4GB eMMC flash are all available as options.

Via Liliputing

96Boards Gets a TV Platform Edition Targeting $50 Mid-range Boards, $99 High-end Boards

July 26th, 2016 2 comments

96Boards was born as a hardware and software standard with Consumer (CE) & Enterprise Editions (EE), with different form factors with the latter focusing on server boards, but with similar software requirements requiring recent and mostly open source software. The consumer edition was also split into “Standard” and “Extended” editions, which the latter allowing for larger boards with more features, while the Enterprise Edition has its own larger format, as well as an option for micro-ATX form factor. I’ve just learned that a “fifth” 96Boards standard has been worked on with 96Board TV Platform for Home Gateways, OTT Streaming boxes, and TV boards with prices target of $50 or lower for mid-range boards, and $99 or lower for high-end boards.

96Boards TV Platform Board Layout - Click to Enlarge

96Boards TV Platform Board Layout – Click to Enlarge

96Boards TV Platform hardware requirements:

  • Dimensions – 160 x 120 mm (EE Standard form factor)
  • RAM – 1GB minimum; 2GB recommended
  • Flash – 8GB eMMC minimum
  • WiFi – 802.11 g/n minimum; 802.11ac recommended
  • Bluetooth LE – Optional; at least Bluetooth 4.0

    96Boards TV Platform Board by Hisilicon

    96Boards TV Platform Board by Hisilicon

  • Video Output
    • HDMI 1.4 minimum; HDMI 2.0 recommended
    • HDCP 2.0 minimum; HDCP 2.2 recommended
    • Optional Video Outputs – Composite, Component, S-Video
  • Video Input – Optional same requirements as Video output; used for TV boards
  • Audio – HDMI audio mandatory; options stereo I/O and S/PDIF
  • Ethernet – RJ45; >= 100 Mbps recommended
  • Expansion – 40-pin Low Speed Connector as per 96Boards EE specs
  • Additional functionality options:
    • User input – Optional IR detector
    • Security interfaces – Optional smartcard I/F
    • Transport stream I/F – Optional parallel connector for tuner card (ATSC, DVB-T2, DVB-S2, etc…)

On of the software side, the kernel must be buildable from source code with eventual closed-source binary blobs from either kernel.org, latest Google-supported Android kernel version, or one of the latest two LTS kernels from kernel.org. Supported operating systems must at least one of the latest version of Android, Debian, Ubuntu, Fedora, Red Hat, or Linaro / Vendor supported Linux OS built with OpenEmbedded/Yocto Project. The latter being supported by Linaro Home Group (LHG). Other requirements include support for vendor or open source bootloader, optional but recommended OP-TEE support, ARM Trust Firmware, and royalty-free vendor or open source accelerated graphics support. Note that the specifications are aimed at development boards, and not at commercial products. You can find more details in the slides for 96Boards – TV Platform presentation at Linaro Connect Bangkok 2016, as corresponding YouTube video.


I learned about the new 96Boards specifications through the blog post about a “sprint” at the Huawei/Hisilicon facilities in Shenzhen, China on July 11-14. Hisilicon showcased “Poplar” – manufactured by Tocoding Technologies startup – one of the first 96Boards TV platform boards (pictured above), and worked on/demonstrated support for OP-TEE builds on Linux and Android for PlayReady and Widevine DRMs, AOSP TV with TV input framework, LHG OpenEmbedded builds with Yocto 2.1, automatic testing, and so on…

It’s unclear when 96Boards TV platform specifications will be officially released, and when the boards will come to market.

BPI-M64 Development Board is the first 64-bit Banana Pi Board

July 12th, 2016 18 comments

Sinovoip has gone on the Allwinner A64 and 64-bit ARM bandwagon, announcing a Pine A64+ competitor, with Banana Pi BPI-M64 (or just Banana Pi M64) with 2GB RAM, 8GB eMMC flash, Gigabit Ethernet, and more.

Banana_Pi_BPI-M64Banana Pi BPI-M64 board specifications:

  • SoC – Allwinner A64 quad core ARM Cortex A53 processor @ 1.2 GHz with Mali-400MP2 GPU
  • System Memory – 2GB DDR3
  • Storage – 8GB eMMC flash (16, 32 and 64GB options), micro SD slot up to 256 GB
  • Video Output / Display interface – HDMI 1.4 up to 4K resolution @ 30 Hz, MIPI DSI interface
  • Audio – HDMI, 3.5 mm headphone jack, built-in microphone
  • Connectivity – Gigabit Ethernet + 802.11 b/g/n WiFi & Bluetooth 4.0 (AP6212)
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – MIPI CSI interface (which I guess you support parallel cameras via some kind of bridge)
  • Security – Hardware security enables ARM TrustZone, Digital Rights Management (DRM), information encryption/decryption, secure boot, secure JTAG and secure efuse
  • Expansion – 40-pin Raspberry Pi 2 somewhat-compatible header
  • Debugging – 3-pin UART header
  • Misc – IR receiver; U-boot, reset and power buttons;
  • Power – 5V via power barrel; 3.7V Lithium battery header; AXP803 PMIC
  • Dimensions – N/A
The board is said to run Android 5.1/6.0, Debian Linux, Ubuntu Linux, Raspbian image (obviously not the Raspberry Pi image), and other operating systems. Usually, when companies provide multiple operating systems like that, none of them work properly, except possibly Android. If you want to use any of the security features listed in the specs, better check with the company, as while the hardware can handle this, the required software is often not available, or requires some licenses.

Banana_Pi_M64There’s some technical information on the Wiki, but currently limited to hardware (PDF schematics are coming soon), and Linux and Android software documentation links only being placeholders. So far, OS images have not been uploaded to the download page either.

BPI-M64 is still work in progress, and I don’t know when it will be availability, but the company told me it would cost around $35.

Thanks to tkaiser for the tip.

Open Source, Modular and Upgradeable EOMA68 CPU Card, Laptop and Micro Desktop Launched (Crowdfunding)

June 30th, 2016 24 comments

Rhombus Tech has been working on EOMA68 standard for CPU modules based on PCMCIA at least since 2012, and after previous difficulties, they showcased a laptop prototype taking OEMA68 CPU cards at the beginning of the year, and they’ve now launched a CrowdSupply campaign selling an EOMA68 CPU card based on Allwinner A20 processor, as well as corresponding laptop and micro desktop housings that are both open source, and upgradeable with faster EOMA68 CPU card once/if they become available.

EOMA68_CPU_Card_Laptop_DesktopCurrent EOMA68 CPU card specifications:

 

  • SoC –  Allwinner A20 dual core ARM Cortex A7 processor @ 1.2 GHz with Mali-400MP2 GPU
  • System Memory – 2GB RAM
  • Storage – 8GB NAND flash + micro SD slot
  • Video Output – micro HDMI Interface (for 2nd monitor)
  • USB – micro USB OTG port
  • Compliant with EOMA68 standard

EOMA68_CPU_CardTwo versions of the CPU card are offered with different pre-installed firmware:

EOMA68_Micro_DesktopWhile you could use the CPU card by itself by powering it via micro USB port, connecting it an HDMI display, and adding USB keyboard and mouse through a USB hub, you may still want to get a housing such as the micro desktop:

  • EOMA68 Computer Card slot (user-upgradeable)
  • Video Output – VGA port (micro HDMI is also available on CPU card)
  • USB – 2x USB 2.0 ports
  • Storage – One extra micro SD slot on board
  • Power – 7 – 21 V DC via 5.5 power barrel
  • Dimensions – 11.43 x 11.43 x 1.27 cm (laser-cut wooden case)

EOMA68_LaptopThe 3D printed laptop housing is also another option:

  • EOMA68 Computer Card slot (user-upgradeable)
  • Display – 15.6” 1366 x 768 LCD
  • Full-sized QWERTY Keyboard including numberpad
  • 4.3” capacitive touch panel and backlit LCD
  • Storage – 1x micro SD slot up to 256GB (on top of the one in the CPU card)
  • USB – 3x USB 2.0 ports (2 internal, 1 external)
  • Audio – 1W Stereo speakers, built-in Mic, CM108AH USB Audio with stereo headphone jack
  • MCU – STM32F072 Embedded Controller with firmware under GPLv3 license
  • Battery – 10,000 mAh good for 6 to 8 hours
  • Weight –  1.1 kg weight

The full schematics, and 3D printer design files will be made available. There’s are also plywood panels on both sides of the capacitive touch screen.

The project appears to have two main goals which are not met by most products today: First providing a fully open source system without any closed-source binary blobs, and make computer systems that both earth-friendly as the user-serviceable CPU cards are supposed to reduce e-waste, and cost-saving to the end user as they only need to change the CPU card to get a faster device.

While both ideas are noble, but there are challenges. With Allwinner A20 processor going fully open source using Parabola Linux means that although hardware video decoding should work with the open source Cedrus implementation, you’ll lose 3D GPU acceleration at least, and most WiFi dongles will probably not work either.  The Debian image won’t have this problem, but it’s not 100% open source. The idea of keeping the housing for main years, and only changing the CPU card is good, but hard to implement, as what may be acceptable today, may not be in the future. For example the display for the laptop is limited to 1366×768 resolution, and I already know many people who would not this resolution for a laptop, and in a few years the perception is likely to be worse. EOMA68 standards supports USB 1.x to USB 3.x, but both laptop and micro desktop housings appear to be limited to USB 2.0 connectors, so even if you purchase a more powerful CPU card with USB 3.0 interface in a few years, you won’t be able to enjoy the full capabilities of the new card. One solution would be to provide spare parts to repair or upgrade the laptop case, and that’s certainly possibly since the laptop is also designed to be easy assembled by yourself.

Rhombus Tech aims to raise at least $150,000 to fund mass-production for the project. The CPU card goes for $65, the micro desktop housing for $55, and the laptop housing for $500 with other various DIY or full kit rewards also offered. Shipping is free to the US, and adds $10 to $80 to the rest of the world depending on the chosen rewards.

Review of PocketCHIP Hackable Handheld Linux Computer

June 25th, 2016 14 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.

PocketCHIP_Tour

Screen resolution: 480×272

SunVox_Music_PocketCHIP_Tour

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.

PocketCHIP_Main_Menu

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:

PocketCHIP_Terminal

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

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.

SunVox_Tour

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 0.8.0.1. 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.

PocketCHIP_File_Manager

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 @ http://pcflash.getchip.com (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. 192.168.8.138), and can access the board using 192.168.8.1.

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.
BeagleBone_Green_Wireless_USB_Ethernet

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 http://192.168.8.1 (WiFi), or http://192.168.7.2 (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 (http://192.168.8.1/login), 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 192.168.0.111 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:192.168.7.2:1880, 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.

BeagleBone_Green_Wireless_Node-RED_GPIO_Selection
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 grove_i2x_digital_light_sensor.py 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.