My Attempt at Getting Started with Zephyr Project OS on ESP32

Zephyr Project is a real-time operating systems for the Internet of Things (IoT) that was introduced in early 2016, and supported/hosted by the Linux Foundation. It runs on a fairly large number of MCU boards from different architecture (x86, Arm, RISC-V, etc..), and Linaro even launched 96boards IoT compliant hardware like BLE Carbon board that are designed to run Zephyr Project. More recently, Linaro CEO revealed several commercial products are shipping with Zephyr Project OS, so I thought it might be a good time to give it a try. Target Board – Wemos Lolin32 I only had STM32 Bluepill, and some ESP32 boards, so I went with the latter since it comes with WiFi. But instead of re-using some of my existing boards, I asked Banggood whether they could send Wemos Lolin32, which they did. They sell it for $7.99 shipped, but any other ESP32 board should do. The board […]

IOTA Tangle is a Blockless Distributed Ledger for the Internet of Things – Running a IOTA Full Node on Rock64 Board

IOTA-Wallet-Light-Node-vs-Full-Node

A lot of efforts is going into distributed ledger technologies like the blockchain, and while I keep hearing blockchain is the future, there’s a lot of hype, and so far I have not seen that many practical use cases. But recently I saw Open Source Foundries – a new company announced at Linaro Connect US 2017 – participated in the IOTA blockchain BoF at the OpenIoT Summit 2018 showing a demo publishing sensor data to the IOTA Tangle. So maybe we have a practical application here… Sadly, there’s no video recording of the IOTA blockchain BoF, so instead let’s go to the IOTA website to find out more. What is IOTA? That’s the short description of the solution: An Open-Source Distributed Ledger The first open-source distributed ledger that is being built to power the future of the Internet of Things with feeless microtransactions and data integrity for machines. The key technology […]

Running out of RAM in Ubuntu? Enable ZRAM

htop-zram

Whenever I ran out of RAM on a Linux system, I used to enable swap memory using the storage device to provide an extra bit of memory.  The main advantage is that it’s does not require extra hardware, but come at the cost of much slower access, and potential issues or wear and tear, unless you only use it temporary. This week-end, I compiled Arm Compute Library on ODROID-XU4Q board, and the first time it crashed because the system ran out of memory, so I enable swap on the eMMC flash module to restart and complete the build successfully. However, I was told it would have been better to enable ZRAM instead. So what is ZRAM? Wikipedia explains: zram, formerly called compcache, is a Linux kernel module for creating a compressed block device in RAM, i.e. a RAM disk, but with on-the-fly “disk” compression. So it’s similar to swap, expect […]

How to Run Chrome OS in Android Emulator

Chrome-OS-Emulator

While it’s possible to run the open source Chromium OS in your computer or a virtual machine, AFAIK there was only was way to test Chrome OS: purchasing an actual Chromebook, or other device running the operating system. But this week-end, I read the news that Chrome OS was now available in Android Studio, and you can run in Android Emulator while emulating a Pixelbook, so I gave it a try by following the instructions on Android Developer website. If you haven’t done so already, we first need to install Android Studio. I’m running Ubuntu 16.04 in my computer, but this will also work in Windows and Mac OS X. After download the IDE zip file, we can extract it… and then open a console, go into “{installation home}/bin” and run the program:

After a few seconds, we got into Android Studio 3.1.2 welcome screen. We can now click […]

How to Get Started with OpenCL on ODROID-XU4 Board (with Arm Mali-T628MP6 GPU)

ODROID-XU4-OpenCL-Convolution

Last week, I reviewed Ubuntu 18.04 on ODROID-XU4 board testing most of the advertised features. However I skipped on the features listed in the Changelog: GPU hardware acceleration via OpenGL ES 3.1 and OpenCL 1.2 drivers for Mali T628MP6 GPU While I tested OpenGL ES with tools like glmark2-es2 and es2gears, as well as WebGL demos in Chromium, I did not test OpenCL, since I’m not that familiar with it, except it’s used for GPGPU (General Purpose GPU) to accelerate tasks like image/audio processing. That was a good excuse to learn a bit more, try it out on the board, and write a short guide to get started with OpenGL on hardware with Arm Mali GPU. The purpose of this tutorial is to show how to run an OpenCL sample, and OpenCL utility, and I won’t go into the nitty gritty of OpenCL code. If you want to learn more […]

How-to Make Your Own 3D Printing Goo

Karl here…just want to do a little post about bed adhesion and what I have been doing for the past month. What spurred this is I saw a ton of videos on Magigoo a while back. It is a product that you wipe on your glass/mirror bed and 3D prints stick very well to it and once the bed cools the part pops off very easily. It is quite expensive and it got me to think about alternatives. I have used glue stick almost exclusively while printing on glass/mirror but a lot of time the prints stick too well and prints can get marred up removing with a tool. It is quite easy to make. 1 cup water and 1 large 22g Elmers glue stick. I put both in water and let sit thinking it would dissolve on its own. After several hours I got impatient and put it in […]

Run Linux Apps in (PixelBook) Chromebook with Crostini VM

Ever since the first Chromebooks were released, it has been possible to run Ubuntu or other Linux distributions using Crouton (Chromium OS Universal Chroot Environment) on Chrome OS devices, but that requires to enable developer mode, which disables some of security features that come with Chrome OS. Google has now make it easier and safer with Crostini VM that does not require developer mode. The only downsides for now are that it only works on Google Pixelbook, and you need to install/run Chrome OS v67 dev channel with the #enable-cros-container flag enabled. Using Crostini is fairly straightforward. First start crosh terminal with Ctrl++Atl+t, and running the following command to create a VM, and launch a container:

This will start a Debian Stretch environment with networking and GUI support, so you can install & run programs like you would in Debian (e.g. apt install htop).  Kevin Tofel at AboutChromebooks managed […]

How to Install and Use Ace Stream Easily in Ubuntu / Mint Linux

Ace Stream enabling the streaming of videos using P2P (peer-to-peer) technology – specifically BitTorrent protocol – and is especially useful for live streams, but also works for Audio and Video on Demand, and IOTT (Interactive-Over-The-Top). Ace Stream is implemented in a fork of VLC (Ace Player HD) working in Windows, Linux and Android, and I’ve found Full HD quality to be higher than services like YouTube, and with less buffering provided enough users watches the stream. It’s easy to use in Windows, and there used to be an Android app installable from the Play Store but it’s been removed, possibly because of the association of the solution with piracy. But just like Kodi, it’s up to do what you want to use it for. Using Ace Player was easy in Ubuntu up to version 14.04 thanks to a ppa, but with Ubuntu 16.04 it become a little more complicated as you […]

UP 7000 x86 SBC