Harnessing Infineon Traveo T2G MCU for Qt Applications

Bringing a product to market and unsure of the hardware and software requirements needed for your GUI on MCU? Or perhaps you have a product on an MPU already and are considering switching to MCU? These are the question we at Witekio, alongside our partners Qt Group and Infineon Technologies sought to answer in our […]

Best Practices for Embedded Security

Embedded device security is not always a straightforward pursuit. Devices are more complex, more connected, and more numerous. Regulation and legislation also increase the pressure on OEMs to maintain the highest security standards. How can device makers build secure embedded systems, and what role does hardware play? What are the best practices in embedded security, […]

Why Is Embedded Software Development Still so Hard?

With all the advancements in tech and tooling, you would be forgiven for thinking that embedded software development was easy, or at least easier. Sadly, this is not the case. What is happening in the world of embedded development and how can we simplify things for OEMs? Fortunately for you, Witekio CEO Samir Bounab sat […]

IoT Security Solutions – Trends and Best Practices

In a world dominated by connectivity challenges, time is a luxury. Witekio’s recent webinar, featuring tech experts from Avnet, isn’t just another discussion; it’s a roadmap for decision-makers like you, offering swift solutions to the pain points that often plague OEMs. We delve straight into the experts’ insights on tackling connected solution intricacies in our […]

Application Development with GStreamer

App development is rarely a simple task. Modern connected devices are often accompanied by feature-rich applications that users expect to use on multiple platforms. Integrating multimedia, such as audio and video, is more and more seen as the norm, rather than the exception. How do we do it here at Witekio? We can’t give away […]

How to Migrate Qt from MPU to MCU

Developing attractive and intuitive applications for microcontroller units (MCUs) is no longer a pipe dream, but a crucial aspect of modern software development. The demand for MCU-based applications has increased significantly due to hardware cost and resources, and as the MCU hardware landscape evolves, we see more device makers than ever weighing up their choice […]

Navigating the chip shortage using embedded software

During this year’s Engineering Design Show, a panel of Witekio experts took to the stage to discuss practical chip shortage workarounds with embedded software. You can see the highlights of the team at EDS, below: As the topic is something we’re helping our clients with more and more, we decided to condense the hour-long workshop […]

Yocto Tutorial – Our Webinar Takeaways

The team have got the gang back together to take on part two of our Yocto Tutorial after the smashing turnout for the Witekio and Mender.io part one. The latest instalment, which tackled the Yocto topic of understanding variables and overrides, proved just as popular and was broadcast live across the Witekio YouTube, LinkedIn and Twitter channels (no pressure ).   As […]

Agile HMI Development

As the new Content Manager, I was extremely excited to hold my first ever Witekio Webinar! The event (in partnership with Qt) was on the importance of agile methodology when developing HMIs (Human Machine Interfaces) for products. Apart from a few blunders on my end (e.g. I forget my name ) the session was a […]

A story of an agile coach, sprint cycle and a snake

Be an Agile Coach in an Agile Company It’s always interesting to join a new company as you arrive with an outsider’s view on projects that may have been in progress for some time. I experienced this when I arrived at Witekio – an agile company but one where staff are still learning about agile […]

Yocto Vs. The Competition: Which Is the Best Build System for You?

Open-source build systems like Yocto and Buildroot have made it simple to generate Linux embedding to the point that any developer can create a distribution for most architectures and platforms. But which build system is the best? At Witekio, we have experience in a range of build systems, but we’re big fans of using Yocto […]

Webinar – Leveraging Software Power on a System in Package Platform – Octavo – STM32

Witekio recently hosted Leveraging Software Power on a System in Package Platform, an exclusive webinar with partners Octavo and STMicroelectronics. Over the course of an hour experts from the three companies explained the benefits of the System in Package (SIP) platform for companies building out their IoT offering. The Speakers Speaking on behalf of ST, […]

Eight Ways to Up Your Qt on Embedded Linux Game

There are plenty of resources out there to explain how to develop with Qt for embedded software, and for embedded Linux systems. For developers, it’s a popular choice and it’s easy to understand why. Qt comes with APIs out of the box making development faster, has a range of different development accelerators to keep things […]

