Tinkering for dummies

January 24, 2015

I received an email:

I’ve listened to a few podcasts and now am officially a fan. I’m curious about “tinkering” for dummies

I realize that I like to tinker but always run into the reality that my technical skills don’t match up with my creativity.

I am wondering if you would suggest a pathway of least resistance for someone who is interested in tinkering. 

Time is always a constraint but I am serious about learning how to code and also learning about embedded systems but not sure if learning python for example is the best way to start.

This seems like a great question, one I’m sure other people have.

However, I’m a terrible person to answer it because I come at the problem of tinkering from exactly the opposite direction. Since programming is my job, tinkering can be difficult because it feels like work instead of play.

Still, I want to encourage the writer so I’ll try to answer. I invite you to suggest other things in comments.

I think the the very short answer is buy a kit. A kit means you’ll get something that probably works and some instructions. Then you can tweak it to be more along the lines of what you want.

And, in general, I think the path of least resistance is Arduino. Their community and system is set up to teach you things (and to hide the tricky details). It started out as a way for educators and artists to approach technology so they don’t expect you to know a lot of coding. There are many Arduinos (the UNO is my fav) so the next question is what do you want to tinker?

Learning by doing is great but difficult to maintain if you don’t have a direction. Self motivation is much easier if you have a goal, ideally an achievable, amusing, and share-able goal.

Say you want to make a watch or small desk display, start with the MicroView (and programmer). If you want to go all out (or you really have no idea where to start), get the Sparkfun Inventor’s Kit. With the MicroView, you get more tutorials with hardware in the inventor’s kit. Without the MicroView, you still get a wonderful grouping of sensors and lots of tutorials (and an Arduino board).

On the other hand, robots are awesome and seeing something move is deeply satisfying. The Parallax BOEBot (“Board of Education” Bot) is educational (and fun). It was designed for high schoolers so you’ll likely feel brilliant and idiotic in turns (c’mon, you remember being a sophomore, right?). You can get it from Parallax more cheaply but you have to build more of it yourself. (Also, you may need an Arudino UNO for those kits to add smarts to your robot.)

As you start to tinker, decide what you want to do with your limited time. Building from the ground up is an advanced exercise, often leading to frustration. Toddling, baby steps are more fun.

But what if you want light up shoes (or bike helmet)? Lights are an awesome way to get hooked on tinkering,* there are so many beautiful blinking patterns. For that, you probably want to look into the Flora system (oh! they also have a budget pack). It is designed to be wearable which is pretty neat.

Do you have annoyances in your house? Something that would be better if you could assure yourself from work or phone? Maybe knowing that the garage was down, the stove off, or the door locked? For this, I’d suggest Electric Imp (and you’ll need the breakout board as well). It connects to WiFi well and is straightforward to program. It isn’t quite Arduino easy but there are lots of tutorials.**

Finally, do you want to make a big system? Like a balloon that can take pictures and use a GPS and then connect to your home network? While I like BeagleBone Black for engineering use, I’d suggest starting with a Raspberry Pi. These are both little computers, cheap enough that you can blow one up without feeling too guilty. The Pi is designed to be a learning environment and there are many excellent tutorials. The Beagle has an excellent community as well so it may be a toss up between them. And if you’ve already started to learn Python, well, these are the boards for you. They’ll let you use Python, explore Linux, and get some hardware experience without ever worrying you’ll run out of RAM or processing power. If you get a touchscreen (like this one for BBB), these small computer feel like, well, small computers: infinitely flexible.

Which brings me to my next point, once you have a direction, look for  a tutorial for something similar. Even if you aren’t building something exactly the same. For example, if you like the look of MicroView and want to try making a watch, even though Wordy is a ring, my tutorial on building it may give you ideas.  Look at the “Learn” sections on Adafruit and Sparkfun for ideas if you don’t have a project in mind. These companies (as you may have noticed from the above links) sell tinkering hardware. They write tutorials to keep you engaged (so then you buy more hardware). You may also find inspiration from Hackaday and Make. You can document your project on Hackaday.io, I’ve been pleased at the niceness of the community there.

Tinkering from scratch without a guide is a like baking cookies without a recipe. If you are experienced, it is completely possible to start with a blank slate. I know from experience and reading cookbooks that cookies should usually have between 1 part butter, 2 parts sugar, and 3 parts flour to 2-3-4 (b-s-f). I can make almost any cookie I can think up. But as you start out, some guidance to success is hugely important. Otherwise you end up with Strawberry-Mint cookies*** and everyone is very disappointed that the lovely promise turned into, um, that.

