5 Common Arduino Programming Mistakes

Code compiles but doesn't work? Check these 5 mistakes.

5 common arduino programming mistakes

Whenever someone sends me some code that doesn’t work, there are a few common Arduino programming mistakes that I check. Some of these mistakes I make myself.  In most cases my code will compile just fine. Sometimes, these mistakes won’t generate any compiler error.

When my Arduino code is acting up, these are the first things I check. Here are my 5 common Arduino programming mistakes, I use to debug non-working code.

Continue Reading »

3 Way Camera Shoe


DSLR Shoe AdapterWhen recording videos for either baldengineer.com or, more often, AddOhms, I need at least two things attached to my camera. I used a Canon T5i. The two devices I need to have connected are a shotgun microphone and a wireless receiver. In the past, I just let the remote’s wireless receiver dangle. That really bothered me.

I’m still surprised this DSLR shoe adapter didn’t already exist on Thingiverse. Anyway, I created one. Head over to Thingiverse to download it.

Test Equipment Alternatives (Suggested By You!)

Your ideas for test equipment alternatives

test equipment alternatives

A couple of weeks ago, I asked my subscribers for their favorite test equipment alternatives. The reason I asked, was because I recently picked up a Mooshimeter. It is a modern take on the multimeter. However, I will cover that in more detail soon.

While I am fortunate that my bench has the usual equipment like an adjustable power supply, oscilloscope, multimeter, and function generator, I know that not everyone else does. I also had to think back to before I had this equipment, what did I use to troubleshoot my circuits.

Sometimes when working on a project, whether hobby or professional, you just don’t have the tools you need on hand. Or worse, you cannot afford it. So here are some of the responses you all sent me.

Continue Reading »

Adafruit Temperature Sensor Comparison

10 Options, which one is right for you?

adafruit temperature sensor comparison

Getting back to my IoT projects, I decided to pick up a temperature sensor. While looking through the Adafruit breakout boards, I found they offered nine different digital temperature sensors! This list is in addition to the analog TMP36 temperature sensor, so that’s ten. I needed an Adafruit Temperature Sensor comparison.

With so many options, I quickly found myself getting lost between the various modules. The 10 I found all measured temperature and provided an I2C interface. Except for the MCP9808 board, they all made at least one other type of measurement. The MCP9808 is the cheapest digital temperature sensor breakout that Adafruit offers, and also the most accurate.

I couldn’t find a comparison in my quick search, so I built my own comparison table. Here’s my chart for an Adafruit Temperature Sensor comparison of their breakout boards.

adafruit temperature sensor comparison chart

Updated: 2016-JUL-27

Continue Reading »


The 2016 IEEE International Symposium on Electromagnetic Compatibility is sponsored by, no surprise, the IEEE Electromagnetic Compatibility Society (EMC-S). The EMC Society is the largest organization dedicated to reducing EMI. The society looks at standards, measurements, interference techniques, equipment, and a broad range of other activities.

Previously, I attended the show when it was in North Carolina. A wide variety of information complimented into the deep technical sessions. The vendors on the show floor were varied. I find this to be one of the most technical shows I attend.

James at IEEE EMC 2016

For the IEEE EMC 2016 conference, I am attending on behalf of my day job. I’ll be on the tradeshow on Tuesday, Wednesday, and Thursday. Stop by the KEMET booth (#903) to learn about AC Chokes, EMI Filters, a flexible EMI shield, EMI Cores, and X/Y Safety Capacitors. Since I’ll be in Ottawa Monday through Friday, let me know if you’d like to meet up.

Finally, check out the EMC Society website if you’re interested in the group behind this conference.

Date:July 25, 2016—July 25, 2016
Appearance:IEEE EMC 2016 in Ottawa, ON
Outlet:IEEE EMC 2016
Location:Ottawa, ON Canada

Arduboy Review and Hands-On

What's great about combining Arduino with Retro Video Games

Arduboy Review Combing Arduino and Gameboy Banner

When it comes to Kickstarters, I have been relatively lucky. Most of the projects I back have shipped, even if years after I forgot. However, few Kickstarters are something I use on a regular basis. The Arduboy has been a pleasant surprise. This Kickstarter-backed project packages the ease of programming an Arduino into a game playing friendly form factor. Here’s my first Arduboy review, impressions and hands-on experience.

Continue Reading »

A couple of weeks ago I wrote about four current flow direction myths. As a follow up to that popular post, I decided to dedicate this month’s AddOhms electronics tutorial video to Current Flow. In episode #19, I tackle the question of which way does current flow.

You might have heard about “conventional flow” and “electron flow.” In conventional flow, we assume that current flows from the positive voltage towards the negative voltage. In digital, the “negative voltage” is usually called ground. However, that’s not how the electrons move nor is it how they carry the charge around a circuit path.

Electron flow is the description of how electrons carry a charge. Which is the negative voltage towards the positive? This confusion is a result of Ben Franklin mistakingly identifying how electrons moved so many years ago. Yet, we have kept the “positive” and “negative” labels as they are today.

The key though is that it doesn’t matter which method you use to analyze a circuit. Electrons move in a closed path. So whether they travel from positive to negative or from negative to positive, doesn’t matter!

AddOhms #19: Current Flow Direction

Check out the full AddOhms Electronics Video Tutorial on Which Way Does Current Flow on the AddOhms YouTube Channel.

Arduino Bootloader, What is it?

This simple code does important things

arduino bootloader

Almost all microcontroller (and microprocessor) development systems use some form of a bootloader. Often called firmware, mistakenly, the Arduino bootloader is one example. Since it is a rather popular platform, let’s use it as an example. Let’s talk about what a bootloader does and how it works.

When a microcontroller turns on, it only knows how to do one thing.  Typically, that one thing is to run an instruction found at a specific memory location. Often this location address 0x0000, but not always. Usually, this memory location will contain a jump instruction to another place in memory, which is the start of the user program. The bootloader, however, exists in a slightly separate memory space from the user program.

On power-up or reset, a bootloader is a section of program memory that runs before the main code runs. It can be used to setup the microcontroller or provide limited ability to update the main program’s code.

Continue Reading »

KiCad BOM: Don’t Bomb your BOM!

3 methods to manage your KiCad BOM from the start

kicad bom introduction

A KiCad BOM is a list of all the parts your design is using. The term BOM, or bill-of-materials, is standard for supply chain management and does not just apply to electronics. KiCad’s eeschema has a BOM export feature. Unfortunately as of Version 4.0, this feature is still somewhat lacking. Given the limitations, here are some tips to take your KiCad BOM from Schematic to Mouser.

Spending a few extra minutes while capturing (drawing) your schematic thinking about your KiCad BOM can save you a ton of time later on. Moreover, as you build up a database of parts, these extra minutes turn into seconds. Here are a couple of ways to describe your parts, especially passive components, better while drawing schematics in KiCad.

Continue Reading »