Linux Debugging and Maintenance

Debugging is an integral part of every embedded and IoT software engineer’s role. Pushing working, secure, and robust firmware or embedded software to a device and then never returning to that software when new kernel versions or security patches are released is incredibly shortsighted. Instead, the best engineers understand that returning to the code to […]

Creating advanced GUI for STM32

Our Experience with Qt for MCUs Qt has long been known as one of the premier toolkits for developing graphical user interfaces (GUIs) and cross-platform applications. Dozens of the best-known consumer and industry applications are built with Qt including Google Earth, Adobe Photoshop Elements, VLC Media Player, and the secure messaging application Telegram. Qt is […]

How to compile a Xamarin.Mac Application on Azure DevOps?

As you’ll gather from the previous articles in this series – Why Try Azure DevOps? and Azure DevOps: Ten Steps to Create Your First Pipeline – Azure DevOps is very flexible and there is no shortage of documentation.  You’ll also understand that – being a Microsoft product – all of the publisher’s technologies are present on Azure DevOps and many tutorials/documentations are available to help you get going: UWP, WPF, WinForm, Xamarin.Android and Xamarin.iOS (the latter two my obvious favorites).  Unfortunately, though, one is missing: Xamarin.Mac.  […]

How to Update a Deep Learning Model on STM32MP1 with FullMetalUpdate

No IoT device can be free from updates and so no IoT project can disregard the importance of delivering those updates. Whether firmware changes, security patches, or upgrades to the core embedded or application software, updates present a challenge for IoT manufacturers and users alike. Today updates to IoT devices are most commonly delivered wirelessly […]

Tips on energy optimization in IoT – Low Power IoT Devices

You said IoT Energy Efficiency ? The increasing ubiquity of IoT devices and the rise of edge computing on those devices makes energy-efficient IoT a core focus of many device makers. It is, after all, one thing to deploy devices widely but quote another to ensure that they can operate independently and with energy-efficiency, particularly for […]

Connecting an Avnet MaaxBoard to Azure IoT

Recently, we wrote about how to connect a Raspberry Pi to AWS IoT and talked about how connecting hardware to the cloud can enable richer and more meaningful customer experiences. In this guide, we’d like to continue demystifying the process of connecting IoT devices to popular cloud services by helping you learn how to connect an […]

Adding Rollback to FullMetalUpdate

How we made sure your system cannot brick during an OTA update  FullMetalUpdate is the first open-source and fully integrated solution for updating your IoT devices flexibly and robustly Over the Air (OTA). Yet even with control and availability, an OTA update might still fail and a device may end up bricked, not only without the update but entirely out of […]

Azure DevOps: 10 Steps to Create Your First Pipeline!

In my previous article, I explained what Azure DevOps is and all the tools it includes. But for me, the most interesting part of Azure DevOps is the pipelines, and that’s what I’m going to focus on in this article.  Before we get started, let’s go back to basics.   In DevOps, a pipeline is a series of automated actions that allow you to compile, generate, package, test and deliver a solution with minimal […]

Why try Azure DevOps?

As a cross-platform mobile developer I am interested in every technology that allows me to design mobile applications: Native, Xamarin, Flutter, the list goes on! This also means I’m a fan of languages like Java, Swift or C.   However, when it comes to software design there have always been two worlds: development and operations. DevOps aims to unite these two worlds by […]

How to Connect Your Raspberry Pi to AWS IoT?

Can Raspberry Pi connect to Aws IoT Core ? At Witekio, we work with companies all over the world who need help building everything from interactive screens to industrial equipment. In recent years, we’ve seen that powering the best customer experiences and most reliable applications means leveraging cloud solutions like AWS IoT Core. For anyone […]

High assurance device security with CAAM encryption keys

The number of embedded systems is growing fast. One of the industries making use of them is the car industry. And Self-driving vehicles are pushing systems to the limits as they are equipped with a lot of sensors, network connectivity and processors based on many heterogeneous specialized SoCs. The number of security vulnerabilities and thus, […]

3 Steps To Create Your Library With Xamarin.Mac

