What’s the difference between Series and Parallel Circuits?

Example of Circuit and Parallel Circuits

Tutorial on schematics basics

The funny thing about schematics is that they are much easier to draw than they are to read. There are many common circuits. When an experienced engineer looks at them, it’s like a second language. When someone less experienced looks at them, it looks like random lines and symbols thrown together at the last-minute. (Or maybe that’s just the schematics *I* draw.)

Other than reading Schematic Symbols themselves, one of the basic skill necessary to read a schematic is recognizing series and parallel circuits.

In short if the same current flows through all the parts, they are in series.  While if current has different paths, they are in parallel.  Keep reading to dive into this tutorial on how ohm’s law applies to series and parallel circuits.

Pushbutton and Flashing LED tutorial with millis()

push button, led, millis, bread board

How to blink (or flash) a LED without delay() and detect button pushes

One of the limitations of the delay() function is that nothing else can really be done. This presents a problem when you want to flash a LED while waiting for a pushbutton to be pressed.

Flashing the LED with millis() and using a flag variable to find if the LED should be flashing solves this problem.

Consider this another example to my virtual millis() cookbook.

This code (below) should work with both Arduino (AVR) and Energia (supported boards), but to be honest, I haven’t had a chance to test it on my MSP430 yet.

Learning to a breadboard is critical when adding electronics to a project. A skill often overlooked is how to use breadboard jumper wires correctly. For example, when I breadboard a circuit I only use Red, Green, or Blue for positive voltages and Black for ground. Other colors, it depends on the functions of the wire. The idea is to keep it clear when I look at the board, what each wire is doing.

This video from Make is a great overview of how to develop a skill, or habit, around using breadboard jumper wires in your circuit.

For more information, there is a short writeup on their web site as well.

Five ways to make a schematic (quickly)

Quickly Make A Schematic

Engineers make a schematic to explain their circuits.

One time I was looking for a non-tourist pub in Japan. I asked someone for help. She said, “I’m sorry, but I do not speak good English. I will bring my friend and she will draw you a map.” (Exact quote!) The map her friend drew, gave directions to a bar with a “Neon Yellow Sing.” She meant sign…

The map was the method we used to communicate with each other, even though we didn’t both speak English. With this crude but effective map, I could find my next drinking place destination.

Schematics are the same as this map. Even if you don’t speak the same language, you can communicate how a circuit works when you make a schematic.

Use one of these five tools, when you need to a document a circuit or when you need to ask for help.

When learning to use an Arduino, you have two things to learn: programming and hardware. In the past, I’ve taught some classes on how to program the Arduino. These are the slides I used to explain what the Arduino “Language” is, basic debugging concepts, how to use variables, and basic structures.

 

An Open Source IDE for TI’s line of MSP430-based boards. Based on the same software as the Arduino project, Energia brings easy of use to an awesome family of microcontrollers.

Energia and MSP430: Arduino Alternative

Does Energia stack up as one of the Arduino alternatives?

Energia - An Arduino Alternative

With all the recent noise around Arduino LLC and Arduino SRL, I felt like I needed a break from Arduino. So I decided to come back to a platform I set aside a while ago: TI’s MSP430.

Previously I wrote it off because of the Windows-centric software. In fact, I made my first “review” video based on it. (I’m a Mac / Linux guy.)

In this post, I’m looking at an open source IDE that’s available called Energia. It makes using the MSP430 series boards a snap.  And, by the way, makes for a great Arduino alternative.

Arduino pinMode on Analog Inputs

pinMode analog input tip

All Arduino boards contain analog and digital pins. The Arduino functions have different calls depending on the pin type. For example, when analogWrite() is called, an analog input pin is automatically changed from a digital input (or output) into an analog input. For this reason, it isn’t actually necessary to call pinMode() on the pin. However, when I write Arduino Sketches, I still put a pinMode(INPUT, A0) in setup anyway.

Keep reading to see why I use pinMode on Analog Inputs. (more…)

Can a 1µF decoupling capacitor be too much?

1uF Decoupling Capacitor Circuit

Using a bread board Arduino see what happens when you skip a decoupling capacitor or two

To save time, breadboard pins, or just lack of knowledge people try to skip adding decoupling capacitors to a circuit. Either on IRC or in Forums you can almost always see it coming: “randomly, my stops working” And then, “what do you mean decoupling capacitors”, question.

This isn’t the most scientific testing, but here are some really unexpected measurements with just a breadboard Arduino. The only capacitors I started with were the two 22pF from crystal to ground and the capacitor connected to RESET for Auto-RESET.

Keep reading to find out what happen when I added a 100nF and a 1µF cap. A bunch of scope traces and surprising results follow.

Breadboard Arduino with no Decoupling Caps

Breadboard Arduino with no Decoupling Caps

Case Study in Optimization: Faster SPI on AVRs

Nerd Ralph
March 29, 2015

The Arduino Library provides functions like shiftOut() and digitalWrite().  These functions are simple and effective, but they are slow. Of course, they’re doing a lot more than just toggling bits. Faster isn’t always necessary and can sometimes lead to more difficult debugging.  And as Donald Knuth said,

…premature optimization is the root of all evil.

So what happens, when you do need to optimize? For example, if shiftOut() is too slow for your project, what do you do?  In Ralph’s post, Fastest AVR software SPI in the West, he breaks down different SPI code implementations into their assembly code.

To make the best optimization, you need to change compiler flags. So this is, in my opinion, an interesting case study in what kind of performance benefit you can get when you do some serious optimization.

Of course, you really shouldn’t, unless you need it…

Check out his post: Fastest AVR software SPI in the West

Knuth quote from his paper “StructuredProgrammingWithGoToStatements.”