## Quaternions and the spatial rotations in motion enabled wearable devices. Exploiting the potential of smart IMUs attitude estimation.

Have you always wondered what a quaternion is? this is your post. Attitude or spatial orientation analysis is a powerful element in wearable devices (and many other systems). Commercially available sensors can provide this information out-of-the-box without requiring complex additional implementation of sensor fusion algorithms. Since these are already on-chip solutions devices can serve as a way to explore and analyze motion in several use cases. Mathematical analysis for processing quaternion is presented along with a brief introduction to them, Although they are not really easy to visualise, a couple fairly simple examples are provided which may allow you to gain some intuition on what's the logic behind them.

## Peripheral Interaction Without a Linux Device Driver Using Spidev

November 20, 2022
Overview

When integrating a new peripheral onto an embedded Linux platform, we might think we always need to implement a kernel module to serve as a device driver. However, as we all know, absolutes such as “always” and “never” are rarely true. The same is true in this case. Implementing a device driver in kernel space on an embedded Linux platform should only be undertaken if the performance requirements of the final application demand it. In most instances, a userspace...

## Video-Based STEM Embedded Systems Curriculum, Part 2

October 25, 2021
Contents: Introduction

This post continues from part 1. It contains the first three lesson plans.

Lesson Plan 1: Introducing Arduino

This lesson is first because Arduino is the simplest programming environment, yet allows lots of interaction with hardware. In...

## Linear Feedback Shift Registers for the Uninitiated, Part X: Counters and Encoders

December 9, 2017

Last time we looked at LFSR output decimation and the computation of trace parity.

Today we are starting to look in detail at some applications of LFSRs, namely counters and encoders.

Counters

I mentioned counters briefly in the article on easy discrete logarithms. The idea here is that the propagation delay in an LFSR is smaller than in a counter, since the logic to compute the next LFSR state is simpler than in an ordinary counter. All you need to construct an LFSR is

## Unmanned Ground Vehicles - Design Considerations for Snow and Cold Environments

December 27, 2016

It's that time of year when the white stuff falls from the sky across the US, and with it comes lower temperatures. These conditions must be taken into consideration when designing a vehicle for outdoor use.

A few definitions from wikipedia:

Flurry: light, brief snowfall

Snow shower: intermittent snowfall

Light snow: over 1km visibility

Moderate snow: 0.5 to 1km visibility

Heavy snow: less than 0.5km visibility

Blizzard: lasts 3 hours or longer, sustained wind to 35mph, visibility...

## Basic Sensors for an Autonomous Vehicle

March 27, 2016

The following are a few basic sensors that can be used to help an autonomous vehicle navigate its environment.

The faster the vehicle is traveling, the faster the sensor must be processed.

Moving vehicles could knock something over or cause damage to a person or object if it collides with them.

Drop-off and line sensors function better when mounted to the front of the vehicle.

Drop-off and collision sensors should be mounted front and rear, if your vehicle can back up.

## Motion Sensor with Raspberry Pi and MPU6050 - Part 1

November 21, 2015

This blog will help you build your own, low cost 3-axis motion sensor using Raspberry Pi and Invensense MPU6050.

July 5, 2014

