embedded systems


  • In 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)…

    Blog
  • In 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…

    Blog
  • Editor'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 Input/…

    Blog
  • In 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.BackgroundAs we'll see in future…

    Blog
  • After 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…

    Blog
  • ICS turned heads at this year's embedded world North America show, held in Anaheim, CA last week. The buzz on the show floor was all about what happens when intelligence moves to the edge. And that's exactly where ICS took center stage. Packed with demos, our booth showcased the possibilities for a…

    Blog
  • In today’s connected world, cybersecurity isn’t something you tack on at the end—it’s as essential to your design process as hardware specs and UX. Whether you're building medical devices, industrial controllers – even smart-home systems – getting security right from the start protects your users,…

    Blog
  • As medical devices grow increasingly complex and connected, the need for responsive and reliable user interfaces (UIs) has never been more crucial. From patient monitors to infusion pumps, medical device UIs must be intuitive, lightweight and resource-efficient to ensure optimal performance. That’s…

    Blog
  • The answer is yes.And no.Let us explain. Flutter has emerged as one of the most popular frameworks for cross-platform mobile app development. It enables developers to build visually stunning, high-performance applications for iOS, Android, web, and desktop using a single codebase. However,…

    Blog
  • When it comes to choosing the right board or System on Module (SoM) for your software project, the sheer number of options available can feel overwhelming. Whether you're building a simple embedded application or a complex, resource-intensive system, the underlying hardware you select plays a…

    Blog
  • 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…

    Blog
  • If 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…

    Blog
  • Your 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…

    Blog
  • In 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…

    Blog
  • Increased 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…

    Blog
  • Embedded 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…

    Blog
  • Your 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…

    Blog
  • When 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-…

    Blog
  • Developing 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…

    Blog
  • Building 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…

    Blog
  • Product 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…

    Blog
  • Successful 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.…

    Blog