JPEGDEC is a Faster JPEG Arduino Library Designed for 32-bit MCUs

In order to ensure software compatibility, Arduino libraries are supposed to work on various types of hardware from 8-bit microcontrollers with a limited amount of memory to more powerful 32-bit chips like STM32 Arm Cortex-M MCU or ESP32 dual-core Tensilica WiSoC that can access a larger amount of RAM. This is all good, but in some cases, this may affect performance. Larry Bank noticed this when looking for a JPEG viewers for Arduino and only found ones which sacrificed speed to work on MCUs with very little RAM. So he started to work on JPEDDEC JPEG Arduino library optimized for speed and compatible with any MCU with at least 20K of RAM. Optimizations go beyond just loading more data into memory, as Larry explains in a blog post, the library also performs the removal of stuffed bytes, optimize the Huffman decode and DCT parts, and more. Some of the key features of the library include: Support for any MCU with …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples

Perfetto Profiler Now Supports Mali GPU Hardware Counters via Panfrost

Perfetto is an open-source system profiler, app tracer, and trace analyzer for Linux, Android & Chrome platforms, and user-space apps. The program can already visualize CPU and memory usage, as well as power consumption.  GPU support is more limited with the program only capable of sampling the GPU frequency when the driver outputs that information via ftrace. When Perfetto is also extendable thanks to a Tracing C++ SDK that “allows userspace applications to emit trace events and add more app-specific context to a Perfetto trace”. Collabora made use of the tracing SDK to add support for Mali Midgard GPU performance profiling in gfx-pps project using the Mali GPU hardware counters exposed via Panfrost open-source Mali GPU driver. After following the installation instructions, you’ll be able to run the following executables for tracing and profiling: tracedtracing service. traced_probes OS probes service. perfetto command-line tool for recording traces. producer-gpuproviding the Panfrost data source. There’s also gpu.cfgconfig file to feed as input to …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples

ZS1100A IoT Power Meter Supports Sigrok Open-Source Software (Crowdfunding)

A few months ago, I tested Qoitech Otii Arc power meter & DAQ system designed for developers of IoT devices, and fount out it would be incredibly useful to developers of battery-operated devices since it shows voltage and current graphs synchronized with the serial output making it easy to see where software might be optimized. The system can also capture analog and digital signals from the DUT and emulate batteries with user-defined characteristics. But this weekend, I’ve come across a very similar solution with ZS1100A IoT power meter that also happens to be compatible with Sigrok open-source signal analysis software, and the corresponding Pulseview GUI. ZS1100A IoT power meter specifications: Measurements Output Voltage Range – 0 to 6 V programmable in 10 mV steps with +/- 5mV accuracy, Current Measurement Range – -0.5 A to 1.5 A (linear range) with < 0.1 μA resolution,  accuracy of 1% of measured value ± 0.2 μA Max Output Current 1 A constant current …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples

Getting Started with Qoitech Otii Developer Tool using ESP8266 and Raspberry Pi 4 Boards

Last month, I received Qoitech Otii Arc power supply, power meter, and DAQ unit that aims at helping hardware and software engineers develop energy-efficient products. I’ve now had time to test the unit with an ESP8266 board and Raspberry Pi 4 SBC, so I’ll show how to get started and my overall experience with the hardware and program. Requirements and Initial Setup The unit takes a 9V power supply or micro USB adapter as power input, but power output is done through banana plugs. I did not have any cables with banana plugs so I bought one on eBay for about $5 shipped. This cable is really convenient with output to USB (female connector), crocodile clips, and hook clips. However, as we’ll see below it may not be suitable for all types of loads, and you may have to make your own with a higher rated cable. You’ll need to download Otii program available for Windows 10 / 7 64-bit, …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples

Linaro Connect San Diego 2019 Schedule – IoT, AI, Optimizations, Compilers and More

Linaro Connect San Diego 2019

Linaro has recently released the full schedule of Linaro Connect San Diego 2019 that will take place on  September 23-27. Even if you can’t attend, it’s always interested to check out the schedule to find out what interesting work is done on Arm Linux, Zephyr OS, and so on. So I’ve created my own virtual schedule with some of the most relevant and interesting sessions of the five-day event. Monday, September 23 14:00 – 14:25 – SAN19-101 Thermal Governors: How to pick the right one by Keerthy Jagadeesh, Software Engineer, Texas Instruments With higher Gigahertz and multiple cores packed in a SoC the need for thermal management for Arm based SoCs gets more and more critical. Thermal governors that define the policy for thermal management play a pivotal role in ensuring thermal safety of the device. Choosing the right one ensures the device performs optimally with in the thermal budget. In this presentation Keerthy Jagadeesh, co-maintainer of TI BANDGAP AND …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples

Arm Techcon 2019 Schedule – Machine Learning, Security, Containers, and More

Arm Techcon 2019

Arm TechCon will take place on October 8-10, 2019 at San Jose Convention Center to showcase new solutions from Arm and third-parties, and the company has now published the agenda/schedule for the event. There are many sessions and even if you’re not going to happen it’s always useful to checkout what will be discussed to learn more about what’s going on currently and what will be the focus in the near future for Arm development. Several sessions normally occur at the same time, so as usual I’ll make my own virtual schedule with the ones I find most relevant. Tuesday, October 8  09:00 – 09:50 – Open Source ML is rapidly advancing. How can you benefit? by Markus Levy, Director of AI and Machine Learning Technologies, NXP Over the last two years and still continuing, machine learning applications have benefited tremendously from the growing number of open source frameworks, tools, and libraries to support edge inferencing. These include CMSIS-NN, ARM …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples

Linux 5.2 Release – Main Changes, Arm, MIPS & RISC-V Architectures

Linux 5.2 Changelog

Linus Torvalds announced the release of Linux 5.2 last Sunday: So I was somewhat pre-disposed towards making an rc8, simply because of my travels and being entirely off the internet for a few days last week, and with spotty internet for a few days before that [*]. But there really doesn’t seem to be any reason for another rc, since it’s been very quiet. Yes, I had a few pull requests since rc7, but they were all small, and I had many more that are for the upcoming merge window. Part of it may be due to the July 4th week, of course, but whatever – I’ll take the quiet week as a good sign. So despite a fairly late core revert, I don’t see any real reason for another week of rc, and so we have a v5.2 with the normal release timing. There’s no particular area that stands out there – the changes are sosmall that the appended …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples

Android Patch Brings Bluetooth SBC Codec Audio Quality on-par with aptX

Android Bluetooth SBC HD Audio

In the context of CNX Software’s topics, SBC usually stands for “Single Board Computer”, but SBC also stands for “SubBand Codec“, a standard and mandatory Bluetooth codec which is supported by all headphones, portable speakers, car head units, and basically everything that plays audio over Bluetooth. SBC is known as a basic and low-quality Bluetooth codec, so people will often recommend using other codecs such as aptX, AAC or LDAC wherever possible, but ValdikSS has submitted a patch for Android which improves Bluetooth SBC codec audio quality on most existing devices, allegedly making it as good as the high quality aptX HD codec. ValdikSS explains this basically works by increasing the bitrate: My patchset bypass Android Bluetooth stack limitations and increase bitrate from stock 328 kbps to 452 or 551 kbps, depending on device speed capabilities. It’s already merged into LineageOS 15.1 and 16.0, Resurrection Remix and crDroid alternative Android firmwares. You’ll get the full detailed technical explanation in “Bluetooth …

Support CNX Software – Donate via PayPal, become a Patron on Patreon, or buy review samples