Benchmarking NXP i.MX 6UltraLite and Marvell PXA166, PXA168 ARM CPUs

Technology has become more than just a battle of sheer numbers. It has somewhat morphed into a “less is more” philosophy to see what’s possible with less. We pitted these three ARM CPUs together to find out if there are any positive impacts to using a slower clock speed CPU:

What we found is very promising in that in most tests, the 696 MHz i.MX 6UltraLite provided a huge advantage over the 800 MHz PXA166 and even the 1066 MHz PXA168. Let’s take a quick look at our findings.

Continue reading “Benchmarking NXP i.MX 6UltraLite and Marvell PXA166, PXA168 ARM CPUs”

Soil Moisture Sensor Example Project

Introduction

I say, if your knees aren’t green by the end of the day, you ought to seriously re-examine your life. ~Bill Watterson, Calvin & Hobbes

Green-thumbed techno junkies rejoice!  For today, we’re going to take an introductory, prototype look at what it takes to digitally monitor the soil moisture content of a common houseplant so we know when to water it.  We’re talking about using a single board computer to read from a soil moisture sensor from an Analog to Digital Convertor (ADC) and toggle an indicator LED using Digital Input and Output (DIO). Specifically, we’re going to be using a TS-7250-V2, but this guide can apply to many different boards.

Continue reading “Soil Moisture Sensor Example Project”

Creating a Human-Machine Interface (HMI) Web Application

Simple Embedded Monitor and Control Dashboard

Final HMI Web Application
Final HMI Web Application

In this guide, we’re going to learn how to create a very simple PHP web application that will read and display real-time CPU temperature data and control an LED using javascript AJAX calls from a web browser anywhere in the world. In the real world, you’d want to monitor something more interesting, like equipment or sensors connected to ADC, CAN, RS-485, RS-232 ports and other GPIO pins. Or how about monitoring voltage input? You’d also want to be able to control your connected equipment using digital output signals. This guide provides an introduction to the concepts that will help get you started in the right direction. All source code is available in the tarball hmi-example-web-app.tar.

Continue reading “Creating a Human-Machine Interface (HMI) Web Application”

Getting Current Voltage Input (VIN) on TS-7250-V2

Here’s an example program our engineers might find useful. Jesse Off, our lead engineer, wrote this simple program to get the voltage input (Vin) on the 8 – 28 VDC power rail on the TS-7250-V2 (Rev. B only). Without going into too much detail about implementation of the SiLabs microcontroller, there is a register which is used to store various ADC values, including Vin. This example program basically polls this 19 byte register via I2C interface, accounts for the voltage divider (see TS-7250-V2 schematic), and spits out the Vin value. So, without further ado, here’s the code:

Continue reading “Getting Current Voltage Input (VIN) on TS-7250-V2”

Practical Guide to Getting Started with the TS-7250-V2

Introduction

This guide will walk you through the basic steps of getting your TS-7250-V2 up and running. It’s mostly an extrapolation from the official TS-7250-V2 Manual, but provides a more practical approach in setting up common connections, networking, and environments to begin development.

Connections

Let’s get our TS-7250-V2 hooked up! This includes our very basic connections we’ll need for most any development or project: power, serial console, and Ethernet.

TS-7250-V2 with power, console, and Ethernet
TS-7250-V2 with power, console, and Ethernet

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