How to Detect STM32 Fakes

Real vs Fake STM32

STMicro STM32 microcontrollers are very popular, and it’s a well-known fact there are some fakes on the market. What I did not know is that many don’t even pass the blinky test. I learned this in Greaseweazle Github repository, a “tools and USB interface for accessing a floppy drive at the raw flux level”, where keirf explains how to detect STM32 fakes, notable clones of STM32F103C8 found in Bluepill board. The photo above shows a real STM32F103C8T6 microcontroller, and all should have a similar top marking and only one circular depression on the bottom left to indicate pin 1. [Update July 9, 2023: STMicro has issued PCN MDG/22/13318 in November 2022 that changes the way chips are marked, so it’s no longer true that genuine chips from STMicro must look like the one above. Thanks to George for the update] keirf goes on to show two boards that are sold […]

Updating the BIOS (System Firmware) from the Device Manager in Windows 10

Device Manager: Firmware->Acer Inc System Firmware

I recently started having problems playing YouTube videos in Firefox and Chrome in Ubuntu 18.04. The video would load, and I could see frames at any time, but it would just not play. I soon discovered that killing PulseAudio, and the video would play without audio. I also noticed I had Dummy Output in Sound settings. I tried all usual tricks to fix this, but still no luck. Then I discovered I had audio just after booting my computer, but after a while, there would be no audio at all. This seems to match the time by which the AMD GPU drives crashes (just warning), something that had happened ever since I installed Ubuntu on my Acer laptop. After more failed attempts, I decided to try to update the BIOS using Windows 10. A 10-minute task, right? I would just have to replace the hard drive with one pre-loaded with […]

Raspberry Pi Imager Makes Flashing OS Images Easier on Windows, macOS and Ubuntu

Raspberry Pi Imager Write

Most regular readers of this blog will probably find flashing operating system images to a MicroSD card to be child play. Just download the latest OS image, install balenaEtcher, select the image, the MicroSD card and you’re done. But people who have never used such tools may find it a bit confusing, so the Raspberry Pi Foundation has developer and now released a tool – Raspberry Pi Imager – working on Windows, macOS, and Ubuntu that makes it even easier. You’ll find the tool for your OS of choice on the Download page on Raspberry Pi website. I’ve given it a try in Ubuntu 18.04. Click on Operating System will bring you a list of the latest supported operating systems, an option to fully erase the MicroSD card, and another to install your own – already downloaded – custom image. I’ve selected Raspbian 2020-02-13, inserted my SD card and selected […]

Getting Started with RT-Thread Nano RTOS on RISC-V Processors

GD32V Project Eclipse

CNXSoft: This is a guest post by RT-Thread explaining how to create your first program running on their real-time operating system using a GD32V  RISC-V MCU board as an example. This article describes how to “port” RT-Thread Nano to the RISC-V architecture, using the Eclipse IDE, GCC toolchain, and a basic project for the Gigadevice GD32V103 MCU. Foreword RT-Thread is an open-source embedded real-time operating system. RT-Thread has a standard version and a Nano version. The standard version consists of a kernel layer, components and service layer, and IoT framework layer, while the Nano version has a very small footprint and refined hard real-time kernel, better suited to resource-constrained microcontroller units (MCU). The main steps for porting Nano are as follows: Prepare a basic Eclipse project and get the RT-Thread Nano source code. Add the RT-Thread Nano source code to the base project and add the corresponding header path. Modify […]

How to Build & Run Linux on Kendryte K210 RISC-V NOMMU Processor

RISCV64 NOMMU Menuconfig

A few months ago, we wrote that Western Digital was working on Linux & BusyBox RISC-V NOMMU, and managed to boot a minimal Linux OS on Kendryte K210 powered Sipeed Maix Go board. RISC-V NOMMU support was scheduled for Linux 5.5, and now that the new kernel has been released, Damien Le Moal has pushed the code allowing to build Linux and a busybox based roofs for RISC-V 64-bit NOMMU platforms using buildroot. I could start the build following the instructions on Github, but it failed as a Linux 5.6 RC1 tarball was missing. But I noticed “Vowstart” picked up on Damien’s work, and wrote detailed instructions. So let’s try the build out using a machine running Ubuntu 18.04. We’ll have to make sure dependencies are installed first:

Then we can retrieve the source code and do some preparations (e.g. extract Linux 5.6 RC1 tarball):

The next step […]

How to Recover from a Bad Firmware Upgrade on Anet ET4 3D Printer

How to flash Anet ET4 Firmware

Hey, Karl here with a really quick how-to. This how-to is to help everyone who has bricked their Anet ET4 printer after upgrading firmware on the printer. Anet reached out for a review of the ER4 and I recently gave one printer to a buddy of mine and he showed a lot of enthusiasm. I thought it would be interesting to do a review from someone less experienced. I asked him if he would like to do it and he accepted. I wanted to help him with unboxing and initial setup so we fired up a YouTube Livestream. The build went smooth but because the UI is lacking finish I went searching for updates. It is not uncommon to flash firmware, and after a little googling I found updated firmware and was hoping to fix the UI. We followed the directions but the machine got hung at the logo after […]

Build & Customise OpenWrt for Raspberry Pi

OpenWrt Raspberry Pi Subtarget

OpenWrt is an open source operating system based on Linux especially designed for embedded & networking devices. This OS is well known for its lightweight footprint, standardized configuration approach (using LUCI interface), easy to build images, as opkg packages. At the core of OpenWrt is a writable root file system, where the users can add and/or remove packages, modify configs etc…. without having to re-flash the entire firmware/operating system. This is achieved by overlaying a read-only compressed SquashFS file system with a writable JFFS2 filesystem using OverlayFS. You can install pre-built packages from OpenWrt repo (which contains approximately 3500 packages) using opkg package manager. The Build Process Below steps cover the required pre-build environment and how to build OpenWrt from the source tree for Raspberry Pi board. Even though OpenWrt recommends Debian for the build machine, I built it successfully on Ubuntu 18.04 Desktop. Setup Build Environment

Build OpenWrt […]

Beelink T45 Review with Windows and Linux, and Tweaking BIOS Power Limits

beelink t45 temperature

[Update December 23, 2019: We’ve been informed by Beelink that the T45 has been updated to the 6W Celeron N4200 processor instead, and the system is now cooled with a fan. The model reviewed in this post is the fanless version with a 10W Intel J4250 processor, which was never sold] [Update January 30, 2020: We’ve now posted a review of the new model at Beelink Gemini T45 Pentium N4200 Mini PC Review] Beelink have further extended their ‘Gemini’ range of mini PCs by adding the T45. This is a passively cooled mini PC that is effectively a companion to the J45 as it again uses the slightly older Apollo Lake Intel Pentium J4205 CPU which is a quad-core 4-thread 1.50 GHz processor boosting to 2.60 GHz with Intel’s HD Graphics 505. Although the T45 is a ‘NUC’ style mini PC physically consisting of a 119 x 119 x 17.7 […]

Youyeetoo X1 x86 SBC