The Least Interesting Circuit in the World

Jason Sachs October 7, 20185 comments

It does nothing, most of the time.

It cannot compute pi. It won’t oscillate. It doesn’t light up.

Often it makes other circuits stop working.

It is… the least interesting circuit in the world.

What is it?

About 25 years ago, I took a digital computer architecture course, and we were each given use of an ugly briefcase containing a bunch of solderless breadboards and a power supply and switches and LEDs — and a bunch of


Servo Troubleshooting notes

Ed Nutter October 4, 2018

Servo Troubleshooting

Ostendorff

Forcing a servo to rotate when off can damage it.

Malfunction:Servo makes a grinding noise or acts erratic

Probable Cause

Corrective Action

Source

Examine gears for broken teeth

Replace gears

General

Malfunction:Servo Jitters

Probable Cause

Corrective Action

Source

Dirty potentiometer

...

Linear Feedback Shift Registers for the Uninitiated, Part XVIII: Primitive Polynomial Generation

Jason Sachs August 6, 20182 comments

Last time we figured out how to reverse-engineer parameters of an unknown CRC computation by providing sample inputs and analyzing the corresponding outputs. One of the things we discovered was that the polynomial \( x^{16} + x^{12} + x^5 + 1 \) used in the 16-bit X.25 CRC is not primitive — which just means that all the nonzero elements in the corresponding quotient ring can’t be generated by powers of \( x \), and therefore the corresponding 16-bit LFSR with taps in bits 0, 5,...


Sensors Expo - Trip Report & My Best Video Yet!

Stephane Boucher August 3, 20183 comments

This was my first time at Sensors Expo and my second time in Silicon Valley and I must say I had a great time.  

Before I share with you what I find to be, by far, my best 'highlights' video yet for a conference/trade show, let me try to entertain you with a few anecdotes from this trip.  If you are not interested by my stories or maybe don't have the extra minutes needed to read them, please feel free to skip to the end of this blog post to watch the...


R1C1R2C2: The Two-Pole Passive RC Filter

Jason Sachs July 28, 20181 comment

I keep running into this circuit every year or two, and need to do the same old calculations, which are kind of tiring. So I figured I’d just write up an article and then I can look it up the next time.

This is a two-pole passive RC filter. Doesn’t work as well as an LC filter or an active filter, but it is cheap. We’re going to find out a couple of things about its transfer function.

First let’s find out the transfer function of this circuit:

Not very...


Linear Feedback Shift Registers for the Uninitiated, Part XVII: Reverse-Engineering the CRC

Jason Sachs July 7, 20181 comment

Last time, we continued a discussion about error detection and correction by covering Reed-Solomon encoding. I was going to move on to another topic, but then there was this post on Reddit asking how to determine unknown CRC parameters:

I am seeking to reverse engineer an 8-bit CRC. I don’t know the generator code that’s used, but can lay my hands on any number of output sequences given an input sequence.

This is something I call the “unknown oracle”...


Making a connection 1

Ed Nutter July 3, 20182 comments

In order for your system to control devices, you must be able to connect it to those devices.

Besides different sizes based on wire size, there are a few different styles of connectors that can be used.  There are also weather-resistant terminals that can be used if needed.

Ring

(Parks, 16)

- used for circuits that you don’t want to become easily disconnected

- ground wire attached to a stud

Push-On

- can be used on relay terminals

(Parks, 18)

- could be...


Linear Feedback Shift Registers for the Uninitiated, Part XVI: Reed-Solomon Error Correction

Jason Sachs June 19, 2018

Last time, we talked about error correction and detection, covering some basics like Hamming distance, CRCs, and Hamming codes. If you are new to this topic, I would strongly suggest going back to read that article before this one.

This time we are going to cover Reed-Solomon codes. (I had meant to cover this topic in Part XV, but the article was getting to be too long, so I’ve split it roughly in half.) These are one of the workhorses of error-correction, and they are used in...


Troubleshooting notes from days past, TTL, Linear

Ed Nutter June 19, 20181 comment

General Troubleshooting

  • Follow safety precautions.
  • Always think “what if”.
    • Analytical procedures
    • Precautions when probing equipment
    • Insulate all but last 1/8” of probe tip
  • Learn from mistakes
  • Don’t start with electronic test equipment, start with analytical thinking.
  • If you get stuck, sleep on it.
  • Many problems have simple solutions.
  • Whenever possible, try to substitute a working unit.
  • Don’t blindly trust test instruments.
  • Coincidences do happen, but are relatively...

Linear Feedback Shift Registers for the Uninitiated, Part XV: Error Detection and Correction

Jason Sachs June 12, 2018

