TensorFlow Lite for Microcontrollers Benchmarked on Linux SBCs

TensorFlow Lite microcontrollers benchmark linux SBC

Dimitris Tassopoulos (Dimtass) decided to learn more about machine learning for embedded systems now that the technology is more mature, and wrote a series of five posts documenting his experience with low-end hardware such as STM32 Bluepill board, Arduino UNO, or ESP8266-12E module starting with simple NN examples, before moving to TensorFlow Lite for microcontrollers. Dimitris recently followed up his latest “stupid project” (that’s the name of his blog, not being demeaning here :)) by running and benchmarking TensorFlow Lite for microcontrollers on various Linux SBC. But why? you might ask. Dimitris tried to build tflite C++ API designed for Linux, but found it was hard to build, and no pre-built binary are available except for x86_64. He had no such issues with tflite-micro API, even though it’s really meant for baremetal MCU platforms. Let’s get straight to the results which also include a Ryzen platform, probably a laptop, for reference: SBC Average for 1000 runs  (ms) Ryzen 2700X (this …

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

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 or become a Patron on Patreon

C.H.I.P. is Back via PopCorn Computer with Allwinner or Amlogic Processor (Crowdfunding)

Super Popcorn

C.H.I.P was a $9 Linux computer launched in 2015 by Next Things Co., and followed by the $16 C.H.I.P Pro in 2016. Sadly the company eventually encountered financial troubles and had to fold last year. But the design was open source hardware, Source Parts managed to get hold of several original Allwinner GR8 systems-in-package, and in April we reported that they sold Kettlepop, a limited edition of a CHIP Pro derivative fitted with 8GB eMMC flash. Source Parts is now back with three CHIP lookalikes: Popcorn Original based on Allwinner R8/A13 Arm Cortex-A8 processor with 512MB RAM, and 32GB eMMC flash and 100% software compatible with the original C.H.I.P computer Super Popcorn Computer powered by Amlogic S905D quad-core Cortex-A53 processor Super ‘8’ Popcorn Computer powered by Amlogic S912 octa-core Cortex-A53 processor Popcorn Original is basically the same as C.H.I.P board except for the 32GB eMMC flash storage replacing the 4GB NAND NAND on the original board, as well as a …

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

MOVI Shield Enables Offline Speech Recognition of 150 Sentences on Arduino and Raspberry Pi

MOVI Shield Arduino

Smart speakers normally work both offline and online, but their offline ability is usually limited to just one or two wake words, that when detected let the speakers listen to speech that it will send the cloud for further processing. It’s done that way because the speakers would not have enough resources, e.g. processing power, storage to contain the whole data required for natural speech processing, and wake words reduce the number of requests to the cloud, and improve privacy. But in some cases, you may not need the full language, and instead would like to use several voice commands to control a device without the need or the ability to connect to the Internet/Cloud. So Audeme has designed an Allwinner A13 based Arduino shield named MOVI (My Own Voice Interface), and that can recognize and/or synthesize up to 150 full sentences of your choice in English, Spanish or German. The shield has been around since 2015, but the company …

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

Software Development on Librem 5 and PinePhone Linux Phones is Progressing Nicely

PinePhone LuneOS

Several Linux phones are expected this year including Purism Librem 5 and Pine64 PinePhone. Both companies have sent phone development kits out to developers a few months ago, and we are starting to see some nice progress for both phones. What made me write this post is an update from Purism comparing the boot time on Librem 5 running PureOS Linux distribution without specific optimizations yet, and HTC One Android smartphone.  Librem 5 smartphone devkit takes 13 seconds to get to the lockscreen, while the Android phone takes over 40 seconds. Fair enough, most people won’t boot their phone often, but it still nice to know it won’t take long to turn on the phone from power off state.  They also posted a progress report at the end of May saying calls are now working with better audio quality, fixed various issue with messaging in Chatty, work on Linux mainline is going well with Linux 5.2 expected to work …

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

How One Line of Code Tripled Allwinner A20 SATA Write Performance

Allwinner A20 SATA Performance Patch

If you’ve been following this blog long enough, you may remember that all linux-sunxi community work aiming at improving u-boot and Linux software support on Allwinner processors started with Allwinner A10 processor found in MeLE A1000 TV box back in 2012, which at the time provided an interesting alternative to Raspberry Pi board that was in short supply at launch time and several months after. One of the most interesting feature found in Allwinner A10 single core Arm Cortex-A8 processor was its SATA interface, and Allwinner A20 was announced a few months later with a dual core Cortex-A7 processor and virtually the same peripherals as Allwinner A10, including SATA. However when I  tested CubieTruck board connected to a mechanical drive, I noticed sequential SATA performance was fine for reads (~180MB/s), but writes were fairly slow at around 36 MB/s. Other people complained about it, and some looked into it, and at one point it appeared the maximum SATA write performance …

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

Volumio Motivo is a Gorgeous Audio Streamer Powered by SOPINE A64 SoM

Volumio Motivo

Volumio is a well-known Linux based open source music player for Raspberry Pi, UDOO, Cubox-I, Beaglebone Black, and other single board computers. Some companies even made audiophile boards with support for Volumio including Khadas Tone high-resolution audio board for VIM/VIM2 SBC’s, and the tiny VoltaStream ZERO following Raspberry Pi Zero form factor. But Volumio team has decided to make their own hardware with Motivo, an awesomely looking audio streamer designed in collaboration with Yottamusic engineering firm, and Design Narratives industrial design company. Motivo was introduced at High-End Munich, the world’s biggest Hi-Fi trade fair, and Pine64 posted some photos in a tweet claiming it was powered by their SOPINE A64 system-on-module. The full details about the device have not been published at the time of writing, but we can still derive some of Volumio Motivo specifications and key features from the photos and a few bits of public information: System-on-Module – SOPINE A64 with Allwinner A64 quad-core Cortex-A53 processor, up …

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

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

Linux 5.1 Changelog

Linus Torvalds has just announced the release of Linux 5.1: So it’s a bit later in the day than I usually do this, just because I was waffling about the release. Partly because I got some small pull requests today, but mostly just because I wasn’t looking forward to the timing of this upcoming 5.2 merge window. But the last-minute pull requests really weren’t big enough to justify delaying things over, and hopefully the merge window timing won’t be all that painful either. I just happen to have the college graduation of my oldest happen right smack dab in the middle of the upcoming merge window, so I might be effectively offline for a few days there. If worst comes to worst, I’ll extend it to make it all work, but I don’t think it will be needed. Anyway, on to 5.1 itself. The past week has been pretty calm, and the final patch from rc6 is not all that …

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