embedded systems
ICS made a splash at October’s embedded world North America conference and exhibition – the global platform for the embedded industry – with a brand-new 20 x 30 booth packed with interactive demos showcasing everything from software-defined vehicles and industrial IoT to AI on the edge and…
BlogIf you’ve been following tech news lately, it’s hard to ignore the wave of discussion surrounding advances in artificial intelligence (AI). It's striking how techniques that were once deemed theoretical or overly complex back in the ‘90s are now integral to everyday AI applications. The journey of…
BlogYour project will use or is already using Linux. You “just” need the operating system to work. So, what do you do? From where I sit, the smartest answer is to engage an OS engineer, pronto!You knew I would say that, right?? So, to back up this statement I’ll explain why it makes sense to get…
BlogIn the realm of software development, choosing the appropriate framework is paramount to project success. When considering cross-platform application development, two prominent options are Qt and Flutter. Qt, established pre-1995, boasts a robust toolkit built on C++, providing versatility beyond…
BlogIncreased complexity.That’s the overarching takeaway from the 2024 Embedded World Exhibition & Conference, held April 9-11 in Nuremberg, Germany. Embedded World brings together the global embedded community – last year more than 950 exhibitors and 27,000 visitors participated – and provides a…
BlogEmbedded software development is undergoing significant transformation – and trending toward greater complexity – driven in large part by the transition from conventional embedded systems to Industrial Internet of Things (IIoT). The move toward IIoT has broad implications, including cybersecurity…
BlogYour customer asked you to build a Linux-based device. You’re a skilled developer but not experienced with embedded Linux. Here’s a quick overview of the key elements of Linux-based development you’ll need to master in order to successfully move from working prototype to Minimum Viable Product (MVP…
BlogAfter a hiatus of more than a year, I wanted to pick up this blog series and cover another GPIO library available on Linux. Since the last time I wrote on this topic, this library has become more widely supported and available on platforms like the Raspberry Pi, so the time was right to explore it…
BlogIn this third installment of the blog series on FreeRTOS, we'll look at some sample code and I'll present some ways you can get started on various platforms. And if you're enjoying this series, be sure to register for our live webinar An Introduction to FreeRTOS, which will run Thursday, February…
BlogIn this blog post, the first of a three-part series, I'd like to introduce FreeRTOS, a popular and freely available Real-Time Operating System (RTOS). You may not be familiar with the concept of an RTOS or why you would use one, so we'll cover that in this first installment. What is FreeRTOS?…
BlogWhen I was young, I had to navigate five-foot snow drifts in blinding snowstorms, walking uphill in both ways on Saturdays — just to be able to type in my program on a keypunch. Back then, we all knew that assembly code (Autocoder in my case. Google it.) was the only way to program. Those new-…
BlogDeveloping an embedded product is a complex affair and often involves multiple teams working in parallel to achieve the common goal of shipping the product to market. It is not uncommon to find oneself in a situation where one of the teams is dependent on a critical part being delivered by another…
BlogBuilding a new device challenges the skills of a software engineering team to the extreme. Although code reuse has been the motto of software development for years, in reality very little code is re-used (aside from personal “tricks”). In fact, most code isn’t written to facilitate reuse because of…
BlogProduct owners are responsible for identifying market needs, writing the business plan, convincing senior executives to invest in the product, managing the budget and timeline, and making hard tradeoffs when needed. As such, they’re constantly worried about whether the product will be accepted in…
BlogSuccessful touch devices appear deceptively simple to the user. In reality, they are highly complex and challenging to build because they require so many different skills. Each device requires custom hardware, touchscreen, operating system and web connectivity, as well as custom software.…
BlogIn this post, part 8 in our series on GPIO programming, we'll look at libsoc, a cross-platform library intended for low-level embedded programming, including GPIO. (If you missed part 7, read it here.) Libsoc [1] is a C library to interface with common peripherals found in System on a Chip (SoC)…
BlogTo facilitate hands-on labs for GPIO programming in our embedded training classes, ICS designed a small board that connects to a Raspberry Pi (or compatible) computer's GPIO connector and provides some simple functions for experimenting with GPIO programming. The functions provided are: Red,…
BlogIn this blog post we'll look at basic GPIO control using the sysfs interface provided by the Linux kernel. We won't need to do any programming as we can do this from shell commands. I'll show some examples that will work on the Raspberry Pi platform. Background As we'll see in future…
BlogIn part 2 of our series on GPIO programming, we look at the hardware capabilities of the Raspberry Pi's GPIO interface. As you probably know, the Raspberry Pi is a family of low cost single-board computers developed primarily for education by the non-profit Raspberry Pi Foundation. To date…
BlogEditor's note: This 2019 blog series, among ICS' most popular, has been updated (December 2022) to ensure the content is still accurate, relevant and useful. This blog launches Integrated Computer Solutions' (ICS) new series on GPIO programming. GPIO, or General-Purpose…
BlogAs 2016 draws to a close, I'd like to take a look back at some of the significant events of the past year that are relevant to the Qt framework and the ecosystem around it. Qt Releases Starting in 2016, Qt 4 was officially at end-of-life status and no longer supported. The last release was Qt 4.8…
Blog