Featured Engineer

Interview with Peter Csaszar

Peter Csaszar

Interview with Peter Csaszar - HID Firmware Engineer at Apple

Can you give us a little background about yourselves? How did you get into electronics?

I received my Bachelors in Electrical Engineering in Hungary, after which I came to the US for graduate studies in Computer Science. Therefore it is not surprising that I’m currently working as a firmware engineer. Even back in elementary school I loved math and physics (to the greatest amazement of my parents, both in humanities), and when a capricious education reform added the teaching of radixes to the sixth grade math curriculum, and the entire class (and their parents) tanked, I thrived – that was probably the first sign that a career in electronics and computers was awaiting me. This is also when I started to build small TTL circuits (beepers, counters, etc.) with a friend of mine, but it was really the arrival of the ZX81 and ZX Spectrum microcomputers – the ultimate blessing for European geeks in the 80’s – that sealed my fate. I started to write code (first in BASIC language, then in assembly) to these machines, then develop some odd peripherals, and thus my journey into the awesome world of computers began. As Apple was reminiscing about the 30th anniversary of the Macintosh computer, I could re-live the excitement of those early days of personal computers.

Tell us about your website.

I created the website (www.nixiana.com) to feature my different hobby projects – but alas, with a full-time job that gets all my cylinders running throughout the day, I no longer do as much tinkering as I used to in the high school heydays. The Nixie Tube Propeller Clock has been one of my few projects lately, but I’m still having a lot of fun with it, making small improvements to the hardware and firmware. For example, I just added the ability to play music – classic “8-bit era” monophonic square-wave sound, directly from firmware – and also used this opportunity to pay homage to the legendary ZX Spectrum. The website will be updated with the details shortly.

What are some interesting projects you have worked on? What are you currently working on?

As much as I would love to talk about my projects at Apple, which are certainly the most interesting ones I have worked on (not counting the Nixie Tube Propeller Clock, of course…), I am sworn to secrecy regarding any specifics. I can say however that working on human interface devices (HIDs), such as touch screens, trackpads and all the other interesting creatures, is not only professionally fulfilling; there is also this exciting feeling that the devices we are working on are the gateway for millions of users to their beloved gadgets. This of course carries a lot of responsibility as well.

So what’s a Nixie Tube Propeller Clock, tell us about it. How does it differ from other clocks or what’s so special about this project?

Let’s parse this expression left-to-right, and start with what a nixie tube is. Prior to the LED and LCD technologies, the nixie tube was the primary numeric display of choice, from the late 50’s throughout the 60’s; a lot of Cold War footage shows scary-looking scientific equipment with the characteristic nixie displays. The nixie tube itself is nothing else than a neon lamp with multiple cathodes, each fashioned in the shape of a decimal digit; high voltage (about 170 V) connected between one of the cathodes and the anode will have that cathode’s shape engulfed in orange neon glow, and that is how the different digits are displayed. The technology has long since been superseded, and with its fragile glass envelope and high operating voltage, the nixie tube is anything but practical. And yet, because of its ethereal orange glow and glass-metal elegance, the device is enjoying a new-found popularity among electronics enthusiasts, who are fighting over a constantly diminishing inventory. Mostly artistic clocks are being built out of nixies, which movement grew into what I regard as a very specific form of steampunk. Needless to say, I got bitten by the nixie-bug as well, but wanted to add an extra twist to the story – no pun intended. Propeller clocks had already existed before, but at the time of its inception the Nixie Tube Propeller Clock was the first one with a nixie tube instead of a column of LEDs. I also wanted to see if I could pull this project off with the incredibly simplistic PIC16F84.

What tools (software and hardware) are your favorites?

Among the hardware tools, I find the zapping gun used for ESD testing the coolest; but I rarely get a chance to work with those. On a more serious note; I love my large screen Agilent scope, particularly because of its rich support for measurements and protocol analysis. Among the software tools, I couldn’t live without XCode. But I would also like to mention Eclipse, as a very powerful and versatile integrated development environment; despite its considerable learning curve (which probably wouldn’t even be possible without help from Stack Overflow…), it is definitely among my favorites. Furthermore, I’ve always admired people, who can cut through the jungle of branches in a revision control system with a bare-bone command line tool (while solving the Rubik’s cube under the desk with their feet); but I prefer to roam a Git repo using the Atlassian SourceTree.