Last time, we talked about Gold codes, a specially-constructed set of pseudorandom bit sequences (PRBS) with low mutual cross-correlation, which are used in many spread-spectrum communications systems, including the Global Positioning System.

This time we are wading into the field of error detection and correction, in particular CRCs and Hamming codes.

Ernie, You Have a Banana in Your Ear

I have had a really really tough time writing this article. I like the...


Introduction to Microcontrollers - Interrupts

Mike Silva September 18, 20136 comments

It's Too Soon To Talk About Interrupts!

That, at least, could be one reaction to this chapter.  But over the years I've become convinced that new microcontroller programmers should understand interrupts before being introduced to any complex peripherals such as timers, UARTs, ADCs, and all the other powerful function blocks found on a modern microcontroller.  Since these peripherals are commonly used with interrupts, any introduction to them that does not...


Introduction to Microcontrollers - Further Beginnings

Mike Silva September 1, 20134 comments
Embedded Programming Basics

This tutorial entry will discuss some further embedded programming basics that you will need to understand before proceeding on to the LED blinky and other example programs. We will do this by looking at the general organization and types of instructions found in most microcontrollers, and how that organization and those instructions are reflected (or, in some cases, ignored) by the C programming language.

Basic CPU...

Analog-to-Digital Confusion: Pitfalls of Driving an ADC

Jason Sachs November 19, 20118 comments

Imagine the following scenario:You're a successful engineer (sounds nice, doesn't it!) working on a project with three or four circuit boards. More than even you can handle, so you give one of them over to your coworker Wayne to design. Wayne graduated two years ago from college. He's smart, he's a quick learner, and he's really fast at designing schematics and laying out circuit boards. It's just that sometimes he takes some shortcuts... but in this case the circuit board is just something...


VHDL tutorial - A practical example - part 2 - VHDL coding

Gene Breniman May 27, 2011

In part 1 of this series we focused on the hardware design, including some of the VHDL definitions of the I/O characteristics of the CPLD part.  In part 2, we will describe the VHDL logic of the CPLD for this design.

With any design, the first step to gather the requirements for the job at hand.  From part 1 of this article, I have copied two sections that address some of the requirements for the CPLD design.

The data acquisition engine has the...


Help, My Serial Data Has Been Framed: How To Handle Packets When All You Have Are Streams

Jason Sachs December 11, 201110 comments

Today we're going to talk about data framing and something called COBS, which will make your life easier the next time you use serial communications on an embedded system -- but first, here's a quiz:

Quick Diversion, Part I: Which of the following is the toughest area of electrical engineering? analog circuit design digital circuit design power electronics communications radiofrequency (RF) circuit design electromagnetic...

10 Circuit Components You Should Know

Jason Sachs November 27, 20112 comments

Chefs have their miscellaneous ingredients, like condensed milk, cream of tartar, and xanthan gum. As engineers, we too have quite our pick of circuits, and a good circuit designer should know what's out there. Not just the bread and butter ingredients like resistors, capacitors, op-amps, and comparators, but the miscellaneous "gadget" components as well.

Here are ten circuit components you may not have heard of, but which are occasionally quite useful.

