Posts Tagged ‘adventures in tech’

h1

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).

Slide1

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.

Slide2

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.

Slide3

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.

Slide4

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…

Slide5

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.

Slide6

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.

Slide7

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.

Slide8

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.

Slide9

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?

Slide10

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.

Slide11

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.

Slide12

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.

Slide13

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.

Slide14

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.

Slide15

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.

 

h1

Beagles in Paris

September 24, 2014

I’ve been working on a way to demonstrate a networking feature. I should tell you all about the networking feature but let’s just pretend that, like all routing protocols, we don’t really care about how it works.

Actually, that is why it is hard to demo networking protocols: either the demos do something and everyone says, “oh, I could do that over TCP/IP” or they don’t have any interface other than wireshark and everyone says, “wow, I’m bored.”

Yeah, I’ve been working in networking and missing my microprocessors quite a lot.

ANYWAYS… the demo! I have:

  • 8 BeagleBone Black, rev Cs
  • 8 LCD screen capes (these are absolutely marvelous)
  • 8 Webcameras
  • 8 brochure stands
  • 2 100W power supplies (each feeding four units, 5V 2A)
  • 1 hub to rule them all
  • 1 laptop to run the obligatory wireshark
  • Assorted cables (Power, Ethernet, one USB for config/debug)

We’re running something that acts like Dropbox so they all share the same data. (Seriously, I could tell you how but I’d use phrases like “Bit Torrent for the Internet” and get dirty looks from my workplace or crossed eyes from you.)

Before I go on with a few details about the build, how would you demonstrate Dropbox? As a walk-up, show-n-tell style demo on a crowded expo floor? Something that makes sense once you use it is remarkably complex for a demo.

For my demo, every second, each BBB takes a picture. It displays it on its screen and puts it in the shared directory. In another window, it uses a slideshow program to look at all of the pictures in the shared directory. Think of it like a security system, I show you what I see and what everyone else sees. This setup lets people see the how fast files are sync’d and the Ethernet traffic that passes on the wire to implement the protocol (look wireshark, no TCP traffic!).

Beagles

The main difficulty I have working with the single board computers like BBB and Raspberry Pi is that I don’t know the overly crowded space. Good software might have terrible websites, yet vaporware always looks real. It took me a multiple hours of research and testing to settle on streamer to take still pictures and on feh to display them.

For the most part I used three units to do the setup and testing. Eventually, I got it working well-enough to go ahead and set up on all eight units. That was when most of the problems actually showed up, of course.

My pictures kept getting overexposed. They’d start out ok but get lighter all the time until all images turned white if the system was left alone. Of course, it took some time to figure out that the exposure setting was the problems since if I interacted with the units, it took much longer to get to white. Eventually I searched for possible causes, downloaded v4l-utils so I could try v4l2-ctl which communicates with the camera to change settings.  I added it to my start script and apt-get installed on all 8 units.

However, my pictures kept being overexposed at the top, for the top 20%. It wasn’t due to light flicker, pointing at a window (or covering the lens) got the same top part lighter than the rest image. It was definitely the image capture program. I’d put camorama as a step to verify the webcam worked from the display (it is a touch display, so pretty, so nice).  It didn’t have the same problem, but it doesn’t get stills. So I tried a different capture program: fswebcam. That didn’t help the problem and all a change of each control parameter didn’t help. However, fswebcam lets me take a bigger picture and then crop it down. So… problem solved-ish, once I apt-get installed on all 8 units.

I don’t know if that was an artifact of the camera I chose (the fairly expensive Microsoft LifeCam HD-3000). I tried a $6 from the random-cheap bin at Central Computer and it worked fine though the stills didn’t look as nice so I put it in a drawer, forgot about it. I may try to see if it causes the top-image-light problem but since I’m locked into the gear I have for this month, the only way is forward.

Though the slideshow program has been the stable and reliable part of the system for the last few weeks, I’m not sure I like feh. It has a term that will cause it to reload the image. So if I am on Charlie, looking at Alpha’s pictures, feh can reload every second so it shows the latest of Alpha’s pictures. Well, it can do that only if it is not also in automatic slideshow mode. It can reload images or change images. It is as though there exists only one timer in the world and feh must do the best it can with its feeble resources.

It is open source, I could download the code, understand it, fix it, and copy it to all of my units. Or I can make the slideshow a little faster so you are never stuck on one unit for too long.

The slideshow already gets a bit frenetic. Even with only three units it is a bit dizzying: the BBBs bright blue blinking lights, the screen’s orange blinking light and green shining one, the slideshow updating its window every second or ten, and the captured image updating every second. I had five units working Wednesday and will have seven or eight working all at once tomorrow.

I’m not sure how many they will run in Paris, it is ok with me if they only unpack three. And, I’m not sure I’ll have all eight working in the lab tomorrow because DeltaPuppy seems sick. Who gets a kernel oops in a mv command? I sort of expected that when I named GolfPuppy and HotelPuppy, those sound like slackers. Delta has spent more time getting its hardware put on different mountings so maybe it just got knocked around too much. (Yesterday, the mechE turned down my offer of ESD bag and carrying box, popped it into his bag; I begin to see why Delta is sick. Though, maybe this isn’t a sick puppy, just a victim of happenstance, he isn’t always sick…)