Recently, I was faced with a challenge to provide IP65 compliance in a product that had to have humidity and pressure sensors on it. The tricky part was to keep the cost of the unit under $15 while meeting this requirement. Under normal circumstances, one can put all the electronics within an IP65 enclosure that is affordable and readily available off-the-shelf most of the time such as the ones shown in this link. However, given the humidity and the pressure sensor need to be exposed to... ## Data Validity in Embedded Systems October 5, 20131 comment If you take a high-level view of software systems you might say that the overall goal of software is to generate outputs from inputs. It’s a gross simplification of a nuanced and complex field but the truth of the statement is unarguable: data goes in, is manipulated and then is spat out again.That’s what software does. The simplicity of the statement contributes to the joy of Computer Science majors who take an abstract view of everything from software to love but infuriates... ## How to Estimate Encoder Velocity Without Making Stupid Mistakes: Part I December 27, 201230 comments Here's a common problem: you have a quadrature encoder to measure the angular position of a motor, and you want to know both the position and the velocity. How do you do it? Some people do it poorly -- this article is how not to be one of them. Well, first we need to get position. Quadrature encoders are incremental encoders, meaning they can only measure relative changes in position. They produce a pair of pulse trains, commonly called A and B, that look like... ## How to Estimate Encoder Velocity Without Making Stupid Mistakes: Part I December 27, 201230 comments Here's a common problem: you have a quadrature encoder to measure the angular position of a motor, and you want to know both the position and the velocity. How do you do it? Some people do it poorly -- this article is how not to be one of them. Well, first we need to get position. Quadrature encoders are incremental encoders, meaning they can only measure relative changes in position. They produce a pair of pulse trains, commonly called A and B, that look like... ## Linear Feedback Shift Registers for the Uninitiated, Part X: Counters and Encoders December 9, 2017 Last time we looked at LFSR output decimation and the computation of trace parity. Today we are starting to look in detail at some applications of LFSRs, namely counters and encoders. Counters I mentioned counters briefly in the article on easy discrete logarithms. The idea here is that the propagation delay in an LFSR is smaller than in a counter, since the logic to compute the next LFSR state is simpler than in an ordinary counter. All you need to construct an LFSR is ## Basic Sensors for an Autonomous Vehicle March 27, 2016 The following are a few basic sensors that can be used to help an autonomous vehicle navigate its environment. The faster the vehicle is traveling, the faster the sensor must be processed. Moving vehicles could knock something over or cause damage to a person or object if it collides with them. Drop-off and line sensors function better when mounted to the front of the vehicle. Drop-off and collision sensors should be mounted front and rear, if your vehicle can back up. ## Peripheral Interaction Without a Linux Device Driver Using Spidev November 20, 2022 Overview When integrating a new peripheral onto an embedded Linux platform, we might think we always need to implement a kernel module to serve as a device driver. However, as we all know, absolutes such as “always” and “never” are rarely true. The same is true in this case. Implementing a device driver in kernel space on an embedded Linux platform should only be undertaken if the performance requirements of the final application demand it. In most instances, a userspace... ## Motion Sensor with Raspberry Pi and MPU6050 - Part 1 November 21, 2015 This blog will help you build your own, low cost 3-axis motion sensor using Raspberry Pi and Invensense MPU6050. ## Practical protection against dust and water (i.e. IP protection) July 5, 2014 Recently, I was faced with a challenge to provide IP65 compliance in a product that had to have humidity and pressure sensors on it. The tricky part was to keep the cost of the unit under$15 while meeting this requirement.

Under normal circumstances, one can put all the electronics within an IP65 enclosure that is affordable and readily available off-the-shelf most of the time such as the ones shown in this link. However, given the humidity and the pressure sensor need to be exposed to...

## Data Validity in Embedded Systems

October 5, 20131 comment

If you take a high-level view of software systems you might say that the overall goal of software is to generate outputs from inputs. It’s a gross simplification of a nuanced and complex field but the truth of the statement is unarguable: data goes in, is manipulated and then is spat out again.That’s what software does. The simplicity of the statement contributes to the joy of Computer Science majors who take an abstract view of everything from software to love but infuriates...

## Quaternions and the spatial rotations in motion enabled wearable devices. Exploiting the potential of smart IMUs attitude estimation.

Have you always wondered what a quaternion is? this is your post. Attitude or spatial orientation analysis is a powerful element in wearable devices (and many other systems). Commercially available sensors can provide this information out-of-the-box without requiring complex additional implementation of sensor fusion algorithms. Since these are already on-chip solutions devices can serve as a way to explore and analyze motion in several use cases. Mathematical analysis for processing quaternion is presented along with a brief introduction to them, Although they are not really easy to visualise, a couple fairly simple examples are provided which may allow you to gain some intuition on what's the logic behind them.

## Unmanned Ground Vehicles - Design Considerations for Snow and Cold Environments

December 27, 2016

It's that time of year when the white stuff falls from the sky across the US, and with it comes lower temperatures. These conditions must be taken into consideration when designing a vehicle for outdoor use.

A few definitions from wikipedia:

Flurry: light, brief snowfall

Snow shower: intermittent snowfall

Light snow: over 1km visibility

Moderate snow: 0.5 to 1km visibility

Heavy snow: less than 0.5km visibility

Blizzard: lasts 3 hours or longer, sustained wind to 35mph, visibility...

## Video-Based STEM Embedded Systems Curriculum, Part 2

October 25, 2021
Contents: Introduction

This post continues from part 1. It contains the first three lesson plans.

Lesson Plan 1: Introducing Arduino

This lesson is first because Arduino is the simplest programming environment, yet allows lots of interaction with hardware. In...