After fighting bugs, bad connections, and burned out chips your project is working–or even done. The next step? Record a video, edit it, and upload it to YouTube.
Too many steps? Then maybe you just want to do a Periscope demo. Within seconds, you can be broadcasting your project to the world.
This past weekend I tried my first couple of scopes. The first Periscope “demo” was me soldering together a Three Fives from Evil Mad Scientist Labs. The others periscope demos were 3d printing related.
When it comes to a hardware project demo, I see some challenges. Check out these five things to watch out for and, if you’re interested, you can watch my soldering Periscope demo.
One of my early hobbies as a kid was collecting baseball cards. At every card show, I was on the lookout for the 1989 Ken Griffey Jr Rookie card, #1, from Topps. My collecting craze lasted until the baseball strike in 1994. Then I lost interest in professional baseball and its collectibles.
You’re asking, what does this have to do with electronics? Well, the Circuit Trading Cards from Arachnid Labs reminds me of the days I spent trading baseball cards. Instead of memorizing RBIs and Homerun counts, these circuit patterns trading cards teach you circuit basics.
The card stock used is of high quality, and each unique card has a durable feel. One side is the Arachnid Labs logo while the other is what I call the “information side.” The information side is one of three colors: Yellow (Analog), Blue (Digital), and Green (Power).
The latest AddOhms looks at why you need a pull-up resistor when using push-buttons. This video goes into what happens when you leave a pin floating, what a floating pin means, and how the pull-up actually works. You can get more information about the video on the AddOhms Episode page.
This is the 2nd time I’ve made a video on pull-ups. Despite being a single resistor, it can be a difficult topic for new hardware designers to understand. The pull-up video was the first video tutorial I ever made. In fact, the YouTube version uses YouTube’s “stabilization” algorithm, which gives the video a very warped feel.
AddOhms #15 shows improvements in skill over the past couple of years!
Making the move to millis()-based code can be daunting. You have to rethink your logic, implement flags, program a state machine — and more importantly, start using millis(). Generally in forums and on IRC people will just point to the “blink without delay” example, hoping the commented code is enough for a new user. It’s not enough.
I have a growing list of millis()-based tasks posted in my millis() cookbook. But sometimes that those examples might be too simple or not close enough to your project’s end target. That got me thinking about different ways to help explain how millis() works. I thought “wow, you need to understand every line of an example” which leads me to: line-by-line.
Give this “blink without delay line by line” tutorial a shot if you’ve had trouble understanding other millis() examples.
Flag variables are great, and totally not evil, when you just have two states: ON or OFF. What about when you have multiple states? Is there an option better than creating multiple flag variables?
The C-language has a declaration type just for this purpose. It is called an enumeration, or enum.
Setting up a state machine with enum is a surprisingly simple. Arduino and embedded programmers should use them!
All you need to do is create descriptive tag names, and let the compiler assign them an integer value. Unlike a #define which is just a macro replacement, the compiler treats an enum as your personal variable type.
This behavior comes in handy when you’re creating states for a state machine. I show how to create a simple state machine with enum, to blink an LED with millis(), in this post.
Recently I picked up a device called Logic from Saleae. It’s a 4-channel USB-based logic analyzer. While learning how the simple, but effective, UI works I ran some timing benchmarks on my Arduino Uno. The subject? digitalWrite(). I wanted to know how fastdigitalWrite() could turn on two (or more) pins.
Almost all Arduino users start out with the simple “blink” sketch. Turn pin 13 ON, delay, turn it OFF, and delay again. The heart of this version of “Hello World!” is the digitalWrite() function. Many Arduino users never even think about all of the stuff this single function call hides.
In this post, let’s compare the speed of digitalWrite() to direct port manipulation, using a logic analyzer.
Found this one while going through some old files. One of my favorite volunteering activities is introducing kids to engineering. After judging a FIRST competition, I learned about Central Texas Discover Engineering. They had a program that gave me a chance to spend an entire day talking to middle school kids about engineering.
I started the class with a simple question: “What do engineers do? Surprisingly, most of the kids answered pretty well. Then I went through these slides to give them an idea of other types of engineers. Lastly, we did a fun “engineering” activity.
Getting programming questions answered on the internet can be problematic. Programmers love to have opinions, stick to those ideas, and express them to you even when their opinion has nothing to do with your question(s).
Not only am I going to explain how to use flag variables in your code, I am going to encourage their use—which most programmers avoid.
However, this advice comes with two caveats.
- This information only applies to limited resource environments like an Arduino, LaunchPad or PIC.
- Use flag variables very carefully when you do use them.
The following flag variable usage examples are Arduino-centric but apply to any microcontroller platform, including the Energia project for TI Launchpads.
On every page of my blog, you might notice a chat window. If I’m not busy, we can chat in real-time. If not, the messages come to me by email. Here’s one I got from Matt the other day:
Let’s talk a bit about how (and why) you would use a P-Channel MOSFET. Matt, and he’s not the only one, is probably asking this question based on the “myth” that P-Channel MOSFETs require “negative voltage” supplies.
Keep reading for a how to use only positive voltage in this p-channel MOSFET tutorial.
The other day my friend called me up. He told me how much he missed building circuits and wanted to start again with the Arduino.
So he asked me “which Arduino starter kit is the best to buy?” At which point, I drew a long breath. Easy question, not always an easy answer.
Picking out an electronics kit depends on a number of factors. You should consider:
- Your budget
- What you already have
- What you want to do
#1 and #2 are probably pretty easy to figure out. For many beginners, it’s “not much” and “nothing.” When you don’t know #3, what you want to do, then it gets trickier. Coming back to my friend, what did I do? Well, I went out and bought each one of the kits in this post. I put myself in his shoes and maybe these are your shoes as well.
Assuming you have about $100 to spend, have no components on-hand now and just want to “get started” consider one of these 4 Arduino starter kits.