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 Fetch the source tree from Openwrt git repo Move to OpenWRT …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

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] 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 mm (4.69 x 4.69 x 0.70 inches) all-metal (and surprisingly quite heavy) rectangular case, it is just under half the thickness of the J45 and is very similar in size to the …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Getting Started with NVIDIA Jetson Nano Devkit: Inference using Images, RTSP Video Stream

Jetson Nano RTSP Stream Inference

Last month I received NVIDIA Jetson Nano developer kit together with 52Pi ICE Tower Cooling Fan, and the main goal was to compare the performance of the board with the stock heatsink or 52Pi heatsink + fan combo. But the stock heatsink does a very good job of cooling the board, and typical CPU stress tests do not make the processor throttle at all. So I had to stress the GPU as well, as it takes some efforts to set it up all, so I’ll report my experience configuring the board, and running AI test programs including running objects detection on an RTSP video stream. Setting up NVIDIA Jetson Nano Board Preparing the board is very much like you’d do with other SBC’s such as the Raspberry Pi, and NVIDIA has a nicely put getting started guide, so I won’t go into too many details here. To summarize: Download the latest firmware image (nv-jetson-nano-sd-card-image-r32.2.3.zip at the time of the review) …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Getting Started with Embedded Linux on RISC-V in QEMU

RISC-V Linux QEMU Buildroot

RISC-V is getting more and more popular, but if you want to run Linux on actual hardware it’s currently fairly expensive since you either need to rely on HiFive Unleashed SBC ($999), or expensive FPGAs. Another solution is running Linux RISC-V via QEMU emulator,  and I showed how to do this using BBL (Berkeley Boot Loader),  Linux 4.14, and busybear rootfs. If you check the comments section of that earlier post you could also try out Fedora RISC-V images in QEMU. Bootlin has now published a presentation showing how to run embedded Linux on RISC-V in QEMU with many of the same components as in the previous instructions, but with a more up-to-date Linux kernel (5.4), and using Buildroot to build everything from scratch including the toolchain, BBL, the Linux kernel, and a Busybox based root file system. They explain each step in detail in the 45-page presentation to allow you to customize your final firmware to your requirements for …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Zsync HTTP-based File Transfer Utility Transfers Large Files Efficiently

Zsync WorkFlow Diagram

Zsync is an opensource file transfer utility built on top of rsync algorithm. This helps to download partial/differential files over the HTTP protocol. The utility allows downloading only new parts of a file from a centralized location,  where the older version of the file is already within your computer. While rsync is for syncing data from one computer to another,  zsync allows file distribution, where the file hosted in a server using any web server can be distributed to many and downloaded seamlessly. How it works The command-line utility will do all the differential calculations in the client, instead of doing it in the server as in rsync. Server metadata will be created only once and stored as part of the control file. And rest of the operations and decision making will be handled by the client-side application. This will reduce the huge processing needed on the server-side, even when thousands of clients are trying to fetch the file. Server …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Fingerprint Identification with STM32 MCU and Serial TFT LCD Module

STM32 Fingerprint TFT LCD

CNXSoft: This is a guest post by Amy working for STONE Technology, a company specializing in industrial liquid crystal display modules This month, I planned to develop a fingerprint door lock project. When I selected the fingerprint identification module, the project was suspended. However, I thought that since the fingerprint identification module had been purchased, I would simply test it. This fingerprint module can be easily purchased online, connected over UART to an MCU  board. It supports fingerprint scanning, fingerprint entry, fingerprint comparison, and fingerprint deletion. Since the fingerprint module manufacturer provides a demo program for STM32F103 series microcontrollers, I bought a small development board based on STM32F103C8T6. The demo program of the fingerprint module uses LED lights to prompt the user to enter the fingerprint and compare the status (success or failure). But I want to use an LCD display, so I chose a 480×272 resolution serial LCD display. The specific model of this display is STONE STVC050WT-01, which …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

How to install Duet 2 Maestro Board on HE3D K280 3D Printer

Duet 2 Maestro Wires Description

Quite a while ago I reviewed the HE3D K280 delta 3D printer.  Up until now, I did no mods other than the ones that I completed during the initial build. I have been very happy with it with the exception of the noise caused by inexpensive drivers and the salmon skin due to the drivers as well. The K280 prints big and pretty accurate at modest speeds. Today I am outlining how I upgraded to a Duet 2 Maestro mainboard. With this upgrade, I am jumping from an 8-bit board with generic drivers to a 32-bit board with TMC2224 drivers. The upgrade was quite painless and straightforward but not without a few hiccups. The Maestro is Duet’s entry-level board for about $130. I attempted the Bigtreetech SKR 1.3 with TMC2130’s but the firmware wasn’t quite there yet. I opened an issue on Marlin’s GitHub page which explains the issue in detail here. I only had one major issue with the …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Sovol SV01 Upgrade with BigTreeTech SKR mini E3 Control Board

Sovol SV01 Upgrade: Bigtreetech SKR mini E3

Karl here with a quick upgrade guide. The one complaint I had in the review of the SV01 3D printer was it was loud. Today we are going to look at resolving part of the problem by replacing the Creality board with the BigTreeTech SKR mini E3 V1.2 control board sold on Amazon for around $37. Fan noise at a later date. This board is ideal because the SD card, USB, and screws line up for nearly a perfect replacement. I did not bother hooking up the filament runout sensor. I have never found them particularly useful and always ensure I start with enough filament and bypassed it for the review. The board comes with TMC2209 drivers which significantly reduce the stepper motor noise as well as stop any salmon skin. SKR Mini E3 Warning This board is a replacement for the board found on the Ender 3. Below is from the manual. I purchased a clamp meter to test …

Support CNX Software – Donate via PayPal or become a Patron on Patreon