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

The Arduino Pro IDE Targets Professional Developers

Arduino Pro IDE

It is an underlying fact that Arduino changed or better still evolved the makers, electronics, DIY, open-source, or whatever ecosystem you can think of. It brought the power of creation to the average users irrespective of your current skill set or experiences. Engineers, Scientists, hobbyists, Professors, Makers, and others and have used the ecosystem Arduino has created to build and teach new things. Aside from the fantastic hardware that made all these possible, one of the significant contributors to this easy to use growing community is the IDE. The Arduino IDE is very simplified for newbies to use. Although the Arduino Classic IDE is a pretty decent IDE for building Arduino based projects, it doesn’t offer much for large scale projects or has the tools advance developers needs. I migrated to using Atmel Studio because of what the Arduino IDE was lacking, and others have considered using other IDEs like Visual Studio. The Arduino team announced the release of an …

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

py-videocore6 Raspberry Pi 4 GPGPU Python Library Leverages VideoCore 6 GPU

py-videocore6 Raspberry Pi 4 GPGPU

Raspberry Pi 4 SBC was released at the end of June with a new Broadcom BCM2711B SoC that also includes VideoCore 6 (VC6) GPU for 2D and 3D graphics, and that could also be used for general-purpose GPU computing (GPGPU). In the past we’ve seen companies such as Idein leveraged VideoCore 4 GPGPU capabilities in Raspberry Pi 3 / Zero to accelerate image recognition, and they released a python library (py-videocore) for that purpose. The problem is that the VideoCore 6 GPU found in RPi 4 is quite different than the VideoCore 4 GPU in earlier versions of the Raspberry Pi Foundation board as forum member phiren explains: I’ve been looking though the open source drivers and here are some of my observations: vc6 is clearly derived from vc4, but it is significantly different. vc6 is only a slight extension over vc5 The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and …

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

BASIC Compiler & Programming on Arduino Zero Boards (Crowdfunding)

BASIC Compiler Arduino

Arduino boards are normally programmed using Arduino “programming language” that’s more like an API using C/C++ language.  But when I started in high-school I remember learning Pascal and BASIC programming languages. Bruce Eisenhard also learned BASIC in the past, so he decided to port his company’s ARM BASIC compiler to Arduino Zero, and it should also work on other boards based on Microchip SAMD21G Arm Cortex-M0+ microcontroller. The compiler includes floating-point, strings, inline assembly, interrupts, pre-processor, and the BASIC firmware supports direct access to hardware registers so you can control digital and analog I/Os, ADCs, and other peripherals using BASIC programming language. A runtime monitor also facilitates debugging. The IDE used for development is called BASICtools that’s a free 30MB download which install programs and documentation. There are also libraries and examples from blinky to more complex code. It’s been possible to run interpreted BASIC on Arduino for a while, but Bruce notes compiled BASIC is at least 20 times …

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

PicoLibC is a Lightweight C library for Embedded Systems

PicolibC

Well-known developer,  Keith Packard has recently announced the launch of “picolibc” through his blog.  Picolibc is a C Library for embedded systems which  is suitable for small micro-controllers, and this standard C library API’s allows to run even in low memory (RAM) devices. This is an upgraded version of “newlib-nano” with few interesting changes which includes replacement of “stdio” lib with ATMEL-specific printf code adopted from avrlibc. As part of this library, Keith also launched picocrt,  which is responsible for initializing memory and invoking various constructors before calling its own C program, the main function. Features picolibc is a revised version of newlibc, without full-fledged stdio lib and uses lightweight stdio lib from avrlibc, which is more suitable to low memory embedded devices. Meson build-system eases the build process of picolibc source tree for various target platform and hardware. Updated the math test suite to use Glibc as a reference The library is BSD licensed, and non-BSD components were removed …

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

Huawei Releases their Open Source Ark Compiler for HarmonyOS

Ark Compiler HarmonyOS

Back in May, there were rumors Huawei was working on HongMeng OS as an alternative to Android mobile operating systems, as the OS was brought to light due to US sanctions against the company. The new operating system was later confirmed and will be called HarmonyOS outside of China. A few days ago I received a tip in Chinese with this link explaining Huawei had released the open-source Ark compiler for HarmonyOS aka OpenArkCompiler. The compiler works with Java apps and converts the source into AArch64 binaries. The illustration below implies it should also work with C, C++, JavaScript, and Kotlin programming languages. Three links were shared in the announcement: The official website – https://www.openarkcompiler.cn/home The code hosting website – https://code.opensource.huaweicloud.com/openarkcompiler/openarkcompiler/home A mirror for the code – https://gitee.com/harmonyos/OpenArkCompiler As a side note, I had never heard about Gitee, and the site is an alternative to Github in China, which may be useful to developers who had their Github account restricted …

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

TinyGo GO Compiler for Microcontrollers Now Works on Arduino Boards

Powerful, yet simple to use, TinyGo is making a significant mark in the open-hardware sector. This was well stated in the Arduino blog interview of Ron Evans, Technologist for Hire, as  Arduino is now working with TinyGo on an ongoing basis. What is TinyGo? The whole purpose of TinyGo is to bring Go to the microcontroller and the latest web browsers, to have that powerful language able to function in tiny processor formats, such as the Arduino Uno and Arm-based processors such as the Cortex-M type processors and also the BBC Micro: bit, STM32 Bluepill, and some other MCU boards, from any web browser. How It Functions It does this through LLVM toolchain and that format allows TinyGo to compile Go programs to a fraction of their original size, then flash the reduced Go program directly onto the microcontroller. Web Browser Applications With WebAssembly TinyGo can be used with WebAssembly (WASM) for applications that are browser-based, high-performance code. The use …

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

Getting Started with Sipeed M1 based Maixduino Board & Grove AI HAT for Raspberry Pi

Grove AI HAT Face Detection

Last year we discovered Kendryte K210 processor with a RISC-V core and featuring AI accelerators for machine vision and machine hearing. Soon after,  Sipeed M1 module was launched with the processor for aroud $10. Then this year we started to get more convenient development board featuring Sipeed M1 module such as Maixduino or Grove AI Hat. Seeed Studio sent me the last two boards for review. So I’ll start by showing the items I received, before showing how to get started with MicroPython and Arduino code. Note that I’ll be using Ubuntu 18.04, but development in Windows is also possible. Unboxing I received two packages with a Maixduino kit, and the other “Grove AI HAT for Edge Computing”. Grove AI HAT for Edge Computing Let’s start with the second. The board is a Raspberry Pi HAT with Sipeed M1 module, a 40-pin Raspberry Pi header, 6 grove connectors, as well as connectors for camera and display. The USB-C port is …

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