Todd Michael Bailey - Embedded Systems Contractor at Narrat1ve
Late! I took my first electronics class my junior year in college. I was an English major, and took on a whim. It was amazing – I learned to use a scope and read Horowitz and hill for the first time. After school I used my fancy English degree to get a job in a stereo repair shop, built a tube amp, and taught myself assembly language (6502 I think). I feel like I played catch up through the decades of electronics, building triode circuits, then stuff with logic gates, then 8-bit micros… Earlier this year I designed a little dev board for testing ARM Cortex M3 processors, so I’m hoping I’m almost caught up to the current era.
That’s a hard one! Like lots of guys that started in analog, I have a soft spot for old Tektronix gear. Jim Williams said it best: “It radiates intellectual integrity”. It’s also good gear, and easy to fix. I’ve got a 2467, a 454, and an old 564b ASO that needs some love. I also like the VFD display era of Agilent gear – I’ve got a 33401A meter and a 33120A function generator that I use all the time. Probably the best gear is gear you have to make, though. When I did a lot of RFID stuff I ended up making all these little jigs to test antennas because the company I was working for couldn’t afford a network analyzer. I still have them, and I sure learned a lot making them. Oh, also – I bought a Saleae Logic analyzer a little bit back when they started supporting Linux, figuring it would be a cute toy, and I end up using it all the time. They cost next to nothing and sure do save time.
Does GCC count? :-)
Generally I hate IDEs. I learned programming via assembly and shortly after, the Linux contingent got their beaks into me. Originally I viewed a computer as basically a dumb terminal, but I eventually came around to believing that if you don’t understand how your programs work, it’s just as bad as not understanding how a voltmeter or scope works. You never really trust them. So usually programs that don’t do too much handholding. I use Make and GCC for C programming, Eagle for PCBs (though I wouldn’t say I like it), and I use a programmer’s editor called “e93” that a buddy wrote. For debugging I use a terminal; usually xterm to display term or minicom to talk to the hardware. I’ve also written a couple programs in C for doing antenna calculations that I can’t do without some transistors helping me out.
Again, that’s hard because it always seems like the current one is the hardest :-)
If I had to pick, though…The first time I had to build an RFID system (the one in Hasbro’s “Hyperslide” game) I was really scared. It was at my first “real” engineering job, working for a toy invention house. We’d built this toy prototype using an off-the-shelf TI RFID system, and sold it to Hasbro. Awhile later the guys at Hasbro called and said it couldn’t be done with the Chinese hardware that the production device would need to use. I did some calculations and told my boss I thought that wasn’t correct. Basically they game me two weeks to prove I was right OR ELSE. I was mortified – here I was, a snot nosed kid who basically had made a couple tube amps, and I was being asked to correct REAL EE’s at a big company! I ended up ordering a bunch of books, a handful of reels of magnet wire, and holing up in my home lab for two weeks. When the meeting came with Hasbro, our system not only worked, but was better than the proto. Turns out the guys at Hasbro had been too busy to wind a coil and were just guessing. We gave them a great product and everybody won. It was an important lesson.
One of the things about going from having a degree in English to being an Embedded Systems guy is you have a lot of books. Mostly I learned from reading and doing and from a handful of mentors. My absolute favorite text is Horowitz and Hill – if you could only have one, that’s it. After that probably the K&R C book. I also like the Howard Johnson digital design book. The Ott noise book is great but dry, and I got really into a pretty obscure book on Op Amps by Peyton and Walsh. I just bought the Tanenbaum Operating Systems book. I want to say I like Gray and Meyer but I am not on that level yet, I’m afraid. I’ll try again next year.
Probably the majority of what I learned came out of datasheets and app notes, though. I’ve read and re-read the two Jim Williams “Analog Circuit Design” collections too many times to count. They are fun, inspiring, sad, and powerfully insightful all at once.
On the English side of the shelf I really like David Foster Wallace’s essays (but not so much stories), Richard Powers’ Galatea 2.2, Jeanette Winterson, and Michael Chabon. I was a pomo lit guy before I was an engineer, and never really got over it :-)
Think. Never stop.
I mean, there are little things you learn that are specific to certain situations, but you have to lead with your brain. Before you put your probe on something, you should think about what you would expect to see and why, otherwise it’s easy to look but not really understand what you’re seeing. Your brain must be in the “ON” position the whole time. It’s tiring, I know.
Hmm. Again, difficult. I built a digital audio sampler called “Where’s The Party At” which was a blast. It was more or less for fun the first time, but I ended up selling a few hundred of them. It’s really great when you get to make something which lets you push as hard as you want in a given direction, which you are in control of, and which the driving factors are fun and a little bit of pride. It’s EVEN MORE FUN when other people use it, and give you feedback. You learn about the ways you think and design, and you are led to do things you wouldn’t have otherwise, all without anything ever being a “job”. It rules.
They all matter. It’s a battle of inches. I built a bunch of stuff in the Whitney Museum of Art recently that lots of fancy people saw. That one is good for cocktail conversation. Many people actually get weirded out when you start telling them what you’ve been shocked by, as strange as that sounds.
Another RFID project – this is a passive tag which has to run a bunch of display electronics on RFID power. I can’t talk that much about it because it’s not out yet. I’m also in rev 2 of the audio sampler in my off time, which is proving a lot harder than rev 1 because my expectations are a lot higher.
I always wanted to get into discrete op amps. I think it would be fun to get to actually design a die for some hybrid IC – so few engineers ever get to design a mask and have it fabbed. I’m fascinated by video, and would love to make a big video synthesizer. I’d love to make test gear. Or classic arcade games. Basically, if both an engineer and my mom looked at it and they both said “wow” – even if for different reasons – I’d probably like to work on it.
I wish I knew :-) Basically, I want to keep working on projects that are rewarding to me. One of the cool things about being a contractor is you bounce around to different things. Obviously I would like to make more money, gain respect of peers, etc etc but as long as I keep working on things that keep me learning, I’ll be happy. Sometimes I think that means really cranking out more of my own designs, and sometimes I think that means getting back into the corporate sector and putting on a tie. Like if LT called tomorrow I’d be on a plane – I guess what I’m saying is there are lots of different ways to work in exciting ways. One thing I DO know, however, is that I do not want to become a full time manager. I see that happen to other engineers and it is heartrending sometimes. Call it young and cocky, but I’d rather work in a bar. Maybe if I had kids that would be different.
Really, you should ask the old guys. But if I must opine:
A lack of people caring about their craft. Marketing people running the show. The fall of Ham Radio. Embedded systems running Java. Complacency. Golf. Engineers who don’t have a soldering iron let alone an oscilloscope at home. Programmers who can’t make an LED blink without loading a library. Tolerance for corporate nonsense. The belief that as an engineer you are better than a millwright or woodworker; the belief that as an engineer you are lesser than a doctor or lawyer.
I think as a young engineer learning the ropes, you need mentors. People who you respect and who teach you. It’s best if you can talk to these people directly and they can give you withering looks when you utterly screw the pooch on some project. But in this day and age, sometimes the internet has to do.
Once you think you know what you’re doing, you need to be around people who also think they know what they’re doing, so you can all keep each other honest and working as hard as you can. Being surrounded by hardworking bright people sure does egg you on for self improvement.
It’s fun! You get to use your brain, you get to use your hands, and there is a right and a wrong. In this world, there aren’t always rights and wrongs, but when you solve a problem you know, for a little bit, that all is right. It feels good. Plus you get lots of cool looking gear. It’s also as close as you can get to being a wizard.