Our intern is going to Paris to herd the demo along (and a couple other dogsbody duties [omg, pun totally intended, snicker]). He didn’t even flinch when I gave him the two page long “here’s how you run it” instructions. Not even when I gave him the five page long “here’s how you build the system”, told him he needed to know in case anything went wrong. I think he’s really excited about going. I hope he brings me back something French.

I’m not going. I thought I might want to go. But things here are keeping me here and that’s ok.

The multi page instructions have been replaced with an expect script. Now it takes N lines to set up N units. And you don’t have to look up their identifiers, just know the first eight letters of the international phonetic alphabet. (The intern doesn’t know about this improvement yet, I’m looking forward to surprising him.) Also, expect is wonderful. I haven’t used it in years but it really is efficient. Now I know why my coworker asked why I was typing things instead of making a script.

Speaking of scripts, I wish I could turn off all the cruft that starts with the BBB. There are all these programs and I don’t really want them running (heck, I don’t want them there). I know I could edit init.d but I’m a little worried about breaking something. I haven’t yet seen a good guide to stripping down the BBB Debian system to the bare bones. Anyone have any suggestions?

Overall, I like the BBBs, I love these screens, I’m indifferent about the webcams, and I’m uncertain about the final mounting. I retain my Linux-is-hard-because-nothing-quite-works feeling. There is little standardization (one program likes to use man, another info, another has a sparse man page but gives a nicely detailed output with a command line –help invocation). And I like that this demo is built from off the shelf components, only a bit of extra software (most of which the demo team will provide in tutorial sessions). It has an “I built it, so can you” vibe going for it.

h1

Wandering Silicon Valley looking for techy fun

August 2, 2014

A podcast listener, Brian, asked an interesting question- he’s been traveling to San Jose and San Francisco for work, he enjoyed stopping by HSC/Halted. If you’ve never been there, it is very amusing. It is a warehouse where electronics go after they’ve been bought, resold, taken apart, and then resold again. It is a fun to visit, looking at power supplies from the 60s, radio cabinets from the 40s, and disk drives from the 80s. He planned to visit Weird Stuff in Sunnyvale, a similar sort of store. He asked if there were other places I could recommend checking out. My response:

***

Have you been to Hacker Dojo in Mountain View? People go there to hang out, get together at meetups, and sometimes to work. You can walk in for free and walk around asking people what they are working on. People apparently don’t mind. (I’ve only worked there once and we had a pretty strong don’t-bug-us vibe.) Being a member lets you schedule rooms and get a key to use the site in off hours. You don’t have to be a member to grab a table and have folks come by to talk to you.

There are a few hacker spaces, many of them are very friendly. I’d search for you goal zip code and “hacker space”.

There is also the Tech Shop. There is one in downtown SJ (also SF and a couple others). Tours are free, classes can get expensive. You don’t have to be a member to take classes and while you are there for the class, they usually let you roam. (You can just go in to use tools you are rated on for ~$10 or the monthly/annual fee.)  The Tech Museum is more for kids but can be amusing (and is downtown SJ so you can do that and the Tech Shop in one day).

More in the HSC/Weird stuff range, have you been to Saturday De Anza Electronics swap meet? Imagine you got to wander every electronics hoarder’s garage. Some say the people are very nice (it is one of those “if you are social, they are social” things that I tend to fail at).

It seems like there is a conference every week at Santa Clara, San Jose, and SF’s Moscone convention centers. (Seriously? The World Flash Memory Summit? Why?) These sometimes cost money but you may be surprised how quickly they’ll give you a pass if you say “I have a blog” or “I want to see what it is about so I can let my boss know”.

Is this what you were looking for? There is also meetup.com which has a ton of meetups: robots, auto hacking, ham radio, etc.

Oh, right, don’t forget to hit HRO when you are near HSC.

I’ve also found wandering the Google campus on the weekends to be nice, they have a strange set of buildings (and I like architecture). The Computer History is in Mountain View too. Make sure you see the Babbage Engine go, it makes calculation stunningly beautiful.

I don’t know as much in SF, I usually go that way for culture more than tech. But there is a ton of tech there (and meetup.com will help with finding that).

***

From his happy response, I went into more detail than expected. And, of course, he’ll be in town for the Flash Memory Summit.

 

h1

Beagle Bone Black

May 17, 2014

I have a beagle. She’s a great dog.

No, that’s not right. She’s a terrible dog.

When you look up breed information about beagles, you see “merrily stubborn” and “amiable and determined.” What that means is “thinks you are an idiot but is pleased with the opportunity to laugh at you.”

My dog thinks I’m dumb for not wanting to roll in whatever it is she just rolled in. In her world, I’m her not-so-bright straight-man, trying to make her go in boring directions instead of following her supernose. But she’s a happy-go-lucky dog, having accepted the burden of trying to teach me about the joy of squirrels.

(Seriously, she’s an awesome dog, far too intelligent, and very seldom as sad as her pictures indicate.)

