Let’s Get Wordy!

November 20, 2014

I got a MicroView: a tiny Arduino with a nice OLED screen. I want to make a ring with it. When I tap the ring, it should give me a word. If I tap it again, the ring shows the definition. I’ll call the ring WORDY and vocabulary geeks all over the land will rejoice.

I’m sure you are wondering how to build this (and not why I would want to). The critical component is the MicroView. Here, have a picture to see how big it is on my hand.

MicroView on my hand

It fits reasonably well on my ring finger, easily on my pinky. Now all I need is:

  • A battery
  • An accelerometer
  • Ring to mount it on
  • Connecting all that together

Let’s start with the battery.  It has to be small. When I measured the MicroView as consuming 330mA (5V), I was bereft. Of course, where was it putting the 1.5W without burning things? Once I read a handy book with a section on how to measure current correctly with an ammeter, I found that the MicroView consumes about 13mA with the screen lit and can be put to sleep to consume 0.13mA. And once I stopped trying to use STUPID math (thank you tymkrs IRC!), that meant I could expect a 50mAh battery to last for about 100 hours, far beyond my minimum goal of 3 hours.

Tangent: When I work on client projects, I’m quite disciplined, writing things down, looking them up, and double checking my math. It seems that on my own projects, I keep trying to shortcut to the most obvious solution. Maybe it is because this is Arduino-based so I think it should be easy. That’s dumb because I’ve used the ATmega328, it is not a simple chip. Adding a layer of niceness doesn’t make for an easy system, it just is one layer of niceness.

The next thing to add is an accelerometer. I like accelerometers: they give a layer of flexibility that is just lovely. I could say I want to “tap to activate” and have that mean: tap, move above some threshold, double tap, change orientation, etc. I could work out the user interface details after my prototype was functional.

Or it would mean that if I didn’t keep blowing up accelerometers. Naw, that’s not right, if I’d blown up the accelerometers in tiny little explosions, that would be better. Instead, I tried to use the Sparkfun MMA8452 breakout board. There is plenty of example code for this accelerometer on an Arduino. Funny thing though:  the standard Arduino board uses 5V but has 3V out. And there were some writings about adding resisters to decrease the voltage that the 3V accelerometer part would see on GPIOs.

Perhaps I should have paid more attention. Though I did read it several times. I should have looked several plus one or two. I would never just try it if I had an EE to talk to, which I would at a client’s. (Sadly, my best EE friend moved to Seattle. He’s happy but I have no one to take to that Japanese place next to Baskin Robbins and bribe into telling me I’m about to do something moronic.)

Anyway, that accelerometer is dead. I forgot to do the voltage limiting resistor trick on my interrupt line. Whoops. (Since I need a low signal to get out of sleep, I used the internal Arduino pull ups. Anyway, that accelerometer is dead.)

However, Adafruit makes me think I’m not the only one with this particular issue as they sell the same accelerometer in a 5V tolerant breakout board. Two things you should know: it isn’t the same part (MMA8451 instead of 8452, mostly the same but not, you know, the same); and the address line is not 5V tolerant. I couldn’t get it to respond to the “who am I” register query so I kept moving the address line until that time I missed the 3V (output from the Adafruit board) and the GND, putting it on the 5V that is between them on the pins.

breadboard with dead accels

Here you can see a picture of my little breadboard with my two dead accelerometers. A new Adafruit accelerometer will be here tomorrow. My driver is in a better state (it worked right before the accelerometer stopped working) so I’ll be leaving it in the default address state.

However, this Adafruit bread board is just a wee bit too big. I mean, just a tiny bit too big.


My plan involves a Dremel tool (and safety glasses and a mask). Should be no problem right? Actually, the top of the board has several 3-4mm of unnecessary board. I only need to shave off 1mm and it will fit.

In the meantime, the button works really well. If something happens to the accelerometer tomorrow, I’m going to radioshack to see if there are any tiny press buttons.

