Skip to content

Yocto Builds with CROPS Containers

In a recent post Using Docker Containers for Yocto Builds, I suffered an episode of NIHS (not-invented-here syndrome). I wrote a Dockerfile for Yocto builds. Stefan Agner pointed out in his comment that the CROPS project provides ready-made containers for Linux distributions like Ubuntu, Fedora and others. The crops/poky-container enables us to start our first Yocto build within minutes.

Read More »Yocto Builds with CROPS Containers

Running Neural Networks on Microcontrollers

3D face recognition, voice control and image recognition of faulty or fake parts were all the rage at Embedded World 2019. The trend towards performing these applications offline – without access to powerful compute servers in the cloud – was obvious. However, these applications require powerful CPUs with equally powerful GPUs to run predictions on deep neural networks.

I was interested in solutions that run (deep) neural networks (NNs) on microcontrollers (MCUs). And, Embedded World didn’t disappoint! Renesas showed how to predict motor failure by monitoring current and vibration. STMicroelectronics had a demo counting the cars driving by using the characteristic sound of the Doppler effect. That’s what I would call the “edge”!

Read More »Running Neural Networks on Microcontrollers

Using Docker Containers for Yocto Builds

We want to build a custom Linux image with Yocto for the Raspberry Pi 3 model B (BCM2837). The Linux image contains a very simple Internet radio application using Qt 5.11 and the eglfs graphics backend. Our colleagues shall be able to repeat the build easily – now, in three years and even in ten years.

I’ll explain why Docker is an excellent choice to build custom Linux images and give you a step-by-step guide how to do it. At the end of the post, you will be able to run a simple Internet radio on a custom Linux image on a Raspberry Pi 3.

Read More »Using Docker Containers for Yocto Builds

Book Review: “It Doesn’t Have to Be Crazy at Work” by Jason Fried and David Heinemeier Hansson

My favourite business book of 2018 is It Doesn’t Have to Be Crazy at Work by Jason Fried and David Heinemeier Hansson. The reason why people work crazy hours is not that there is

[…] more work to be done all of a sudden. The problem is that there’s hardly any uninterrupted, dedicated time to do it. People are working more but getting less done. It doesn’t add up – until you account for the majority of time being wasted on things that don’t matter.

The authors call out working crazy hours for not being “a badge of honor” but “a mark of stupidity”. Yes, it’s good to hear this from people who know what they are talking about. Jason is the CEO and David the CTO of Basecamp, which they have been running very successfully since 2003. They describe in the book how – at Basecamp – they replaced crazy at work with calm at work.

Read More »Book Review: “It Doesn’t Have to Be Crazy at Work” by Jason Fried and David Heinemeier Hansson

High-Speed-Data (HSD) Connectors in Heavy-Duty Vehicles

In a recent blog post, I suggested to replace multiple display computers in a driver cabin by one computer in a silver box with multiple displays. I didn’t specify which connectors and cables to use between computer and displays. I found the answer at Electronica 2018 last week: High-Speed-Data or HSD connectors. You can use HSD connectors for LVDS (including Display Port), APIX, CAN, USB 2.0, USB 3.0, Ethernet and Firewire.
Read More »High-Speed-Data (HSD) Connectors in Heavy-Duty Vehicles

Seminar “Open-Source Management in Software Supply Chains”

On 20 November 2018, the law firm Bird & Bird hosted a seminar about “Open-Source Management in Software Supply Chains – Effective and Consistent License Compliance” in their Frankfurt office. The seminar was organised by Miriam Ballhausen, who is Bird & Bird’s specialist in open-source Licensing.

The seminar offered the opportunity to meet two of Germany’s top lawyers for FOSS license compliance: Miriam Ballhausen and Catharina Maracke. If you have any questions about how to comply with FOSS licenses, Miriam and Catharina will give you invaluable counsel.

The roughly 25 attendees hailed from very different industries: automotive, agricultural, financial, medical, manufacturing and IT services. In late 2018, you cannot escape FOSS: Free open-source software has arrived in the mainstream.

Now, let me give you a summary of the four talks.
Read More »Seminar “Open-Source Management in Software Supply Chains”

Tremendous Speed-Up with SQL Transactions

The function CustomerDatabase::importCustomers reads 500 customers from the list c_customers, creates an SQL query cmd for each customer and inserts each customer into the Customers table of the SQL database db.

void CustomerDatabase::importCustomers() {
    auto db = QSqlDatabase::database("CustomerDB");
    for (auto row : c_customers) {
        auto cmd = QString{"INSERT INTO Customers "
                   "(fullName, street, postalCode, city, phone, email) "
                   "VALUES (\'%1\')"}.arg(row.join("\', \'"));
        auto query = QSqlQuery{cmd, db};
    }
}

On an NXP i.MX6 SoC with four Cortex-A9 cores, this function takes 17.5 seconds! Your user would have to wait more than 17.5 seconds for the import of a CSV file with 500 customers to finish. This is unacceptable. How can you speed up the import to 0.2 seconds?
Read More »Tremendous Speed-Up with SQL Transactions