And so we plug the beagle into the USB port…

Every time I think about the Beagle boards, I fall into rumination about my pet. Let’s just say, this board had best not act like my dog.

But let’s see what it does act like… Philip over at Fliptronic loaned me his Beagle Bone Black for a week or two after my twitter-whining about Sparkfun’s lack of stock got overwhelming and I finally just asked if anyone had one I could borrow. Yay Philip!

I spent some time on beagleboard.org, reading about the system. It looks sort of like an Arduino or an mbed or any number of other small processor development boards. I keep forgetting that it (and Raspberry Pi) are computers, not really embedded platforms. Certainly, it has more oomph than the computers I had in the 90s.

Now that I have one in my possession, what am I going to do with it? I don’t have an end goal but I do have a couple of things to try, mostly following along with some Adafruit Beagle Bone tutorials.

Step 1 is unbox it, then plug in the BBB to USB.  That was relatively unclimactic until I plugged the hub into my computer. Then it started signalling planes with its ridiculously bright blue LEDs. Next step, install drivers.  Clearly my beagle told them about my mental deficiencies because they’ve really made the getting started page simple.

Though, of course, it didn’t work. (I swear, computers hate me.) Everything installed ok, didn’t say I needed to reset my computer. The getting started page say to use Chrome to navigate to http://192.168.7.2/, which will be a network-over-USB thing. That doesn’t work. The page says older software images require ejecting the BBB as a USB drive but that gives me an error (as in “An error occurred whiled ejecting ‘Removable Disk (G:)”, thanks Microsoft. Unplugging USB doesn’t  work but it does get the flashing lights to stop.

Oh gods, the flashing lights. They make me really, really anxious. I put a sparkfun box over them but it still leaks. I thought I could deal with it but making it stop was such a huge relief.

I think the next step is to find a bigger, less light leaking box. Oh, and reboot my computer to maybe activate those drivers I installed (despite the huge warnings Microsoft put up).

 After Windows reboot

The reboot didn’t work but using the USB cable from the box did. The BBB is serving up a webpage which has little scripts I can edit and run (from the webpage). There is an IDE that runs (Cloud9 IDE) though I have to sign up (I hate signing up for things, particularly for things I don’t know if I’ll want to play with).  There is an SSH shell that doesn’t work (“This webpage has a redirect loop”) until I set the date (there is a button on the page that will do that).

Lots to do. Lots of hardware pins.

I’m torn between an dimming an LED and reading about I2C RTC so I can use the information to talk to an accelerometer or something. (I suppose I have an I2C RTC around here somewhere but I know where the accels and fuel gauges are.) I also want to update the FW build, maybe cross compile it myself so I understand all of the pieces. Oh, and I could try out Willow Garage’s robot operating system for Angstrom (the Linux variant that the BBB runs).

Oh, I2C was pretty easy. I don’t even need to know the address? What sort of black magic is this?

There is so much here. I’ll be lost for awhile.  That’s ok.

h1

Introducing myself

November 8, 2013

I need to introduce myself as I'm on a panel for a MEMS pitch contest. I have no real idea what I should say. I'm nervous because the other panelists/judges are VCs. Still, let's see if this will work…

****

I am Elecia White. I've shipped dozens of products and wrote the book on making embedded systems. My role here is to be the voice of industry.

I've used many MEMS sensors but spent more time wishing I had their price and robustness for other products.

When I worked on DNA scanners for HP Labs, I saw a huge need for microfluidics. I wish we could travel back in time a decade or two and share what we've got now.

After that, I worked on race cars, tractors, and airplanes. It is easy to do all that at once when you make an inertial measurement system. I worked with Crossbow to make one of the very first all-MEMS IMUs. The MEMS accelerometers and the gyros gave analong data then.

Moving to consumer applications, I worked on children's toys for Leapfrog. I learned about large scale manufacturing. A $0.50 three axis accelerometer is amazing… but too expensive to use when the bill of materials can only total to $4. I've heard some of you say the margins are too slim but consumer devices don't usually have much to start with.

I've also worked on a large scale distributed sensor network for ShotSpotter, locating gunshots by spreading acoustic sensors around a city and automatically notifying the police when gunfire is head. I learned to distrust the hand-waving so often associated with the internet of things.

I've been an engineer, architect, manager, director, and founder. I prefer technology. So now I'm an engineer and architect for Logical Elegance, a small consulting company specializing in embedded software.

I'm also the host of a podcast about gadgets.

So that is me.

Pitch finalists, there will be a few things I am specifically looking for.

I care very much applications: DNA scanners, race cars, children's toys, gunshot location. Yes, I care about applications. I want to see something that is really useful, that is more than incremental progress.

Second, as an engineer and gadget geek, I want to know how your product is exciting. I want it to be something that I want to work on or something that I want to own.

Finally, I want to see that you recognize the distance from concept to product, that you understand the grindingly difficult task of getting software shipped and a contract manufacturer set up.

I'm looking forward to your presentations.

****

This was received very well, I ran longer than the others and was a bit more animated and dynamic. Taking potshots at IoT and MEMS people whining about margins actually made me popular. Strangely.