Stumbling along in the project, I have ring blanks. I made them out of freaky “cloud” clay I found at the hobby shop (D&J is awesome). I was hoping they’d have small LiPos, only in other things and long-thin ones for aircraft but they did have this cloud clay.

It is pliant when dry and super light. It says it doesn’t shrink but it totally does. It smells like hair conditioner. Nail polish works really well on it so even though I got white, my rings aren’t staying that way. It isn’t rubber like Sugru but it seems reasonably durable. I would like to 3D print a ring base but I’m pretty happy with my cloud clay blanks. Though I might try Sugru too.

Now, connecting it all together. Hmm… the new battery will have a JST connector. I can’t see how to keep that which means cutting that off and stripping the wires. But how to route them? I’d like to put them in something with a connector but then I have to run wires around my finger since the connectors are sorta big.

ring blanks

Yeah, those wires are pretty hideous. I guess I’ll  wrap wires around pins and use a little bit of electrical tape method. I don’t like that either as it becomes a construction project to charge the battery but, hey, 100 hours means a lot more play time than the 3 hours I thought. Though, since the clay did shrink, some of the ring blanks don’t fit all of the pins (as shown). I can make some new ones, I like playing with the clay. (Did I mention it is a little freaky? It is weirdly weightless.)

As for the code, it is pretty simple. I’ll post a link. The flash based wordlist that gave me the most trouble (again because I went for the easy looking path instead of what I know to be true about the ATmega). Also, I want a much better word list. The GRE vocab list I started with is interesting but I know most of these words. Wordnik has a lovely set of lists and words but they aren’t easy to download (maybe there is an API?), On the other hand, the sleep and low power code went in without a hitch.

So, this is what I’ve been working on. It has been amusing and difficult. I’m ashamed of myself for blowing the accelerometers but sort of pleased with myself for using my downtime to learn things, even build things.



Still Alive

November 18, 2014

I haven’t been writing here so much. At first, it was because I was frantically busy, trying to impress clients with knowledge by reading ahead in the textbook the night before. Then there was a wedding which I maybe over-planned because that’s what I do when nervous (it was great, we stuck to plan A nearly the whole time; I probably didn’t need to create plan N, let alone Q).

I finished with my clients the week before the wedding. I’d rather do something closer to my skillset. I like learning but I want to build closer to what I already know instead of continuing to cantilever ever more esoteric information.

I’ve been contract-free for a couple weeks now. That used to freak me out. I was ok for one week but not much more than that: OMG, will I ever find work again?!?

As I did the accounting, I found that the business can pay us for the rest of the year with the money we have in the bank (not even counting outstanding invoices). Sweet! I have three potential clients starting in the New Year, probably one will work out.

And, yet, I still didn’t write. There was hackaday judging but that finished a while ago, writing up my thoughts didn’t talk all that long since I had plenty of notes. There was some planning involved with my birthday party (cake, check; guests, check; champagne, check; flowers, check; planning done!).

I did go to a class from ST Microelectronics, acquiring an M0+ discovery board,  M0+ nucleo board with a BTLE daughter card. That was interesting. I wanted more “how to do low energy” and they had “look at our super shiney parts you can use to do low energy”. There were some hints but nothing new to me (sleep early, sleep often, sleep deeply). I also got a potential podcast guest to talk about Cortex processors but he was baffled by the idea people would listen to a whole hour of reasonably technical information. (Yes, this does concern me, we’ll see.)

And now I’m at a class about 3D printing, getting terrible and expensive ideas about things to buy for our business. This afternoon, I plan to attend a class about wearables and electronic textiles (stretchy conductors!). I’m here on a press pass (boggle), mostly signed up to attend because I have free time and I’m procrastinating about other things.

