It starts with an LED

Richard DorfnerMay 13, 20114 comments

And slowly builds up from there.

I have been an embedded software engineer for many years. I was programming when I was a teenager before then, as a high school student involved in an NSF program called "National Science Foundation Summer Science Training Program (for High School Students)" or as we would rattle off during that summer of exquisite learning, NSFSSTP. We were taught to program in Fortran and taught the fundamentals of Calculus. It was a very enriching experience.

When it came time to choose a career, it seemed natural that programming would be the thing for me to do. But at the time, Cobol was king, and embedded was relatively unknown, so why embedded software?

As with all such things, it seems that it was mostly the culmination of a lucky series of accidents. In this case, the accident was a book called "De Re Atari" by Chris Crawford.  (You can find a copy of it at http://www.atariarchives.org/dere/ ) For a young geek such as me, it was a wealth of information, and talked a great deal about the inner workings of my Atari 800. Things such as the graphics chip set, the joystick controllers, the expansion port and so on.  I spent a great deal of time plucking away at the keyboard of that toy computer, making the screen flash and things happen.  However, what held my fascination the most was a simple article about how to make an LED turn on using an IO port.  That magical 'click' of realization that happens when something so simple, yet so profound suddenly resonates in a person's mind happened to me then. The realization that "Hey! I can make this computer *DO* things, not just text things on the screen. REAL things, like making motors spin, lights light, and relays click."  I was hooked. Deeply, utterly and completely hooked. 

It's been nearly 30 years since that magical day and I have not looked backed with regret once over the choice I made that day.

I have remained an individual contributor my entire career. Yes, I have lead projects, mentored individuals, and architected solutions, but through it all, I have always kept my fingers in the hardware.  Through-out this journey, I have amassed a huge array of tools and tricks that have allowed me to debug problems that I have run into.

The common theme that I intend to keep here, with this journal, will be just that. Sharing those tips and tricks. However, as an older engineer, I have also come to realize that it's not just the tools of the trade that are important, but also the design process, the decision making process, and the process of balancing design decisions with business decisions. I have learned many lessons about those sorts of things, and those are also what I would like to share with you.

It's interesting to watch peopple grow and change in their careers. To see how they learn to be better engineers, and to see what decisions they push forward as 'good' and what decisions they decry as 'bad'. It's even more interesting to see how those change over time.  You see, engineering isn't just about bits , bytes, diodes and ic's. It's about doing what's right, when it's right, and, hopefully, understanding why it is right.  That last bit, the understanding, seems to take the longest.

So join me! Read what I have to write, and share with me your thoughts on them.

I look forward to the teaching, and the continuance of the learning, for I have a lot to share, but a great deal more to learn.

See y'all in the ether.


Richard Dorfner

[ - ]
Comment by kingloveguruMay 12, 2011
good one !!! but if u share your tricks that would be much.... :) hey can u help me how to blog the post over here
[ - ]
Comment by horsedorfMay 24, 2011
Posting here is not hard to do, but first you need to have an agreement with the site to become a blogger. Once you have done that, they send you instructions on exactly how to put your posts up. Rick
[ - ]
Comment by badri89May 13, 2011
hi lookin forward to the tricks!!
[ - ]
Comment by jmol921June 12, 2014
Dude, what happened to your hair?

To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.

Please login (on the right) if you already have an account on this platform.

Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: