Encoding and decoding AVIF pictures with open-source software & libraries

avif vs png

One of the new features of Android 12 is support for the AVIF file format that provides much smaller files at the same level of quality. Jake Archibald has done a great job comparing AVIF format to JPEG, WebP, and other still picture formats, and the results are really impressive. Besides Android 12, AVIF is already supported in Chrome browser, will be enabled by default in Firefox 86, but here’s we’ll look at some of the open-source programs and libraries that allow you to manipulate AVIF pictures. With libavif library, AOMedia has published a reference implementation in C, together with avifenc and avifdec tools, that rely on various codecs, but it appears rav1e is recommended for encoding AVIF picture, while dav1d is the best choice for AVIF decoding. libavif will not automatically build the codec, and they need to be enabled in CMakeLists.txt

as well as define the path […]

Maker Pi Pico STEM board mini review with CircuitPython

Maker Pi Pico First Boot

In my early list of third-party Raspberry Pi RP2040 boards, I shortly mentioned Cytron Maker Pi Pico baseboard for Raspberry Pi Pico that exposes all pins via female headers, includes LEDs for all GPIOs pin, six Grove connectors, three user push-buttons, one RGB LED, a piezo buzzer, an audio jack, a MicroSD card, and an ESP-01 socket to add WiFi connectivity. The beta version sold for $5, and at the time I missed that included Raspberry Pi Pico board as well, so basically you got a free baseboard. The Malaysian company has now sent me a review sample to play around with, so let’s have a closer at the hardware and code samples for the board. Maker Pi Pico Unboxing and Specifications I received the board in Cytron package together with a pinout diagram for Raspberry Pi Pico, and we can see the latter is already soldered to Maker Pi […]

Software configuration tips for Raspberry Pi clusters & parallel-ssh command

parallel-ssh

I missed that linux.conf.au 2021 took place on January 23-25 2021, and while browsing the schedule I noticed a talk entitled “Building Raspberry Pi Supercomputers” by Federico Lucifredi, Product Management Director for Ceph Storage at Red Hat. In the talk, he mostly focuses on the software part, and besides some basic steps, I learned about some new commands that be useful to people managing clusters of Raspberry Pi or other Linux boards or hosts. Configuring a cluster He used Picocluster image in his example, but for people wanting to use 64-bit OS, he recommends Ubuntu or Fedora images until Raspberry Pi OS 64-bit becomes stable. The first part of the configuration is making sure all the main user is the same on all board, disable SSH for root, and configure run levels (X not needed on clusters). Networking is configured with fixed IP addresses for Ethernet, and DHCP for WiFi. […]

A closer look at Raspberry Pi RP2040 Programmable IOs (PIO)

Pico PIO State Machine

The popularity of Raspberry Pico board powered by RP2040 microcontroller has made every reader wanting to know more about the board and chip. So today we will be talking about RP2040’s Programmable IOs, a feature that makes it different from most other microcontroller boards. The two PIO blocks or let’s call it the hardware interfaces in the RP2040 have four state machines each. These two PIO blocks can simultaneously execute programs to manipulate GPIOs and transfer raw data.  Now, what do these state machines do? Well, the PIO state machines execute the programs fetched from various sources. Sometimes the programs are taken from the PIO library (UART, SPI, or I2C) or user software. Why Programmable I/O? All the boards usually come with hardware support for digital communications protocols such as I2C, SPI, and UART. However, if you plan to use more of these interfaces than what is available on the […]

Getting Started with Raspberry Pi Pico using MicroPython and C

Raspberry Pi Pico Blink LED

Raspberry Pi Pico board was just launched last Thursday, but thanks to Cytron I received a sample a few hours after the announcement, and I’ve now had time to play with the board using MicroPython and C programming language. I went to the official documentation to get started, but I had to look around to achieve what I wanted to do, namely blinking some LEDs, so I’ll document my experience with my own getting started guide for Raspberry Pi Pico using a computer running Ubuntu 20.04 operating system. The instructions will be similar for Windows and Mac OS. Preparing the hardware In theory, we could just get started with the board alone, but since I got some headers with my board, I also took the opportunity to try out Pine64 Pinecil soldering iron powered by MINIX NEO P2 USB-C power supply. The soldering iron worked great for about one minute, […]

Reolink RLC-810A review – A 4K security camera with people & vehicle detection

Reolink RLC-810A Review

Last week I received Reolink RLC-810A 4K smart security camera with support for people and vehicle detection. I listed the specifications and check out the content of the package of the first security camera I’ve received with artificial intelligence. That should be great to avoid all unnecessary alerts from motion detection I get from my “dumb” IP cameras. In this review, I’ll write a small guide showing how to use the camera with the Reolink app, the web interface, and check out RTSP and ONVIF support. I’ll also see if people and vehicle detection lives up to my expectations. Reolink RLC-810A Camera installation and setup As noted in the first part of the review, the camera does not come with a power adapter and does not support WiFi. So I had to find a 12V power adapter and used a 15-meter Ethernet cable to connect it to my router. Before […]

Reading Vehicle OBD-II data through CAN within a containerized application in Embedded Linux

telematics applications overview-GNSS CAN Cloud embedded Linux

CNXSoft: This is a guest about OBD-II and CAN support in embedded Linux by Andre Márcio de Lima Curvello, Sr. FAE and Technical Evangelist, Toradex A connected world makes it possible to track your online orders being shipped to your home through your smartphone in real-time, and getting information about your vehicle such as tire pressure, outside temperature, and even details like if a lamp is broken – has begun to be possible via smartphones in modern vehicle models. But behind the magic of knowing where the truck carrying your package is at all times and other details of the vehicle, there is a very complex world made of embedded devices ‘talking’ to each other so the information makes its way from the device to you. In this article, you will learn how to create an application to communicate with a vehicle through CAN via the OBD-II standard. We use […]

Testing PTFE Tube for 3D Printing

PTFE Tube for 3D Printer

Karl here. I’m back with a short article on some testing that I did on PTFE tube. When I received the Sovol SV02 3D printer it came with some baby blue replacement PTFE tube. It came preinstalled with the regular white stuff that most Bowden style printers come with. I have also been thinking about different ways to use the Retraction Calibration Tool I created. I recommend reading it first to get grounded on what this tool does before going further. I have always heard that Capricorn brand is the best so I purchased some on Amazon. I will test 3 kinds. Generic white, Baby blue Sovol, and Capricorn XS tubing. (Now that I am finding the links to add to the article I see that it is through the Sovol Amazon store. This is just a coincidence.) For the uninitiated, this little tube plays an important role in 3D […]

EmbeddedTS embedded systems design