Why should you create an Objective-C library with Xamarin.Mac? Xamarin has long been recognized as an interesting framework for the creation of cross-platform applications, especially for iOS and Android. If you are a fan of C# and its many advantages, this is the framework for you. Of course, Xamarin also offers the opportunity to port […]

Secure Boot on NXP i.MX 7

What is Secure Boot in Embedded Systems? Or High Assurance Boot (HAB): why do you need it and what do you need to be aware of? In today’s connected world, IoT devices reach into every phase of modern life. From household appliances to automated cars, smartwatches to smartphones in your pocket, the heap of form […]

We Tried Squish: An Automated GUI Testing Tool

When designing a graphic application, making sure it works all the way through development can become complicated. Unit tests cover possible regressions of the functional logic, but how do you make sure that the graphical part is always hunky-dory? Tools do exist, automated testing frameworks, to ensure that the graphical part of your UI does […]

IoT Edge tutorial: build our own autonomous robot

An IoT Edge Demo instead of words! In my previous article I covered edge computing, edge IoT, why it matters, what is it, how it works and the benefits it can bring you. Now that we’ve talked quite a lot about the theory, let’s get down to brass tacks and try out Azure IoT Edge […]

IoT Dashboards : Thingsboard Examples

Thingsboard is an open-source IoT solutions platform for data collection, processing, visualization and management. It allows to create advanced dashboards. This tool offers device connectivity through industry-standard IoT protocols—MQTT, CoAP and HTTP—and supports cloud and on-premises deployment. Thingsboard combines scalability, fault tolerance and performance to ensure that you never lose your data. There are many […]

A Fully Integrated Device Software Update Solution

Over The Air software update is a crucial topic for IoT devices, especially now that IoT is entering the realm of complex devices and industrial processes. Updating means enhanced security, enhanced functions, enhanced customer experience. It is key for innovations life cycle, be it the update of middleware or applications. Existing device software update solutions […]

Why UX design matters and how to implement it?

What is the methodology to achieve UX design and give your innovation maximum chance of success? Obviously, innovation is the key to growth. Especially in the period, we are experiencing which is bringing with it the complete digitization of society. Every day new ideas for innovative products see the light of day. However, the snag […]

OSTREE Tutorial for your system updates

Whatever type of embedded system or IoT solutions you create today, you will need to update it tomorrow. Either because there are new security patches or simply for an improved version of your application. But a new system update could just mean one line of code was changed and ideally should not lead to a […]

Authentication Management: Focus On Keycloak

In today’s world, security is ubiquitous. At home, at work, on the road, on your phone: even your private diary is security-protected. For unlocking all this we use keys, passwords, security plans, fingerprints and even facial recognition. So many security systems, and so many passwords to be created! The “digital identity” was therefore created so […]

Design Thinking: The Key to Winning in the IoT Space

The Internet of Things (IoT) market has been skyrocketing. A recent market analysis published by the Boston Consulting Group predicts that by 2020, $267B will be spent on IoT technologies, products, and services. Such growth is driving many companies to enter the market, with hopes of snagging a piece of the pie. Obviously, not every company launching […]

Let’s dig into Scrum Agile method

What is Scrum Agile? The term “Agility” defines project management principles that counteract more traditional paradigms, such as “Cycle V” or “Waterfall”, to think more about the “Product” rather than the “Project”. The Scrum-Agile approach aims to reduce the tunnel effect by making project progress phases clearer and by involving the customer from the start […]

LoRaWan, a dedicated IoT network

Since the last few years, a rise of connected objects has taken place. It is even predicted that the world will have 30 billion connected devices by 2020. Developing a connected device is not easy, many smart device manufacturers face a shared technical challenge:  How to make devices communicate? There are today a multitude of technological […]

Turning on an ARM MMU and Living to tell the Tale: Some Theory

In my latest article ”Create your own MLO for a Beagleboard XM”  I wrote some bare metal code which ran on a BeagleBoard xM as an MLO – I’d like to extend this by running this code with the MMU switched on. I want to write the absolute minimum amount of code required to turn on an ARM MMU and to come […]

TPM: Basic applications to embedded devices

