Our Blog

Qt Development: Challenges and Strategies for Efficient Code Inheritance

Developing software based on preexisting code is an art in itself. When this challenge is combined with the use of the Qt framework and an inefficient legacy architecture, the complexity and opportunities multiply. In this blog, we will explore not only the benefits and challenges of inheriting code in the world of Qt but also how to address an inefficient legacy architecture and face the eternal dilemma of investing time in redesign versus saving time by maintaining the existing architecture.

January 16, 2024

How can Raspberry Pi's potential be unleashed in developing HMI applications for IoT with intensive loads?

Unlocking the Raspberry Pi's full potential for developing HMI applications for IoT involves a symphony of components, from the nimble Buildroot OS to the versatile OPC UA Server, TCP/IP Server, Serial Interface, RDP, SFTP, Camera, and seamless OS updates. Each element plays a pivotal role in enabling efficient communication, remote access, and adaptability, making it an ideal solution for the challenges of demanding industrial scenarios.

January 2, 2024

Digital FPGA & ASIC design - Clock domain crossing (CDC)

The principles of synchronous digital design state that we must have a clock, which will nicely mark the rhythm of the different signals traversing our device. We can think of this clock as a sort of orchestra director, which will make sure that everyone does its job exactly when it is required - not before, nor after.However, complex digital designs will often have more than one clock domain. When this happens, it is like having a whole new orchestra, playing side by side to the old one. If we keep them away from each other, they will both play independently, each at its own pace - but what happens when we need to make them play together? Which director will the different instruments follow? What happens when one orchestra needs to “borrow” a player from the other one in the middle of the concert? This is the problem we face when dealing with clock domain crossings, or CDCs.

November 21, 2023

Relevance of PCB Design in the Current Industry

In an increasingly interconnected world, where electronics span from mobile devices to autonomous vehicles, communication systems and high-precision medical systems, PCB design stands as a crucial foundation for innovation. It provides the physical and electrical structure that enables devices to function correctly and communicate efficiently with each other.

November 21, 2023

Randomization with Systemverilog

Developing a test where simulation parameters are randomized enables achieving better coverage of the DUT’s state space by simulating different test seeds. This methodology reduces the time required for test creation and maintenance. If a directed test is required, it can be created by adding constraints to the random test.

November 21, 2023

Linux for Embedded Devices - Third Approach

In the previous article, we looked at how hardware starts, found the bootloader, loaded the kernel, searched and configured the drivers and started the user space .In this article we must deepen in the user space initialization process.

November 21, 2023

Management of complex projects

Today, more than an article, we are giving you a presentation that was made internally to give a small overview of some tools, frameworks and strategies that can help us lead projects or better understand the processes that must be done to successfully meet the projects with the objectives. that we work every day. It is important to gain a deeper understanding of project planning and execution, which is accompanied by challenges and setbacks. When leading complex projects, different types of complexities can arise, from their structure and scope to their changing nature, along with power and political dynamics within the project team and external stakeholders. I hope you like it and can learn a little more about project management.

November 21, 2023

Integrate an OPC UA Server into an embedded or PC application using the QT platform

In today's post we will introduce you to automating industrial or Internet of Things equipment through an API developed with the OPC UA standard using QT as a development platform. QT allows you to create cross-platform applications, so you could create an application that runs both on a PC and on an embedded system like a raspberry pi.

November 21, 2023

Linux for Embedded Devices - Second Approach

In the previous article, we saw what Linux is, what it is suitable for, and what is the basic structure from a kernel view. In the present article we discussed, deeper, what is the structure of that called userland.

January 16, 2024

Linux for Embedded Devices - First Approach -

Linux is a very popular operating system in many computer systems and it's a first choice on data centers and high end software infrastructure, but the flexibility of the penguin’s kernel made this to be very suitable for extremely low end devices. Come with me and discover the blessings and curses of the linux kernel in embedded systems, low resource devices and (not-so-)hard-real-time things.

January 16, 2024