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

Sony Spresense 6-core MCU Development Board Now Supports Java

Sony Spresense board was introduced in spring 2018 with a 6-core Cortex-M4 microcontroller from the company, GPS & GLONASS, as well as audio support. The breadboard-compatible board could also be inserted into an Arduino UNO R3 compatible base board, and Sony offered support for both the Arduino IDE and a C-based NuttX-based SDK. You’ll find some more details and photos in our “review”. Sony has now partnered with MicroEJ to provide developers with Java support on Spresense board through MicroEJ Virtual Execution Environment (VEE). A Java simulator (VEE Virtual Device) allows you to develop software for Spresense independently of the hardware. Beside plenty of libraries, MicroEJ VEE features MEJ32 32-bit virtual core is compatible with various architectures including ARM Cortex-M, ARM Cortex-Ax, RX, V85, MIPS32, TriCore, and Tensilica. Java enables application portability which means that any GUI/IoT/Security or application code can run on various embedded systems supported by MicroEJ VEE. There are three main tools for developers: MicroEJ SDK to …

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

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

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)

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

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

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