How to flash firmware to Rockchip devices in Windows and Linux (2021 Edition)

Zidoo M6 rockchip firmware update

We’ve written several articles detailing methods to flash firmware to Rockchip devices in Windows or Linux over the years, with tools like RKAndroidTool, RkFlashKit, upgrade_tool, or the open-source rkdeveloptool utility. This is mostly useful to flash another OS or if the device does not boot, as most products will now support OTA firmware updates. But following my review of Zidoo M6 with Android 11, I’ve now got a Linux image for the Rockchip RK3566 mini PC, so let’s revisit the firmware flashing methods in 2021. Zidoo sent me instructions for Windows, but since I’m a Ubuntu user, I flashed the firmware with the Linux tools used by Firefly. The same methods should work for the older processors such as RK3066, RK3288, and RK3399, besides the more recent Rockchip RK3566 and RK3568 processors. How to flash Rockchip firmware in Linux [Important update: If your device comes with both eMMC flash and […]

My experience installing Libero SoC in Ubuntu and Windows 10

Libero SoC Windows Silver License ACTEL_BASESOC

A few weeks ago, I received Microchip PolarFire SoC FPGA Icicle Kit with FPGA fabric and hard RISC-V cores capable of handling Linux. I wrote “Getting Started with Yocto Linux BSP” tutorial for the board, and I had initially titled the current post “Getting Started with FPGA development using Libero SoC and Polarfire FPGA SoC”. I assumed I would write one or two paragraphs about the installation process, and then show how to work with Libero SoC Design Suite to create an FPGA bitstream. But instead, I spent countless hours trying to install the development tools. So I’ll report my experience to let readers avoid some of the pitfalls, and hopefully save time. (Failing to) Install Libero SoC v2021.v2 on Ubuntu 20.04 If we go to the download page, we’ll see Libero SoC v2021.2 for Windows and Libero SoC v2021.2 for Linux. Since my computer is running Ubuntu 20.04, I decided […]

How to upgrade a mini PC to Windows 11 and install WSL

Windows 11 WSL Ubuntu App

In this short article, I show how to install Windows Subsystem for Linux (WSL) and how to force the upgrade of Windows 10 to Windows 11 in a mini PC rather than waiting for Windows to offer it. The reason I’ve coupled these two topics together is not because there is any dependency, but simply as I use WSL to help me perform administrative tasks like downloading and copying files when installing applications on Windows mini PCs. WSL installation Installing WSL has recently become so simple it is worth doing just to gain the flexibility it offers for so little effort. Now you only need to open ‘Windows Terminal (Admin)’ and enter wsl –install: then reboot for Ubuntu to start installing, during which you will be asked to create your user with a password, which finishes in Ubuntu: Further information about installing WSL can be found in Microsoft’s documentation. Now […]

Windows Subsystem for Android introduced on Windows 11

Amazon Appstore Windows 11 Android apps

Following up on the company’s Windows Subsystem for Linux, Microsoft has now introduced the Windows Subsystem for Android that allows Windows 11 users to install Android apps either through the Amazon Appstore or the Microsoft Store. At this time, it is officially reserved for Windows Insiders part of the Beta Channel in the United States on eligible devices running Intel, AMD, and Qualcomm platforms, and at this time 50 apps are available with mobile games such as Lords Mobile, June’s Journey, or Coin Master, the Kindle app for reading books, and kids content that includes Khan Academy Kids and Lego Duply World. More apps are obviously planned, and as I’ll see later there are ways for any Windows 11 users to install Android apps. The Windows Subsystem for Android (WSA) is not installed by default, but it will be automatically installed if you either install the Amazon Appstore, the Amazon […]

How to fix “The device isn’t Play Protect certified” error message in Android

Android 11 Google Play Not-Play Protect certified

I’m currently testing Zidoo M6 with Android 11. The mini PC is mostly designed for industrial and commercial use cases, so it may not need to be certified by Google in order to access Google apps and services like a consumer device. But for review purposes, it can still be an inconvenience, as I got the message “The device isn’t Play Protect certified – Google apps and services can’t run on this device” when trying to use Google Play and login with one of my Google accounts. This does not look good, and Chrome, a Google app, refuses to work as well. I still tried to log in, but it just failed, returning an error telling me: “Your account wasn’t added. Try again”. That would mean I’d have to download the apps on my PC and sideload them with a USB flash drive. That’s not practical, and there’s must be […]

Heatshrink – An ultra-lightweight compression library for embedded systems

Heatshrink

When I wrote about Bangle.js 2 JavaScript smartwatch yesterday, I noticed they used “Heatshrink compression” in ESPruino firmware.  I can’t remember ever reading about Heatshrink before, and indeed there are no results while searching on CNX Software. Heatshrink is an open-source data compression library designed for resources-constrained embedded systems that works with as little as 50 bytes of RAM. That’s impressive, so let’s investigate. The library is written in C language and was released about 8 years ago on Github with the following key features: Low memory usage – As low as 50 bytes with specific parameters, and usually under 300 bytes are needed. Incremental, bounded CPU use – Input data is processed in tiny bites Static or dynamic memory allocation Released under an ISC license which allows you to use the library freely, even in commercial products. The internal workings of the library are explained as follows: Heatshrink is […]

Getting started with Bluetrum AB32VG1 RISC-V Bluetooth audio board using RT-Thread

Bluetrum AB32VG1 RISC-V Bluetooth audio board

Bluetrum AB32VG1 is a development board based on AB5301A RISC-V microcontroller designed for Bluetooth audio applications as well as general-purpose projects that works with RT-Thread real-time operating system. RT-Thread sent me a board for review, and I’ll write about my experience in a getting started guide for Bluetutm AB32VG1 trying out the RT-Thread Studio IDE with the LED blink and audio samples, as there’s no Bluetooth sample at this time… Bluetrum AV32VG1 Unboxing The board ships with a USB-C cable for power and programming. It offers Arduino UNO headers for expansion, a MicroSD card slot, a USB host port, a 3.5mm audio jack, an IR receiver, and a few buttons. There’s nothing to do on the bottom of the board apart from a QR Core for the WeChat app. There are also several configuration jumpers, but I could not find any documentation about these and did not mess with the […]

Your VGA monitor may be easier to repair than you think

Repair VGA monitor LG Flatron W1934S

When a VGA monitor does not start at all, a common reason is that one or two capacitors are damaged. All you need to do to repair it is to replace them, and you’re good to go. It’s quite easier than you think, and I’ll show you how. I was tasked with repairing a VGA monitor, namely an LG Flatron W1934S, that would not turn on anymore. All I could see what the blue power LED blinking regularly, about every two seconds. Since so far, I had a 100% success rate in failing to repair TVs, I was not confident, and I thought maybe the monitor is some special state making it not turn on, as it happened to me with another monitor a few years ago. But a web search revealed the problem was probably a power supply board issue with one of the capacitors damaged and, in theory, […]

EmbeddedTS embedded systems design