Archive for March, 2014

h1

Tools and parts

March 21, 2014

I posted the previous entry because I was talking to Phil about it, didn’t want to lose it to the depths of my folders.

He’s working on a tools list but there are a few existing as well.

Dangerous Prototypes has a parts list that describes what they commonly stock. It would have been helpful choosing parts for my little board. They also have an excellent tool list.

Adafruit has part finder (which I found slow to use) and a how to equip your lab note that sounds like what Phil was planning. They also sell a starter kit for $100. Finally, they offer advice on the tradeoffs of different soldering tools as you build your own setup.

Sparkfun also has similar beginner things and a ton of excellent tutorials. They sell a basic kit of parts and a deluxe tool kit (note there are also basic and intermediate).

As for kits of parts, search Amazon for the Elenco ones (i.e. caps and resistors). Even the cheap ones are pretty well organized.

(Post cancelled as I want to go do things. If this isn’t enough to get you started, well, MakerShed has a whole Intro to Electronic category. If you want to break into making a home lab, you can. Really!)

h1

Start Tinkering

March 20, 2014

We tinker: we create and build gadgets. Then, we leave work and do it at home, for ourselves.

Working on projects at home, in our garages and on our kitchen tables, is thrilling because we get to work on our own ideas. But tinkering at home can be tough without the financial support, the equipment usually available in a well-stocked lab, and the other engineering disciplines doing their parts. We’ve each worked out our own methods for getting things done (or done enough). The hardest part is getting started.

There are a few pieces of equipment and some websites you really need to know. Of course, what we think is important reflects our backgrounds and projects so we’ll tell you our biases upfront.

A little about us

Jen Costillo is one of the founders of Rebelbot, a software consulting firm. She is a firmware engineer who has done the occasional stint creating hardware designs. She also has an MBA with a focus on entrepreneurship.

El White wrote the book on Making Embedded Systems for O’Reilly.  In her professional life, she is an embedded software engineer working on race cars, DNA scanners, and gunshot location systems. She is the founder of Logical Elegance, an embedded software consulting company.

Star Simpson got into tinkering early, finding it the best way to teach herself electrical engineering while growing up in Hawaii. She has since attended MIT for a while, worked on hardware projects for fun, built robots for academic research, and done some work in industry.

While Star started young, Jen didn’t start until her job left her with a need to get her hands dirty. Early in Jen’s career, she had a job that was primarily cerebral (researching technology and marketing). She’s a hands-on engineer so it wasn’t enough to satisfy her needs.  At first, she was making quirky items that there wasn’t a market for, but she quickly had startup ideas.  During her MBA program, she started making hacked-together designs to illustrate key points in class assignments. Since then, she’s primarily focused her tinkering on merging art and technology and attempted to extend those ideas into business ideas.

El has a different approach, preferring to see herself as a mad scientist, inventing gadgets to amuse herself and friends. She admits that she gets bored with the ideas once they sort-of work and often moves on to the next shiny object. While her first thought-project was a robotic dog (well before AIBO came out), she was just a software engineer at the time. Happily, she quickly moved closer to the hardware, found electrical engineering friends, and was able to create a TTL-UART to thumbdrive datalogger (when USB was new).

Since then she’s gone through a period that was all about things that light up (such as the year-round Christmas lights presented at DesignWEST 2012). Lately, she has been working on health related things professionally and it bled into her tinkering; El’s been playing with a shirt to correct posture.

The last few projects Jen has worked on have been for her RFID Dance Project which convert dancer’s movements into music and electronic wearables using sensor and light for dance performances.

As for Star, after hearing about a blind teenager who taught himself to see through sound, she’s been working on electronic glasses (think opaque sunglasses) that put out a click to help the wearer learn to echolocate.

Setting up a tinkering space

Whenever you are building things, there are bound to be specialized tools that will make your life easier. And they always cost a fortune. Some companies will let you borrow tools for a weekend; others frown upon you taking the $30k oscilloscope out the door: you probably should get permission before the security guard notices.

If setting up a space at home is difficult, you might look at Hacker Dojo, TechShop, or other local hackerspace. These are physical locations that can provide workspace and tools. They can be expensive but so is setting up your own lab.

Soldering irons

While it is possible to do some embedded systems tinkering without a soldering iron, you won’t get too far before it becomes a blocking item.

What you need depends on your goals:

  1. Will you be prototyping using PCBs or (solder-less) breadboards? (PCBs will need more soldering.)
  2.  If you are soldering, will it be surface mount or through hole parts? The types of equipment used will differ.
  3. What is your budget for equipment?

In general, breadboards are a cheaper way to start. They come in different sizes, get the biggest one you can reasonably afford, it gives you more latitude for future projects.  When you get it, look for a kit of pre-bent jumper wires to connect pieces. Tweezers for dealing with tight spots, pushing the tiny wires in the tiny holes is much easier with tweezers. You may also want a few alligator clips (or hooks), some additional wires (which mean wire cutters and strippers).

You’ll probably still need a soldering iron. After Jen bought her sub-$100 Hakko FX-888, El tossed her old $40 Radio Shack model and bought the same. A crummy soldering iron will let you solder connectors just fine (well enough to work with a breadboard). But a good one lets you solder chips (and stained glass, but that is a different story).