Both SOLID and the embedded systems conference have opened their call for speaking proposals. These are both “in my wheelhouse” (I hate that phrase but I find myself using it far too much, I suppose it allows me to say “in my area of subject matter expertise” without sounding like a total nerd). I don’t have a plan for them. I’m tempted to take a chapter from my book and talk about it. I’m tempted to compile a bunch of low power tips and making a presentation. I thought about updating my network comparison presentation (see Element14 text version). But these all seem like so much work. Can’t we just have a podcast about it?

I do have a little project I’ve been working on involving my MicroView (tiny Arduino based system with a pretty OLED screen). I’ll write about that separately since I’ll put the code up (even ask for input!).

Anyway, I’ve been distant for a month or two but you’ll probably hear more from me in the next month or two. I should be looking for a contract but I’m goofing off instead. For a little while.


Why this should win the Hackaday Prize…

November 11, 2014

I was a judge for the Hackaday Prize. The contest was to build something awesome (and connected). The first prize was a trip to space (or the ~$200k they thought it would cost). All of the top five finalist rewards were pretty incredible.

I judged the 50 semi-finalists, scoring them on openness, wow factor, connectedness, reproducibility, innovation, and user experience. Once we had the top five, they got another month to work on their projects and we re-judged, adding manufacturability to the judging criteria.

It was hard. While I thought all of the top five belonged, there were many of the top 50 that could so easily have been in the top five. Now that Hackaday is about to announce the prize winner, let me advocate for which one(s) I think should win, in no particular order.

SatNOGS aims to build a global network of ground stations to listen to satellites. Their new finalist video was great, a perfect introduction to the problem (and the team). And this, unlike the other finalists, was a clearly team effort: a huge project with lots of parts to it (hardware, mechanical, embedded software, servers, UIs).  Still, the application to readers was nontrivial: in my backyard, I could build one of their widgets and help people around the world listen to the satellites.

Enabling technologies are tough to make appealing. It is easy to fall into the lure of a personal satellite (e.g., cubesat) but listening requires more infrastructure than most non-governments have access to. This is exactly the sort of problem that needs to be crowdsourced. The SatNOGS team made it easy for people to join. Their fantastic documentation leaves lots of options for building; it is a good instruction set that still lets me customize to my particular interests (and parts available). It would be fun to build this with a middle or high school student to get them interested in space technology. Between their excellent build instruction, good use of other open source components, and their topic (space-oriented so therefore prize-related), SatNOGS should win.

In the RamanPi project, the creator makes a spectrometer. OMG, you guys, I have ALWAYS wanted a spectrometer!!!!! (This is a total OMG Ponies! moment.) What’s even better, after reading the documentation, I feel like I could build one. Before Christmas. I could have my own little gadget to tell me what things are made of. I could take it with me and explore the water components around the bay or the soil composition. I could be a SCIENTIST.

Err… sorry, where was I? Ahh, right RamanPi. Not only was RamanPi a great item to build, the way the creator did it was great. Being new to the area, the project logs show the real sort of two steps forward, one step back that is a part of engineering we hide too often. Even better, the use of 3D printing to avoid expensive optical benches is something I’m going to be using myself. I like that the home 3D printer is being put to use to create this level of awesomeness. This project was all about what is possible and kindles the desire to explore: RamanPi should win.

The PortableSDR project is a software defined radio. It is small (truly portable) and has a well thought out display (aka I loved the waterfall display). I very much want a kit of this. Though I may use it as a portable spectrum analyzer instead of a way to listen to all of the radio bands at once.

While the tech on PortableSDR was neat, what I liked most was teh humanness of the creator. While the finalist and semifinalist videos were clean (I liked that the finalist video was outside, where the PortableSDR is likely to live), there was at least one video with a messy bench and cartoons running in the background (I suspect a kidlet). This was a person who had an idea, who put it on Hackaday because it was neat. Now he’s a finalist and people want kits and finished products. I don’t know what he meant to do next in his career but he’s probably changed the course of his life by following through on his idea. I want to see what happens next. PortableSDR shows the best side of Hackaday: follow your dreams and the rest will follow. PortableSDR should win.