My final word on getting started tinkering: don’t feel guilty when you stop for a weekend or two. This is for you, it is your hobby. It might be educational but it isn’t required for life. The less guilt you feel, the more likely you are to come back to it when you get interested again.

*  My first tinkering project involved lightup high heels. The second involved halloween pumpkins lights (blue to purple flickering “candles”).

**  Heehee, I wrote that tutorial so total bias there.

*** Yes, that happened, ok? It was an accident with the mint and vanilla bottles looking similar. Quit laughing. Aw, to heck with it.



Too many podcasts

January 15, 2015

We didn’t record the movies show for Christmas and that put us off. Instead, we recorded two shows the next weekend. Isn’t it lovely to be ahead?

No, no it is not.

Yesterday, we posted the show on Bluestamp Engineering, a neat summer program for high school students. I feel like it was a month ago since we talked to them, I know I had some things I wanted to tweet. And I really should be posting that to Facebook and other places so it gets a few more listens.

For a week from yesterday, last weekend we recorded a show about hula hoops (it is awesome). I really should write the show notes before I forget the relevant links. Last weekend, I also wrote the guest outline for a show about words (yes!) that will got up two weeks from yesterday.

Today, in an apparent effort to get very little work done this afternoon, we recorded the show about words (also awesome). Once I finish writing show notes for hula hoops, I should do notes for words.

Yesterday, I had coffee with a gatekeeper to have Famous Person on the show. Today, I wrote the email that the gatekeeper suggested (Dear Zuul). We are booked out to April (I think there may be one slot in Feb and one in Mar but those were offered to people and I’m waiting to see who accepts) so you’d think it would be one less thing to worry about. Except the wheels need to keep turning on guests so I have two emails received today that I need to respond to in order to schedule future guests.

Also, I should start thinking about the outline for the next show. I think it is about processors but I’m not sure that’s the next one or the one after.

Oh, and if I’m doing an at-conference recording for DesignCon or She’s Geeky, I should start playing with the new recorder. And how in the world am I to do a mash up between those two very different conferences? Two episodes? That seems like a lot of editing and since I only left one slot, that puts us even further ahead.

All of this isn’t to say podcasting is too stressful. My problem is really the intermingling. Being ten days ahead sounded nice: if someone cancels, it is much easier to find another guest. But Chris and I do ok when it is just us.

I think that if I do at-cons, they will be bonus episodes and we’ll remove our buffer. My brain will feel better when we go back to recording 3-4 days before we post. I still have the same amount of work but it will spent less time on the stack.


2014 Year-end Review

January 4, 2015

I read Cation Designs blog and she did a year-end review. It made me think about my advice that people who often feel like impostors should do self-reviews. Creating a well considered analysis requires us to consider (and focus on) the real accomplishments instead of the failures (real or imagined).

Cation is a sewing blog. This is not. Reviews are reviews though.

I suppose that means I’d best get started.  While the categories are top 5, there is no ordering within the buckets.


  • Podcast: we did 50 episodes this year. Occasionally, it was a chore but more often it was a great way to meet interesting people. I’m pleased (and occasionally startled) at how it has grown.
  • I did a white paper for a client. It was a month of incredibly thinky work but not a lot of code (just the odd bit here and there to test ideas). I really enjoyed the in-depth thinking required.
  • Making Hugh and Maxwell are-you-ok widgets as a collaborative project. I liked working with Elizabeth.
  • The Hackaday Prize judging was extremely educational for me as well as being fun. This came about because of the podcast so that’s an interesting loop-back. It also makes me want to do more projects myself.
  • I’ve kept up the blog even though it is something I do almost exclusively for myself. This is where I practice writing and I’m happy with myself that I keep practicing. My output has been a bit uneven but there was at least one post every month. Note that there were some other posts: on element14 (paid), Sparkfun tutorial, and on Hackaday (recent projects).
