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

December 10, 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 28, 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. For the benefit of the beginners, I will be beginning with the basics - setting up Raspberry Pi in part 1 of this blog series and then proceed to interfacing the MEMS based tri-axial motion sensing unit - MPU6050 to Raspberry Pi board in part 2. The final part no. 3 will be about acquiring data on the client computer. I have  tried multiple...

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, 201228 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, 201228 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... ## Basic Sensors for an Autonomous Vehicle March 28, 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. For the benefit of the beginners, I will be beginning with the basics - setting up Raspberry Pi in part 1 of this blog series and then proceed to interfacing the MEMS based tri-axial motion sensing unit - MPU6050 to Raspberry Pi board in part 2. The final part no. 3 will be about acquiring data on the client computer. I have tried multiple... ## 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...

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

December 10, 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...