The ChipWhisperer project is one I keep sending to all of my hardware friends and saying, “see! look!” The project uses power analysis to crack software security in chips… which is to say that this gadget breaks most of the security on most of the devices we all use right now. It is terrifying. On the other hand, these sorts of tools already existed, they just cost a lot. Now it is cheap ($1500 for the prebuilt kit, as low as $100 for DIY pieces) but we were never safe in the “secure because math” mindset.  While this makes my job more difficult, it will make everything better in the long term.

Even as scary and important as this project is, there were many other things going for it. It takes a complicated topic and makes it sound easy and interesting.  Many people want to know where to get started with FPGAs. This is a great project for that. It would be hard to do this power analysis in a microprocessor or single board computer. This is a good use of FPGA to solve a non-contrived problem. It would be useful to read the code (which was well written, at least the stuff I looked at). There are lots of pieces here: desktop software, the embedded, hardware, and FPGAs. I’m impressed that he didn’t stick to his hardware, he talked about how to reproduce with other kits. Hackaday has traditionally been about breaking things open to see how they worked. ChipWhisperer takes that ethos and puts a rocket behind it; ChipWhisperer should win.

The Arducorder is an “open source science tricorder”. I think the most important thing in there is “science” though I could see it doing a smackdown with “tricorder”. The author took a lovely display and a tiny Arduino based board, added a dozen (seriously) sensors. I truly want one of these.

Let me pause here to say that I don’t think I’ll be going to Mars. This makes me sad. I don’t even think I’ll get to the moon. I can only hope that someone in my future goes to at least one of these places. But unless we stop teaching kids that science means boring memorization, no one is going to go. Space will become a cold, dark, empty wasteland.

Back to Arducorder… by having a charming display, easily extensible software, and all of these neat sensors, it lets people walk around saying, “how is this different than that?” It fosters curiosity and reminds us that science is about discovery. Talking about gravity as acceleration is a lot more fun when you can see the data. Arducorder enables science education in a way that is just brilliant: Arducorder should win.



Ada Lovelace Day: Liane’s mom

October 14, 2014

I don’t know her name, I only ever knew her as Liane’s mom. I suppose if I addressed her, it would have been as Mrs. Pritikin but, in the way of teenagers, I doubt I ever addressed her directly.

Liane was my best friend in high school. It was before the word frenemy; that would have described our academically competitive, personally giggly relationship. We spent a lot of time at each other’s houses.

Her mom wrote code for some classified project, I never knew what, only that it was government related. She would talk about the puzzles and about code (even about the punch cards they were finally phasing out). She liked her job, more than my mom liked her drafting job. Liane’s mom enjoyed being smart and successful. She wanted the same for us.

She was a software engineer before I knew the term. She didn’t talk about harassment at work or being a woman in technology. She went to work, came home tired, and helped her daughter’s friend with physics homework.

When we talk about the people who have made an impact in our lives, sometimes the people who simply and happily persist are the ones who make the biggest difference.

I cried when Liane’s mom passed away. It was maybe a decade after I lost routine contact with her daughter. I don’t think I ever thanked her for setting me on this path. But I do remember. Fondly.

Written for Ada Lovelace Day 2014: Celebrating the achievements of women in science, technology, engineering and maths. This was also posted at the O’Reilly Radar site.


Silicon Chef 2014: The hardware fun continues

October 2, 2014

This is the presentation I gave on the final afternoon of the Hackbright Academy’s Hardware Hackathon. The audience consisted of the women hackathon participants and the mentors (gender unlimited).


Even though there is a lot left to do on your projects, the hackathon is sadly close to over. However, the hardware fun can and should continue. My plan is to talk about why you might even want to consider making a careers of it.


I’ll be quick, I know hacking more fun than listening to blathering, at least it is for me. On the other hand, feel free to eat (or digest). Give yourselves a few minutes to relax, to let your subconscious chew on the problems you need to solve before today ends. I’ve found that bugs often get fixed quicker that way. And I won’t be offended if you sketch on the tablecloths.