What is the trickiest bug you have fixed?

The trickiest bug… the choice is even tougher than trying to pick the funniest Seinfeld-episode! But the baddest of all bugs are the ones that are so subtle that we are not even sure if there is a bug in the first place – and my personal favorite is just such a bug. The system I was working on in the past was connected to a vendor’s device through UART, and despite the sophisticated protocol stack in the higher layers, some communication sessions would mysteriously abort from time to time. The failures were initially blamed on environmental noise spoiling the signal on the wires, but it was becoming more and more obvious that something more sinister was at play. I was tasked with getting to the bottom of the issue, and after days of agony, when I was trying everything to catch the little critter to no avail, a divine spark suddenly hit me, and I was able to root-cause the issue within minutes. It turned out that due to an incorrectly handled corner-case in our implementation, whenever a sporadic but high-priority task delayed the UART task at the wrong time, part of the response from the vendor’s device was missed. That alone wouldn’t have been a disaster – we were dealing with a sophisticated protocol stack after all. The real problem was that as it happens, the vendor’s implementation also contained a minor bug! That bug wasn’t even observable under normal circumstances, but it sure came to the surface when exposed to the erratic behavior caused by our bug. When that happened, the two systems started to descend into an abyss of confusion, until the entire session fell apart, and the operation had to be repeated from start. I wish I could give a great lecture about the train of thought that led me to the discovery of the bug; but this time it was really the inexplicable intuition that finally broke the case.

What is on your bookshelf?

You mean that lonely iPad on my nightstand…? OK, I admit that I do have paper books in my possession as well, which I truly cherish. In addition to all my EE and CS textbooks, I have a decent collection of books on programming languages, microprocessor design and embedded systems. I also love popular science books about cosmology, a field that never stops fascinating me. Another section of my bookshelf holds several books on personal financing, and I am also a big fan of Malcolm Gladwell, so you can find his work there as well. On the fictional side of things, Edgar Allan Poe, Dino Buzzati and Milan Kundera are my favorites.

Do you have any experiential stories you’d like to share? (Blowing things up, getting shocked, etc.?)

Oh, yeah; every self-respecting EE has at least one of those, and so do I! My most explosive one is from about age 12, and it may just be the reason behind my attraction to nixie tubes years later. There was a neon lamp that I salvaged from an old reel tape player. I knew that those lamps could be run directly from the mains voltage, but I didn’t know that they also needed a series resistor, which the older models didn’t have built in. So I went ahead and plugged the poor little thing into the wall, to which it responded with shooting its glass bulb across the whole room amidst a shower of sparks, also blowing the main fuse of the household. My parents immediately charged into my room like war horses, and I tried to sit behind my desk with an innocent face, but they soon discovered the still smoking bulb projectile, and the jig was up. (Amazingly, the bulb itself remained intact.) That was one of the occasions, where a nonchalant “Sawrry!” just didn’t cut it…

Is there anything you’d like to say to young people to encourage them to pursue electronics?

Confucius is said to have said, “Do what you love, and you will never work a day in your life.” Electronics is one profession that is filled with genuine enthusiasts. Even more encouraging is the fact that with all the tools, parts, kits, development boards and PCB fab houses available today, and with the Internet bringing the knowledge of the entire mankind right into your room, it has never been easier to start learning the secrets of this fascinating field. So go, get your feet and your soldering iron wet; I can’t wait to read about your cool projects on the Web!

Check out Peter Csaszar’s Website

Previous Spotlights

Like free stuff? Enter Here!
EEWeb Weekly Giveaway Sponsored by Mouser This Week: STMicroelectronics 3-axis gyro demo board
Enter Here
Login and enter if you're already a member.
Click Here