If you are software engineer, or really, anyone who isn’t an electrical engineer, starting with PCBs is probably an advanced skill. Still, if you are going to do it, get the best soldering station you can afford (which if you are attempting to do surface-mount technology (SMT), should be around $200).

For either breadboards or PCBs, the soldering iron is not enough. You’ll also need tweezers (angled or flat), alligator wires, screwdrivers, wire cutters (angled is nicer), wire strippers, pliers, wire in different sizes (gauges), braided/solid, and colors. You’ll also need one clamps to hold a board (“third hand”). Oh, and solder, probably a medium to small gauge, preferably with flux. You may also want electrical tape, heat shrink tubing and extra hot blow-dryer like tube shrinker. Really, once you have all these things you’ll find other things you need, for example, a toolbox to store all this stuff in.

El suggests avoiding soldering as much as possible (but she came from the software world so that’s no big shock). She’s got an iron, some solder, wires, wire strippers and a magnifying glass. But she mainly solders connectors on things. And then hot glues them so they don’t break. Which they do anyway.

Jen’s more serious with a solder wick and solder sucker to get rid of excess solder. She’s also got solder paste, isopropyl alcohol, and horse hair brushes.

The board (and power supply)

Soldering irons (and all the gear that goes with them) are something you’ll want eventually, probably sooner than later. But you don’t have to start there. Start with a board, maybe a fully assembled Arduino if you are really starting out. That will give you a processor and some lights (and a huge number of add-on parts called shields). Then the big tool you need is a digital multimeter. A cheap $5 one is ok, you don’t need precision, just a check to see if the voltage is in the range intended and an ohmmeter to see if connections are being made.

If you go with a different board, you may need a power supply. Sometimes you can power them off of USB for programming but if you ever want to disconnect your computer, well, you need another power source. Batteries can be tricky; wall power is a lot easier to get started on. To convert wall power to something your board takes, you can get a bench top power supply ($70) which will be useful in lots of projects. A cheaper option is a tunable supply that has different voltages available (e.g., Adafruit has a DIY version). Another option is to cut up an old wall wart that supplies both the voltage and current you need.

Eventually, you’ll want an oscilloscope and maybe a logic analyzer. Bitscope and Seeed oscilloscopes and Salae logic analyzers provide excellent bang for the buck by attaching to your computer. More professional models can be in the $5-10k range for a starter unit (and maybe much higher for the one you have at work).

But back to choosing a board- what you need depends on what you are doing. But in getting started, look for free boards (there are usually a few available at DesignWEST and other conferences). If you have a stockpile, then you can figure out the details later. If you have to buy one, look for one that advertises it does things similar to your idea, particularly if you’d heard about it. The best part of well-hyped Arduino and Raspberry Pi is that lots of other people are using them so there are free tools and large communities. Most evaluation boards come with free compilers (and have onboard programmers/debuggers) but they are often limited in some way. If you spin your own board, you may need to invest in a JTAG (or SWD) programmer for the chip you are using.

Some resources we find useful

Sparkfun – A vendor of many prefabricated boards and pieces that make it so software engineers can build a system without even buying a soldering iron. And the tutorials section really can help. Great community!

Adafruit  – Very similar to SparkFun but with a different set of boards. Check out their Ask an Engineer section as other people may be looking to solve your exact problem!

Arduino – El went for a long time thinking Arduino was a little silly but then she found a few people who never did embedded systems playing with Arduino boards, not realizing they were creating amazing embedded systems. With so many plug and play devices, Arduino really takes the hard out of hardware. Plus, it is a nice microprocessor and not hard to break out of the Arduino mold to get something easy to use. If you head in that direction (or you have other Atmel based boards), check out AVRFreaks.

ThingM – They make LEDs that you can program, for example to match your outfit, and then put with a battery in your shoes. Seriously, they make lots of neat lights, programmable with an Arduino.

Digikey – Hardware in depth, including datasheets. They are expanding into being a bit more user friendly, adding a schematic capture and lots of tutorials. Star has a Digikey policy: Never search!  The product index is where it’s at. She uses Octopart to do more finding (and to get datasheets). There are other electronics distributors; if you can’t find things at Digikey, look at Mouser and Future. However, avoid Alibaba.com.

Amazon – Has a wide range of electronics tools at generally ok prices.

Microcenter, Fry’s and Radio Shack – Sometimes you need to see what you are getting. These physical stores can help with that though you may need to go to all three to find what you are looking for (and the best price).

Make Magazine – This is a magazine of people doing awesome stuff out of their house. The issue with the garage-created jet engine is an excellent read. But they’ve branched out into kits, many directed to the teen market so they are easy to use.

Oh, and El’s book – Making Embedded Systems. It is for people who start out in CS or EE and want to go to embedded software where a combination of skills is needed. It is also for people who tinker who want a more professional view and some tips and tricks on interviewing.

Finally, if you are doing this for yourself (and you don’t intend to productize it), sharing it with others will make development more fun (and can look great on your resume). Github is a good place to share software and Open Design Engine is a good place for hardware.