Month Jan Feb Mar Apr May Jun Jul Aug Sept Oct Nov Dec
Posts 1 1 9 9 7 1 2 4 3 2 6 9



  • I enjoyed building Maxwell but, as a monitor, he’s a failure. His network has been flaky since we got a new router (as have our other Electric Imp devices) and I ignore his whiney emails (exactly what I shouldn’t be doing). Plus, I forget to pet him. I’m not sure this is the right path for this sort of monitoring (maybe fridge mounted would be better).
  • I spoke in two sessions at EELive last spring, being the sidekick for Jen’s BIA teardown and then my own presentation on how the vaunted internet of things is not on a good path for consumers. Many things happened behind the scenes that made me nervous (“Your computer cannot work with our AV.” “No, no one is speaking here at that time.” “No, we don’t need to do a real run through.”). I’m a pretty crummy speaker when nervous.
  • We looked in to getting sponsors for the podcast. It wasn’t pretty. I’m not sure how monetization will change how I feel about it. Making hobbies profitable is a good way to lose a hobby.
  • I worked at PARC and found it to be very interesting. I hoped that the place and people would be interesting enough but routers hold no attraction for me. I missed the gadgets something awful.
  • There are several home improvement tasks that I really meant to do. For some reason, ignoring the things doesn’t make them get done.


  • Last January, we rented a house in San Diego with friends to celebrate another friend’s birthday. It was not an easy trip for various reasons but it definitely qualifies as a highlight.
  • In the fall, Chris and I rented a house in Santa Cruz and had a very nice vacation filled with whales, dolphins, otters, delicious coffee, and sunshine.
  • Chris and I snuggle on the couch watching TV before we sleep. I like it.
  • I was matron-of-honor at a Las Vegas Halloween wedding. It was just as crazy as it sounds.
  • I had my first birthday party in years. It was fun.


  • I need to be better at gauging things I actually want to do versus things I feel I have to. I’ve gotten better at the day-to-day form of this but I still sign up for things in the far future hoping to convince myself it will be fun.
  • People are more important. Even being an introvert, I know this but have trouble remembering. Looking at the Hits and Highlights, it should be apparent that those are there because of the people, not because of the event.
  • My husband is right and I should tell him that more often.
  • I hate it when people leave the area. I felt sort of abandoned. One set of friends had such a long “we’re leaving” time that I sort of stopped believing they were going. It was a sad surprise when they did. Another friend said “we’re thinking about it” and then suddenly (to me) was gone. I know it is good for them (and it isn’t about me) but missing them has made me sad.
  • I’ve been on a path toward focusing on being happy: taking responsibility for and thinking about how to accomplish happiness. I did pretty good this year: learning new things and accepting some things that are not mine to change. But I clearly need a lot more work as I find it difficult to recover from perturbations.


  • Be kind.
  • Be brave.
  • Be generous.
  • Advertise the podcast and book because they are worthwhile and useful so talking about them may help other people.
  • Do interesting work.


We often threaten the dogs with year end reviews but they know their extreme cuteness will mean no punitive action will be taken for their obvious badness.

We often threaten the dogs with year-end reviews but they know their extreme cuteness will mean no punitive action will be taken for their obvious badness.


Blocking Patents with Open Source Prior Art

December 29, 2014

An Embedded.fm podcast listener asked a question on Twitter about using open source as prior art to block future patents. So, of course, I’m going to answer on my blog.

I asked podcast guest Judith Szepesi of HIPLegal, LLP for advice. Note that she pointed me in the direction, any wrong turns I take are my own.

As of 2013, the US is a “first to file” country. It used to be a “first to invent” which meant that if you invented something and could prove it (dated, signed notebooks!) then if someone else patented it, you might swoop in and eat their lunch. But now that we are “first to file” it is all about getting to the patent office in time. This also means it is a bit easier to say when prior art is truly prior.

Prior art” is the sum of all public information that lead up to your patent. If your idea is in the prior art, it isn’t novel. For example, if I wanted to patent dilithium crystals used to control an antimatter reaction, there is a lot of Star Trek prior art that would say “no, someone thought of it first.” To get a patent, the idea has to be new (novel). The Star Trek prior art would show that my idea isn’t novel.

(We are not going to discuss how novel, that bar is a moving target. By the way, none of this is legal advice. Get your own intellectual property lawyer. I’m just here to babble.)

So how does this involve open source? With the explosion of open source hardware projects, there is the incredibly legitimate fear that you might build something awesome, share it with the community, and have someone patent it. (The open source 3d printing world turned into a bit of a blood bath. I’d add links but they are all so vitriolic. Ahh, here’s one that gives some back and forth.)

But isn’t open source code enough prior art to block a patent? Maybe. Probably not. You have to publish something in a way that makes it easily available to Examiners. The keyword there, of course, is “easily”: a source code repository on github is not easily findable.

You have two options to make your open source project easily findable prior art.

First, you could patent it yourself. Nothing blocks another patent quite effectively as being the first to file. You can still make it open source and/or freely licensed (we love you, Tesla!). However, patenting is expensive (though it can be cheaper for a small business, get the numbers before you assume a $50k price tag, look through the excellent NOLO Press’ Patent It Yourself: Your Step-by-Step Guide to Filing at the U.S. Patent Office, most of your fees will be lawyers’ so make it really easy for them).