Trusted Platform Module: security of your embedded system, what are the basics, and how to use this with Linux? Nowadays, IoT security is an issue of high concern, whether in companies or personal networks, each connected device plays an important role in sensible data transfer and thus impacts the overall security. That’s where Trusted Platform […]

cat /proc/meminfo : MemTotal

Linux manages its physical memory in clever and often efficient ways – as a result, it’s not uncommon to only think about how the memory in your system is being used when we run into performance issues. And this is where the frustration can begin – without fully understanding how memory is managed, it can […]

Move to agility? Only one method: SCRUM

Agility has been a buzz word for quite some time now. It started in the early years 2000 and curiosity for Agile methods does not weaken. They are still considered as the miracle formula to adapt projects to customer needs and be able to deliver the product of their dreams. But when you start investigating […]

GCC Weak Symbols

GNU’s GCC has a useful (and perhaps not very well known) feature known as ‘weak symbols’. I first discovered this a while back when building a Linux kernel – however unbeknown to me the Linux kernel makes great use of GCC weak symbols yet the compiler I used did not correctly support them. Rather than […]

An introduction to heterogeneous multicore processing architecture

Why would you need a heterogeneous multicore processing architecture? Nowadays people look to achieve high-performance processing and low power requirements for their IoT solutions devices. They also look for a high degree of functional integration and want to perform complex operations with them. All these products are targeted towards a growing market of connected and […]

Understanding I/O Wait (or why 0% Idle can be OK)

During the development of an embedded Linux based product it’s not uncommon to reach a point where the features of the product are seemingly demanding too much from the CPU. When this happens and features start to stutter the first point of call is often ‘top‘ – this often results in the dreaded realization that […]

Create your own MLO for a BeagleBoard XM

Before I started playing with the BeagleBoard XM I’ve had never booted a board directly from an MMC card and I didn’t have a clue what an ‘MLO’ file was. After some research on the internet, it seemed apparent that it was used in place of the traditional first stage boot loader: XLoader. In fact […]

Using ‘delay_use’ to speed up USB Enumeration

Whilst investigating ways to improve the cold boot time of embedded Linux I came across a little-known control parameter of the USB stack known as ‘delay_use‘. It’s a parameter that describes the amount of time given to Mass Storage Devices to allow them to ‘settle down’ before being used. This article examines ‘delay_use’ and identifies […]

I2C in the 2.6.32 Linux Kernel

The other day I forward-ported an old and abandoned touch-screen driver to the shiny new 2.6.32 Linux kernel. A small portion of the work was to bring the driver in-line with the latest I2C framework (notably due the removal of detach_client from struct i2c_driver since 2.6.31 in favour of the new device driver binding model). This […]

Software Factory #1: Why it matters ?

Software is everywhere. You probably have heard about it. Many organizations are disturbed in their original business by the arrival of software. Changes in culture, tools and processes are needed. This is the first article of a series that will give you some ideas on the state of the art of a modern organization, as […]

A Challenge called boot time

IoT devices require boot time optimization Building a Linux image on any processors with any graphical libraries as Qt, Cairo, Enlightenment… is getting easier and easier. Those builds are provided by the silicon vendors and are working out of the box. But they are also overloaded with functionalities that might or not be necessary for […]

Understanding vmalloc region overlap

I recently came across the following disconcerting message in my kernel’s boot output: vmalloc region overlap Which is the kernel’s way of saying “I understand there may be some RAM here – but I’m not going to use it all”. So what is the cause of this warning? And what do we need to do […]

Turning on an ARM MMU and Living to tell the tale: The code

Our goal here is to create a simple identity mapping across the entire address space between virtual and physical memory addresses – such that the following formula holds true: 1 virtual address = physical address In other words, the address space from the processor’s point of view (or anyone else’s POV for that matter) will […]

Software Factory: Continuous Integration, Delivery & Deployment are keys.

The 3 main steps of a Software Factory, Continuous Integration, Delivery & Deployment   Developing and releasing software is quite often a complicated process. Some challenges companies are faced with, are either related to Field, development within multi-sites teams (inside a multinational company) and reduction of time to market. To face these challenges while still […]