Since this is a women’s hackathon, let me start off with a few points there, some things I suspect you’ve already heard.


Blah, blah, blah. Women in tech. Blah. Blah, blahty, blah.

I’m tired of women-in-tech being a discussion point. I just want to be in tech. I don’t want to be a unicorn, that’s just silly.

Nonetheless, we are doing better with girls in science, technology, engineering and math. The trend continues in high school and even through college. That’s where computers and engineering drops off so we still have to keep working on it but I don’t think that’s the real problem any more.


Women leave at twice the rates of men leaving the science, engineering, and technology workforce. 50% of the women who leave use their training to work for themselves, for a non-profit, or work in a startup. The other half abandon their training to work in a different field, and 20% of those who leave, leave the workforce entirely.

I wanted to mention this because I want you to stay…


Consider it a personal plea.

I prefer to work with more women, even though they tend to notice my shoes more than my men coworkers. Maybe because.

It isn’t that women are better than men: just different, with different perspective, different experiences. Diversity matters, especially as our technology grows more complex and more pervasive.

I’ve been in industry for 20 years, mostly in embedded systems, writing software for things that aren’t computers.

I got into software because that is how my brain is wired, code came easily for me, far more easily than public speaking.  I started out working on software for servers. It wasn’t glamourous. But I moved on from there, going to work with a team that did things closer to the hardware.

I fell in love a little bit the first time a motor moved because my software told it to. I hope some of you fell in love a little bit this weekend.


This is the dumbest slide. I wish I’d found something better!

That rush of affection for the hardware and the satisfaction of software puzzles are part of why I’ve stayed in engineering, even through some tough times.

But while I like software, I also like writing, program management, gardening, kittens, and cupcakes. To make a long term go of things, you need more than liking, even more than the crush I had on my motor.

It probably won’t come as a shock but, in industry, some days are not good: work is no fun, coworkers can be jerks, and it feels like everything is broken and will never, ever work.

For days like that, I say: applications matter. The way your software (or hardware) helps your users can make a huge difference to how you feel as an engineer. Applications are what can keep you going through the bad times.

Engineering is hard, there are plenty of reasons to leave: make sure you have reasons to stay. Once I got into working with hardware, I got to do some really neat things.


My first embedded systems job was at HP, in their Bioscience division where I got to make a DNA scanner, the very first on the market.  That part of HP became Agilent and soon after I wandered off to a little company.

We made inertial measurement units. Saying that was pretty much guaranteed to put a glaze on someone’s face and a quiet seatmate on any airplane. However, our units were used to keep airplanes in the air, to increase farming yields by 5% by helping tractors stay in aa straight line). and in race cars. This is why I’e been in a car going really fast around an oval, sometimes the application has only mattered for my own amusement.  Crossbow was of the first to put solid state MEMs sensors into the real world. I was the first technical woman in their company of 50. The other woman who worked there (when I started) was the receptionist.

But IMUs also work on bombs and I didn’t think how much that would bug me until I had evidence of one of my units, smashed nearly unrecognizable, having been mounted on and survived (sort of) a bunker buster. On that day, if you’d offered me a job being a Kindergarten teacher, I would have taken it and never looked back.

Happily, instead, I did the next best thing. I joined LeapFrog to make educational toys. I worked on their infant, toddler and preschool lines. It was hard work: consumer products are about making things cheaply. But working with kids as they tested things was incredibly rewarding.

A few years later, I got to work at a tiny startup, a gunshot location company, notifying dispatchers when guns are fired in city limits, excellent feeling of catching criminals and saving lives.

For me, when the drudgery of work gets to me: too many pointless meetings, stupid slights that might be gender based, all the fear of not being good enough… that is alleviated when I can put it aside to believe I’m helping someone. Whether it is a medical device saving lives, a toy that teaches a child to read, or even the routers that make the information of the internet available to more people, at the end of my day, applications matter to me.