my lab bench

Note: this post was originally written in conjunction with DesignWest 2013 for the Start Tinkering presentation with 

h1

Easier and harder

March 17, 2014

Armed with my gerbers, I went to OSHPark, the place where I’ve heard small quantities of small boards can be had at a reasonable price. It starts with a nice welcome page. I pushed the giant Get Started Now button, thinking I’ll need a log in. Nope, it gets started, wanting me to upload my files.

We’ve only just met, that seems a little fast.

I tried to upload files but it failed because I tried to upload the first of the many files in my newly unzipped directory. Happily, it told me to load the zip so I deleted my expanded folder and just loaded the zip file I got from electrical engineer Casey. Clearly, this site was designed for idiots. Which is great in this case.

When I uploaded the zip, it didn’t have one of the files but it told me which one was missing. I emailed Casey. But then, as I was procrastinating kitting parts decided to write up these experiences, I read more of the text surrounding the large buttons on OSHPark. It said I can put in the brd file. I saw one of those in the source directory (as opposed to the Gerbers zip).

This succeeded. Faced with a “name it and give us your email”, I had to choose Continue (the only other option was start over). The buttons were inviting but I felt like I was herded along the path.

The site showed the different layers, similar to what Casey had sent. They looked good. Now, Approve or Approve and Order? I wanted to order them… but how much will it be? They didn’t (yet) have payment info so cancelling was possible.

Oh! Check this out, on the next page it said:

Your design will cost $6.45 per set of three.

Squee! I can buy them! They aren’t very expensive. I have to buy in units of 3… well, I thought it would be $40 for 10 or 15 so… let’s do 15 ($32.25). And free shipping? Cool!

Seriously, this is too easy, it has to fail catastrophically any second now. Typed in my credit card number (obviously this is a business expense!)… now there is email from their bot and a receipt in my email account.

I just bought boards. Wow. That’s pretty cool. So easy a software engineer could do it.

 

 

 

h1

Releasing boards

March 17, 2014

The next few weeks are free of paying work (I do hope it is only the next few weeks but I am really glad to have a few weeks off).

I’m finally getting back to my own projects. The are-you-ok widget is probably the big one but before I get back to there, I’m releasing boards for my own project. Oh, some back story first:

I want a little motor board.

Actually, stepping further back… I want to build a tshirt that will help with my posture while sitting at a computer. The prototype is a T across the back, ending on each shoulder. There are three points along the top and three down the middle (with one share so there are five points). Each point has an accelerometer and a motor and connectors.Posture Shirt Sketch

 

I want to pass PWR, GND, SDA, SCL to all five sensors somewhat using the motor boards as a way to conduct and split the signal. Also on the motor board is, well, a motor: a  small coin cell sized motor.

I want to turn the motor on via GPIO which doesn’t have enough current to direct drive the motor so I need a MOSFET.  [Processors can’t drive motors directly because they don’t have enough oomph. The processor connects to the MOSFET which acts like a switch. Then the processor says “on”, the MOSFET turns the motor on, sourcing the power from another line (the voltage from the battery).]

Here is the schematic, using Digikey’s SchemeIt. Unfortunately, SchemeIt is not something I can use to send to a board (PCB) fabrication house. [That would be like drawing the outside of a house in detail but leaving the inside as an exercise to the builder.]

Motor Circuit Capture

I have three connectors on the schematic, if the board is square, then these are on the East, West, and South sides. You can see the connection pass through to each connector.

I’ve wanted these boards for a long time, ever since I tried to make this (pretty simple) circuit myself. I’m not a good technician. I don’t have great soldering skills. What is worse, if it doesn’t involve a processor, I’m not very good at debugging hardware. So that was a swing and a miss. 

However, I have this podcast so I whined about it on the podcast. Well, actually, I wanted to know which electrical CAD software I should try (one that isn’t many thousands per seat). The answer is KiCAD but a listener said he could layout the board for me. And Casey did.

Motor Board Layers

He finished in early December. And here we are in mid March. I am so embarrassed by the delay. One thing just led to another: new and difficult contract, the holidays, vacation, cold, working hard to make up for missed time, the embedded system conference deadlines. And with many such projects, once I got a couple weeks behind, instead of rising to the top, it just got buried.

However, getting buried is no excuse. I’m returning to dust it off and finish it. Having worked now with higher power motors (and with FETs and how to blow them up), I’m a little more confident in my circuit.

Now it is time for a few of the difficult parts. I have released boards to fab and kitted parts but that was a long time ago. I’m really nervous but I don’t have a good reason for it. This isn’t going to cost thousands of dollars, it is pretty cheap overall. I suspect the nerves are from it being a new thing and I’m doing it more in public so failure casts a wider shadow. I suppose “suck it up” is the only right answer to those feelings.

Things to do:

  • Put it on github. This is an open source project, always was intended to be.
  • Go to OSHPark to get boards fabricated, release the design files to them (the gerbers).
  • Order parts from Digikey.

My goal is to get those done today. Then I’ll wait a couple weeks and put it all together. I’d better get to work.