I’m Published!

July 23, 2009 at 2:57 pm | Posted in Personal, Technology | 3 Comments

I finally got an article published in a major technical magazine!  No, it‘s nothing earth-shattering, and I actually wrote it over my lunch break one day, but I’ve always wanted to see my name in print in a “realperiodical.  The closest I ever came was an attribution in someone else’s column.  But now, I can read my own article!

Yeah, I know, this is rather white and nerdy of me.  But it is cool, sorta.  I mean, there has to be some geek cred for it, right?

By the way, the printed version was edited quite a bit from the original.  I’ve included my original submission below.  But, be sure to click on the link anyway so EDN knows how much you love me!


At a former employer, business had been going very well – our startup company selling microprocessor-controlled weather stations to schools and broadcast entities was taking off, orders were picking up, and we were finding our booth very popular at trade shows.  Always on the lookout for things new and different, our president had become enamored with scrolling LED signs, and he insisted we needed one in the booth at the next show.

 “Just imagine: right behind the presenter will be up-to-the-second weather readings scrolling and flashing in bright colors!  Who wouldn’t stop to take a look at that?”

 While I had reservations about the aesthetic appeal of barometric pressure readings blinking in rainbow hues, I did have to admit that it would be a nice challenge which would show off some of our company’s technical expertise.  So I agreed, then almost regretted it when I found out what our schedule was.  Ouch.  We had limited time to get this show on the road.

 The boss had already selected a vendor for the scrolling signs, so I took a look at the interface specification.  I was pleasantly surprised to find that it supported a rich serial protocol for transmitting and updating messages to be displayed.  All I needed to do was convert our serial data stream from the weather station to the format that the sign understood.  The job was starting to seem a lot easier.

 We had decided that we wanted a standalone unit that we could market later, so we went with an 8051-family microcontroller solution which would receive weather data on one UART and transmit display data with the other.  To save time and effort, we ordered an OEM board from a vendor we had used before, and we recycled a number of embedded C routines to handle the serial data streams.  All that had to be done was to write some simple C code to transfer weather data from one stream to another.  We might meet our deadline after all.

 The initial work went perfectly.  I had hard-coded some test messages into the interface, and they displayed perfectly on the sign.  I set up the serial input buffer and state machine on the receiving port, and I was able to see the extracted weather data in the debug output.  All that was left to do was include the weather data in the output stream.

 I expanded the output buffer to hold the larger data, and reset the system.  Panic quickly set in.  Instead of my orderly flow of temperatures and precipitation counts, all I got was a garble of letters and symbols.  Something was seriously wrong.  Even though the serial code had been tested in a number of other applications, I began to comb through it, looking for any mistake I could have made.  I checked and double-checked every inch of the code, and after banging my head against the wall for a few hours, I chose a time-tested course of action:  I shut off my computer and went home.

 The next morning in the shower (where I have my best ideas), I realized what the problem had to be.  Arriving at work the next day, instead of reaching for the computer power switch, I reached for a small screwdriver I kept for just such purposes.  Prying up the main RAM chip on the OEM board from its socket, I found the culprit – one of the data pins was bent under the chip.  When I increased the size of the output buffer, the compiler had automatically moved the buffer from internal memory in the CPU to external RAM in order to accommodate the extra space.  With the pin bent, though, all the ASCII characters got scrambled before I sent them to the sign, which dutifully displayed the gibberish anyway.

 With the pin straightened, it was not long before we had a working sign interface module, just in time for the next trade show.  Even our president was impressed.  “Looks great!” he said.  “Now, I have this idea for a weather billboard…”



RSS feed for comments on this post. TrackBack URI

  1. That’s my man! White and Nerdy! You do me proud!

  2. That’s awesome! Congrats! And, I’m jealous 🙂 I’m no technical writer, but I’d love to be published. Someday…

  3. VERY COOL! There’s nothing like the validation of some anonymous board of geeks deeming your stuff worthy of dissemination. Congrats!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Entries and comments feeds.

%d bloggers like this: