How to Build KiCad on Ubuntu 18.04 / 20.04 and Import Altium PCB Files

BeagleBone Black Altium KiCad

KiCad open-source EDA (Electronics Design Automation) suite software is now very popular, and many new projects are designed with the utility. AFAIK, some companies like Olimex switched all their new designs to KiCAD. But since many schematics and PCB layouts have been designed with other tools like EAGLE, Orcad Allegro, or Altium PCB design tools, it would be nice to be able to import those designs into KiCad. Converters have been around for a long time but when I tried to convert Beagleboard-xM OrCAD schematics to import them in KiCAD back in 2012, the results were really awful and unusable. But I recently saw a tweet saying it’s now possible to import Altium files into KiCAD. Finally, importing #altium boards into #kicad is only one click away (in the developer version). This allows to view and edit #opensource #hardware which was designed with #proprietary software, and thus, in fact, not […]

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

Getting Started with Amlogic NPU on Khadas VIM3/VIM3L

output type 2 yolov3

Shenzhen Wesion released the NPU toolkit for Khadas VIM3/VIM3L last November, so I decided to try the latest Ubuntu 18.04 image and the NPU toolkit on Khadas VIM3L, before switching to VIM3 for reasons I’ll explain below. I’ve followed two tutorials from the forum and wiki to run pre-built samples and then building a firmware image and samples from source. Khadas VIM3L and VIM3 Have Different & Optional NPUs This will be obvious to anyone who read the specs for Khadas VIM3 and VIM3L that the former comes with a 5 TOPS NPU, while the one in the latter only delivers up to 1.2 TOPS. But somehow, I forgot about this, and assume both had the same NPU making VIM3L more attractive but this type of task, Obviously I was wrong. But the real reason I stopped using Khadas VIM3L can be seen in the photo below. My board is […]

AI inference using Images, RTSP Video Stream on NVIDIA Jetson Nano Devkit

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

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

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