Flashing Firmware to Rockchip Devices in Linux with rkdeveloptool Open Source Utility

Rockchip rockusb mode

It’s been possible to flash firmware to Rockchip devices in Linux with upgrade_tool command line tool for many years, but the utility is closed-source and only supports “RK Firmware” files that are also used for OTA firmware updates, but not “raw firmware” that you’d flash directly to micro SD cards for example. This week-end as I played with ROC-RK3328-CC board, I encountered some instability issues with micro SD cards, so I instead relied on an eMMC flash module. The only problem was that Firefly Team only releases “raw firmware” files, so I was unable to use upgrade_tool, and instead found out rkdeveloptool  open source utility was used to flash raw firmware images in Firefly’s Wiki. The first step is to connect a male to male USB  Type A cable (like that one on eBay)  between the board and the host computer, and connect a USB power adapter to the board. […]

Visual Studio 2017 with an Embedded Linux Arm Device

Toradex-Embedded-Linux

This is a non-sponsored guest post written by Marc Goodner: Principal Program Manager, Microsoft, and Jeremias Cordoba: Innovation Engineer, Toradex. Today many embedded devices run some flavor of Linux as their primary operating system. This poses a challenge to developers who run Windows on their development machine. This article explains a new way to use the latest Visual Studio for C++ development on an embedded Arm Devices from a Windows Host PC using containers for the build environment. The device we are deploying to is from the Toradex Colibri Family of System on Modules using the NXP i.MX 6ULL SoC, which features an Arm Cortex A-7. As a demo project, we will connect a Bluetooth Sensor with the Toradex Colibri Module. Please note that Visual Studio support for this case is in an early state, you will see improvements from Microsoft and Toradex in the coming months. Prerequisites Colibri i.MX 6ULL […]

Digitize Handwritten Notes with a $10 LCD Writing Pad and CamScanner App

Despite writing about high-tech technology with processors, software, IoT, artificial intelligence news everyday, I’m still very much a pen and paper kind of guy when it comes to taking notes. But this morning, I figured out it’s possible to digitize your notes on the cheap without having to use actual ink and paper, as 8.5″ digital LCD writing pads now cost as little as $10 shipped, and although those are pretty dumb devices with just an erase button and no connectivity nor storage, you can “scan” your notes using CamScanner app for Android and iOS. Specifications for the $10 model: 8.5″ LCD display with 25%-30% reflective ratio Pen Input pressure – 10-20g Power Supply – CR2016 button battery (included) Dimensions – 228 x 147 x 5mm (ABS plastic) Weight – About 110g This will reduce the amount of paper you use and store, and possibly have a positive impact of […]

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 […]