1. Multifunction gate (


VHDL tutorial - Creating a hierarchical design

Gene Breniman May 22, 20086 comments

In earlier blog entries I introduced some of the basic VHDL concepts. First, developing a function ('VHDL tutorial') and later verifying and refining it ('VHDL tutorial - part 2 - Testbench' and 'VHDL tutorial - combining clocked and sequential logic'). In this entry I will describe how to...


Byte and Switch (Part 1)

Jason Sachs April 26, 201114 comments

Imagine for a minute you have an electromagnet, and a microcontroller, and you want to use the microcontroller to turn the electromagnet on and off. Sounds pretty typical, right?We ask this question on our interviews of entry-level electrical engineers: what do you put between the microcontroller and the electromagnet?We used to think this kind of question was too easy, but there are a surprising number of subtleties here (and maybe a surprising number of job candidates that were missing...


Important Programming Concepts (Even on Embedded Systems) Part V: State Machines

Jason Sachs January 5, 20158 comments

Other articles in this series:

Oh, hell, this article just had to be about state machines, didn’t it? State machines! Those damned little circles and arrows and q’s.

Yeah, I know you don’t like them. They bring back bad memories from University, those Mealy and Moore machines with their state transition tables, the ones you had to write up...


Introduction to Microcontrollers - Timers

Mike Silva September 27, 20132 comments

Timers - Because "When" Matters

Computer programs are odd things, for one reason because they have no concept of time.  They may have the concept of sequential execution, but the time between instructions can be essentially any number and the program won't notice or care (unless assumptions about time have been built into the program by the programmer).  But the real world is not like this.  In the real world, especially the real embedded world,...


Collaborative Writing Experiment: What are your favorite Embedded Systems Online Resources?

Stephane Boucher May 20, 20139 comments

Edit 22/05 - Wow, this went better than expected.  I will try submitting this blog post to Reddit/ece and see if we can get a few more interesting links before I close the document.  Thanks to everyone who contributed!  

_______

Edit 28/05 - The document is now closed to editing.  If there is a link that you would like to see added, please use the comment system at the end of this blog.  Thanks to all who participated!  

Up next, Free...


Success Story

Stephane Boucher April 24, 20132 comments

A blog post has just broken the all-time record for the number of pageviews in 24 hours on the related sites. The blog post in question is titled Data Hiding in C and was written by Stephen Friederichs.  It has been viewed by more than 7000 individuals since its publication a few days ago.  

One reason that explains the success of this blog post is the wide appeal of the subject of the article (c programming) which allowed me to


Code Snippets Winners Announced

Stephane Boucher April 12, 20132 comments

Wow, thanks a lot for all the code snippets - I am pleasantly surprised by the quality of the code that has been shared and I am very grateful.  

Now, as you know, to give momentum to the section I had announced a special reward program for code snippets submitted by the end of March.

The partner members and I had a very hard time selecting the 5 "most useful" snippets out of the more than 50 who have been submitted. 

Here's our selection:


Now on Twitter + More Code Snippets Incentives

Stephane Boucher February 28, 20134 comments

Now on Twitter!

Better late than never, the three related sites (DSPRelated, FPGARelated and EmbeddedRelated) now have their Twitter accounts.  If you are already on Twitter, please consider following.  I'll make sure to keep the tweets interesting and informative.  Plus, once in a while, I will tweet a link where the first x persons to visit will receive a gift (book, gift certificate, etc).  

@DSPRelated


New Code Snippet Section

Stephane Boucher January 15, 20134 comments

More incentives announced

Following the success of the code snippet section on DSPRelated.com, I am happy today to announce the launch of the code snippet section on EmbeddedRelated.com.  

If you have a piece of code that you would like to share with the Embedded Systems community, please go ahead and fill the form.  

If the piece of code you submit is approved, you will be sent $10 through Paypal.

If...


Two jobs

Stephane Boucher December 5, 201223 comments

For those of you following closely embeddedrelated and the other related sites, you might have noticed that I have been less active for the last couple of months, and I will use this blog post to explain why. The main reason is that I got myself involved into a project that ended up using a better part of my cpu than I originally thought it would.

edit - video of the event:

I currently have two jobs: one as an electrical/dsp engineer recycled as a web publisher and the other...


October winner announced

Stephane Boucher November 15, 20121 comment

If you are a regular visitor of EmbeddedRelated, you are most likely aware that I have been running monthly draws lately for users of the site who are helping me to clean up the archives by rating threads in the forums section.  

For the month of August, the member "Cryptoman" won a iPad, and for the month of September, 10 members won $50 each.  

For October, the winner of the new iPod Touch is the member with the username "hssathya".

The winner of the next draw will win...


Behold, the New Comments System!

Stephane Boucher September 18, 201229 comments

I have just finished implementing a new system for commenting the blogs.  It uses Ajax extensively, so the page won't reload if you post a comment.  And it is a 'threaded' system, which means that if you post a reply to a comment, it will be attached to it.  

What do you think?  I personally love it.  Please go ahead and test it with a quick comment.

Although it is better to be logged in to post a comment, non-registered users can also comment, but they will have...


Best Embedded Systems pdf Documents Out There

Stephane Boucher September 11, 20128 comments

There are thousands of pdf documents related to Embedded Systems available online.  In fact, when I do a search in Google for:

embedded systems filetype:pdf

I get 4,340,000 results! A huge mix of articles, promotional documents, theses, etc.

Out of these 4 millions+ documents, I suspect that there must be at least a few hundreds jewels that deserve to be given more visibility.

Today, I am asking for your help (again!) to build a directory of some of the most useful pdf files out...


New Discussion Group for Users of TI ARM based MCUs

Stephane Boucher June 14, 2010

If you are a user of an ARM based TI Microcontroller, please feel free to join the new "TI ARM processors MCUs" discussion group by sending a blank email to: tiarm-subscribe@yahoogroups.com This discussion group will be moderated, so you don't have to worry about receiving more spam than you probably already get. It usually takes a few weeks for a group to gain momentum, so don't worry if the activity level is low for a little while, but make sure to join so you don't miss the good...