Setting up a motion activated light with Sonoff Zigbee sensor and T2 WiFi switch

Sonoff T2 wiring Thailand

Earlier this month, I received a Sonoff ZBBridge Zigbee gateway, a motion sensor, and a Sonoff T2 wireless switch in order to set up everything to work as a motion activated light using Zigbee and WiFi through the eWelink Android app and cloud service. You can check out the first post to have a closer look at the hardware and accessories. We’ve now had time to configure everything and will report the results of the project in this post. The idea is basically to detect motion with the Zigbee sensor, which then transmits the info through the gateway, and the T2 switch is controlled by the eWelink cloud. Last time around, I thought I had a switch with a neutral wire at home, but I did not check in detail enough, and I’ve been unable to use it. Without suitable switches in my home, it was not practical to rewire […]

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

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

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

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

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

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

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