Robust C Library and Utility for GPIO sysfs Interface in Linux

This is a comprehensive and easy to read example C code designed to work alone or included as a library for dealing with general purpose I/O via the sysfs interface in Linux.  It can easily be applied to any computer which utilizes the GPIO sysfs interface (both pro and maker boards).  Getting started is a breeze.  You just need to decide if you’re going to use it as a library, including it into your existing code, or as a stand-alone utility.  We’ll talk about both in this article, but first and foremost, here’s the source code we’ll be working with:

https://github.com/embeddedarm/gpio-sysfs-demo

Continue reading “Robust C Library and Utility for GPIO sysfs Interface in Linux”

The Weather Outside Is Frightful (Or Is It?)

Blistery cold weather is starting to sink in, which ought to ignite an instinctual desire to get your house in order and monitor it so the water pipes don’t freeze and burst. So, we’ll take a timely look at a project setting up some temperature probes in various areas, reading them, and reporting in a custom dashboard. A true home automation expert would take things further by setting up relays to turn on heat tape or even maybe some actuators to control water flow. Maybe next year, but for now, we just want to be able to monitor important areas of our home (in this case a cabin in Montana) and understand temperature patterns over time for better planning. As with most projects, there is more than one solution, especially if it depends on what you have on hand. At the time, the list of things in hand were as follows:

Continue reading “The Weather Outside Is Frightful (Or Is It?)”

Example C Code for Reading ADC Inputs on i.MX28 Based Embedded Systems

Let’s take a quick look at what it takes to read from the ADC inputs of a i.MX28 based embedded system using example C code provided by Technologic Systems. Now, while this can be generically applied to many i.MX28 based embedded systems, we’ll be working with a TS-7680. Right, let’s get started!

Continue reading “Example C Code for Reading ADC Inputs on i.MX28 Based Embedded Systems”

Practical Guide to Getting Started with the TS-7600

This practical guide gives us an opportunity to take a relaxed approach to getting started with the TS-7600 single board computer paired with the TS-ENC750 enclosure with TS-752 baseboard. We’re going to take a look at how to make our first connections, talk about the Linux environment, and setup the network. These are usually the first things we do before starting development. In the grand scheme of things, this is just a friendlier extrapolation from the official TS-7600 manual, so be sure to keep it handy for more advanced topics and specific details. The only assumption being made is that you’ve purchased the TS-7600 with a development kit, including the pre-programmed microSD card and TS-ENC750 and TS-752 baseboard. Right then, let’s get started!

Continue reading “Practical Guide to Getting Started with the TS-7600”

Getting Started with Node.js on an Embedded Single Board Computer Running Linux

The purpose of this guide is to assist in installing node.js on a Single Board Computer running Linux, and creating a simple, lightweight web server application which serves up a “Hello, world!” page.  Once it is complete you can add further functionality to extend it on your own.

Continue reading “Getting Started with Node.js on an Embedded Single Board Computer Running Linux”

Deionized Water: The Gold Standard for Electronics Cleaning

When washing electronic boards, a common concern among technicians is the purity of their water. Rightfully so because technicians don’t want filthy trace deposits left under and around sensitive components. Some might ask, “If water is bad for electronics, why wash them in the first place?” Washing boards is a common process in the electronics industry because when a board is manufactured or reworked, there is a substance called flux that needs to be removed or it will cause corrosion and longevity issues. Water is a readily available and an effective solution for removing flux. However, technicians need to choose the water carefully.

There are several different levels of water purity. Starting with the least pure option, typical tap water can be used for washing boards. The next quality improvement is using carbon filtered water which marginally helps with the contaminants in the tap water. A quality level above that is Deionized water (DI water) which is commonly used in the board washing process at high quality electronics facilities. Using DI water for the board washing process is optimal due to the absence of contaminants in the water. Because DI water is the purest form of water, electronics manufacturers focused on quality use this as a standard for board washing.

Continue reading “Deionized Water: The Gold Standard for Electronics Cleaning”

IoT, Here We Come! Ubuntu Core Announced for TS-4900

In a joint press release between partners Canonical and Technologic Systems, the pairing of Ubuntu Core and TS-4900 was officially announced.

We couldn’t be more excited!

We feel that Ubuntu Core is going to make a big splash in the IoT world for its security, ease of management, and flexibility.  Combine that with our rock-solid, industrial TS-4900 and you have yourself a reliable, production-ready IoT device.

We’re very honored to be featured in the Ubuntu booth at the Mobile World Congress in 2017.  For more information, please take a look at the press release, Bringing Ubuntu Core to the i.MX6 Based TS-4900.  If that isn’t enough to quench your thirst, take a look at our Ubuntu Core Powered Embedded Systems page.

 

Reach Out and Touch Something (Capacitive vs Resistive Touch Screens)

You only have to go as far as your corner coffee shop to realize the new human-machine interface (HMI) preference is screens. From the touchscreen Point of Sale systems to the multitude of people interacting with their phones and mobile devices, screens are king. Industry is following suit and the choice for HMI is quickly migrating away from the keyboard and mouse and towards the screen. With the abundance of touch screens on the market and the decrease in costs there has been a marked increase in their market share and penetration. When picking a screen it’s important to determine which is better for your purposes: capacitive or resistive?

Continue reading “Reach Out and Touch Something (Capacitive vs Resistive Touch Screens)”

Practical Guide to Getting Started with the TS-TPC-7990

Introduction

The goal of this practical guide is to get you through the basic steps of getting your TS-TPC-7990 up and running so you can begin development. It’s mostly an extrapolation of the official TS-TPC-7900 Manual, but provides a more practical and casual approach in setting up connection, networking, and general development environment.

Continue reading “Practical Guide to Getting Started with the TS-TPC-7990”

Collaborative Digital Signage Project

Real-Time Company Announcements and Information Using Multiple Touch Panel PCs

Abstract

This project aims to improve the communication of company events, key performance metrics, and collaboration through several strategically mounted touch panel computers (TPCs) throughout the building. It also serves as an inspirational digital signage application for potential customers using our TPCs. Skimming through the technical details, you’ll find the screens are powered by our very own TS-TPC-8950-4900, a 10” resistive TPC running Debian Linux, a fullscreen, kiosk-mode browser, and a custom node.js web app.

Continue reading “Collaborative Digital Signage Project”