From only personal data, applications seem to matter to other women too. There were more other women in educational toys and in medical devices. There were far fewer in military industrial. And wearables seems to be unsure so far, it is neat so I hope there will be more women there soon.

I like working on hardware because the application is easier to see, is more obvious. This is where embedded software and hardware hacking comes in, whether it is signal processing or low level software development.


You’ve already started, being here this weekend. I’m incredibly impressed by your willingness to give up a weekend to do this. I hope you’ve found some thing that fires the spark of your imagination, something that will give you strength if work (or school) has an unfortunate period.

Also, I hope you hold on tight to the community you find here and accomplishment. I have great faith they will help you persevere in difficult times.

Speaking of difficult times… How many are new to working with hardware? Did anyone fry a board? No? That’s sad. You should try it. At least a capacitor or something.

Note how robust the hardware was, even though I’m sure you touched the board when it was powered. Not being afraid of hardware is important, especially the relatively cheap stuff you have here. You might not believe how much satisfaction a little destruction can bring. More importantly, there is a lot of learning there, if only how to solder new diodes on.

But what if you did fall in love a little this weekend? What if you want to do this more?


I’m not going to tell you it is easy.

Most embedded software engineers started out as either a software engineer who got sucked down into the depths of the system. Or as a hardware engineer who enjoyed fiddling with the software.

Their educational background is either computer science (like the books on the left) or electrical engineering (books on the right). But embedded software is a combination of these two disciplines.

A new embedded systems engineer is cruising around with only half the knowledge they need. There has been a fair amount of talk about the “impostor syndrome” in engineering, where a person feels like they don’t belong and are pretty sure they’ll be discovered and ostracized.

I think this goes double for embedded engineers: until they can pick up the basics of the other discipline, they are definitely faking it. And there will probably always be some gaps. That is why many of my best friends are hardware engineers, they’ve helped me fill in the gaps.


And sometimes, the electrical engineers let me borrow their toys. Or help me build my own bench.

However, to get started, you don’t need a ton of book learning and a you don’t need a whole bunch of gear.

Those things can help but with the availability of Hacker Spaces and teams like you’ve met here, but they aren’t required.


What you really need is time and attention: to keep doing it.

The hardest part is getting started. You’ve done that this weekend. Now you just want the fun to continue.

So I hope you take your hardware home: I hope you fight over those boxes, or go ahead and buy your own gear (or borrow it from someone else). People who like hacking on hardware often like to get the latest stuff and are generous with their hand-me-downs.

Also: Ask, let people know you want to do this. And be generous with your gear.

Remember your first technological hardware crush and share it with other people.


As you share your learning, know that you are not alone. There is a huge community of people learning about hardware. They share what they learn.

You’ve already seen some things SparkFun and ElectricImp have for you. I don’t know if you saw that they have extensive tutorials and lots of reference code.

Adafruit is a lot like SparkFun: amazing hardware and excellent tutorials. MakerShed is an offshoot of Make magazine, a source for all sorts of inspiration.

Hackaday is blog site, showing you other people’s hacks, often how they built them and letting you interact with the makers. You can put your projects there and get advice, encouragement.

This slide could be a lot more crowded. Suffice to say that you are not alone in this.

I know from you will be taking away prizes, knowledge, enthusiasm and confidence. I have a few more thoughts I hope you take away from this weekend.


Software can teach children their letters and software can save lives by fighting crime and improving medicine. More than algorithms and data structures, software always has an application, one that can make the world a better place.

Building a weekend project to make a motor move and lights blink is awesome, especially if you do it from the web; it shows how we can touch the physical world through our devices, through our code.

You can go a lot further than this: the opportunities are thrilling. Working with hardware is the best sort of software.


Me, three hours later: dang it, I totally forgot to mention the podcast!

Thank you for sharing your lunch with me, I wish you the best of luck with your projects.Tweet me when you have a blog post about your piece, I want to see what happened and where you go from here.