The second way to create prior art (without filing patents) is by publishing. Now we are back to easily findable. The USPTO (US Patent and Trademark Office) has a list of publications they look at, called Non Patent Literature (NPL). If you look at the list, IEEE and ACM can’t be a surprise, those are well respected journals. On the other hand, there are a number of journals that make their living charging people for publishing prior art and providing copies to the Patent Office. Judith also mentioned that some examiners are using Wikipedia as well,  but, of course, that is not static, and thus not directly cited in their findings. Make sure your idea’s wikipedia page has good, respectable links.

To be considered prior art, you want your information to be well-indexed and dated. Consider Archive.org (they make the wonderful wayback machine). That’s indexed and dated. A series of journals from IEEE is indexed and dated. Your latest homepage is not.

I like Hackaday: their site is dated but not indexed. Could that change and it become a source for the patent office to use? Judith seemed hopeful about the idea in general: “I do see a future in which open source communities create a curated prior-art database.  There are a few starting up now, in software, and I do think they will become a significant source of prior art going forward.”

To summarize, the Examiners focus their searched on patents and easily searched publications. They aren’t going to come to you. You have to go to where they are looking if you want to establish prior art.

One final note: if you aren’t familiar with patents.stackexchange.com, it is a good place to look and provides some communication between USPTO and engineers with questions, even open source questions. It is also a reasonable place to try to establish prior art that wasn’t in the standard NPL (but by then you are fighting defensively). You can also submit prior art for a given patent directly to the USPTO:  Third Party Inquiries and Correspondence in a Published Application.


I’ve got an IMU in my pocket and it wants out

December 23, 2014

I have this idea for another ring…

I ordered an Adafruit 9-DOF IMU board for a client who went on holiday vacation before signing the contract so now I’ve got this board burning a hole in my pocket. Given how much I spent at their site, Adafruit sent along a free Trinket board. At the same time, I was starting slides for a presentation entitled “Introduction to Inertial” and working out scheduling details to have ThingM’s Tod Kurt on our Embedded podcast. Combine all these things and what do you get?

One thing you don’t get is something that will easily fit on a ring. Still, if it could, what would I want it to do? Maybe I’ll even get boards made…

The idea stemmed from a magnetometer first. I’ve read about anklets with several cell-phone motors and a magnetometer that subtly teaches you which way is north. I’d love a little ring that glowed white when I was facing north, red when west, and green for east. It would be dark for south. It would be a neat little beacon.

Never mind that the almost-always-on LED will drain a battery fairly quickly so ring mounted will need to be easily rechargeable. Never mind that I’ll need an accelerometer to tilt compensate the magnetometer (oh! must add why to the presentation!). Of course, adding an accel does give me a way to turn it off and on.

Well, if I’m to make the ring, I need to write the code. Hardware is not my forte but if I get it working well, I can probably get help laying out an ATtiny and a magnetometer/accelerometer chip. Though, as long as I’ve got a whole IMU to play with, I might as well use it all.

I spent a few days stripping the Adafruit sensor code of anything I considered unnecessary (floating point? gone! functions that make the sensors interface generic? gone!) so it would fit on the ATtiny in the Trinket (5000 bytes of code space! whee!). And then I wised up and realized I was going to spend all my time making atan2 tables, I should do the prototype on a regular Arduino.

It is funny how 32k feels HUGE and the ATmega is blazingly fast compared to the ATtiny. I stopped rewriting the Adafruit code and started writing the code I wanted. This was a good decision as it gives me more time to play (and since that’s what this is for me, making it seem like work was a good way to get frustrated and move on to another, more fun project).

I think the accelerometer mode should be the simplest. It should glow red if gravity is felt in the X direction (positive or negative), green if Y, blue if Z. This would let me talk about how accelerometers are used as gravity sensors the majority of the time. While free fall detection and actual acceleration are interesting, mostly we want our devices to know which way is down. (Since I’ll use double taps to move between accel, gyro, mag, and off modes, discussing gestures will be natural.)

For the gyro mode, the LED will light proportionally to how fast the rate sensors see movement. This will go nicely with my notes about how rate sensors are only useful when things are moving.

The mag mode will be the North Star implementation I described before.

I started out wanting a ring on a Trinket. Now I want a multi feature demo tool in a box.

(Note: I cross posted this project log from a new Hackaday project. I’ll be putting build details over there as I get it working. I’ll probably post here when I write less technical stuff.)