h5. How did you get into electronics/ engineering and when did you start?
Both my parents worked in electronics so you might think it was inevitable. When I was very young I had much more interest in Lego than building little circuits with torch bulbs. I think the break through came when I started putting torch bulbs and LEDs in my Lego houses. Later on, a switch to Meccano and the inclusion of extra motors and micro-switches started me on robotics.
When I came to choose my degree course, I was sure I wanted to go into the space industry (at the time it was looking really good) and applied mainly for physics and space science courses, but I found one course at the University of Bath which was offering Electronic Engineering with Space Science and Technology. Having never been as interested in the theoretical stuff an engineering course sounded great. Having finished the undergraduate course I took a PhD place working on software radio which had become the focus of my masters dissertation.
h5. What is your focus in engineering?
I'm a bit unfocused really, I do all sorts. Primarily though I'm an electronic engineer with most experience in digital systems and communications. I do some RF work for my PhD, and did a lot of radiation hardened space related work in my undergraduate studies. Helping to supervise labs and tutorials for the undergraduate students at uni has kept my basic circuit theory pretty sharp. I also enjoy a bit of mechanical engineering from time to time but the tools are a bit more cumbersome to drag around rented places than a soldering iron and a 'scope!
h5. What are your favorite hardware tools?
I’ve got a second hand Agilent storage scope I bought off the University when they were upgrading the undergraduate labs which is really handy with the video generation projects I’ve been doing. My Weller TPS soldering station (ex Tektronics I think) has been my most used tool for many years and is still going strong.
h5. What are your favorite software tools?
I use Linux and open source software almost exclusively at home and at work. I’m a huge fan of KiCAD for electronics design, I’ve used it a lot for schematics and gone all the way through to PCB a couple of times and it has never let me down. GIT version control is also a key part of how I work on big projects, it copes really well with mixed software/schematic type projects and doesn’t need a server to keep a master copy on. Inkscape can be a good tool for manual graphics, block diagrams and designing panel labels.
h5. What is the hardest/trickiest bug you have ever fixed?
I don’t know what the trickiest bug was, probably a short under a daughter board on a tiny pitch SMD chip that had been machine soldered for reliability. The most surprising one I think I’ve found was in an old fashioned UART circuit, I was using a 74HC4060 clock divider and the outputs didn’t match what I was expecting so the baud rate was coming out all wrong. I eventually found out that the Fairchild and Philips/NXP parts weren’t pin compatible, the only time I think I’ve ever seen that on a 74xx part number.
h5. What is on your bookshelf?
The Art of Electronics by Horowitz and Hill of course! I’ve got a lot of software related books, I do a lot of programming but as an electronic engineer I got a start on programming but I’ve taught myself a lot more outside my undergraduate studies. One of my favourite books is probably my well worn copy of Programming the Z80 by Rodnay Zaks, that’s been essential for my Z80 and retro-computing projects. I’ve got a bunch of O’Reilly ebooks on my e-reader, I really like their DRM free distribution.
h5. Do you have any tricks up your sleeve?
Python. Especially with the serial port library, Python is my first choice if I need to do a repetitive task, analyse some binary data or send test signals to a project or piece of equipment. I’ve written scripts to do everything from controlling test instruments to customised assemblers in Python. It’s dead easy to use and totally portable. With high performance code I often start off with Python and then move parts of it into C (which is really straight-forward with Python) until I’ve got it to a speed I’m happy with. The Python serial library is really easy to use and very powerful, it gives control over all the hand shaking lines and receive timeouts. I’ve debugged a lot of serial port problems with Python that have stumped people using normal terminal software that doesn’t have the flexibility to deal with odd hand shakes or binary data.
h5. What has been your favorite project?
I can’t say it’s finished yet, but it has to be the "Z80 project":http://nathandumont.com/z80project. I first got to play with a Z80 board dad brought home from work that they’d designed to help sell their in-circuit debuggers for Z80 products. That had the bare essentials and I learnt some binary and the basic principals of assembly code. It was several years later when I was starting my undergraduate studies that I really understood enough about the systems to start tinkering. I had an old Amstrad and Sinclair Spectrum which I studied to see how their software and hardware worked then started building up a better system using the plentiful cheap SRAM available these days and a PIC microcontroller to boot-load the system, avoiding the need for any kind of ROM. Essentially the project is useless, who wants a Z80 based machine at 10MHz with only 1MB of memory when you can get a microcontroller many times faster in a package hundreds of times smaller? I look at it as a puzzle though, how can I squeeze a bit more performance out of old technology, if you want to play with bare metal optimisations of algorithms and low-level operating system design, where better to play than a system you’ve built from scratch?
h5. Do you have any note-worthy engineering experiences?
I’ll never forget the first time I smoked a PIC. It was doing a control job with a serial port link, I had it working okay on the bench and then took it over to the project enclosure and wired it in. I was using an old ATX power supply in the project and selected a red and black wire pair to power my project. I’d already checked out the power supply and had some LEDs on the various rails so I knew that was working, but the PIC just wouldn’t respond to serial commands from the PC. I checked the serial cable, the software and reset the PIC a couple of times and nothing worked. After a few minutes I went for the classic touch it and see how hot it is and nearly burned my fingers on the plastic package! After a little probing with my multi-meter it turned out I’d selected a fan power supply cable which was red and black but running at 12V, all the other coloured outputs were red for 5V and yellow for 12V like normal, I’d just managed to pick one exceptional wire. Luckily I had a spare PIC and got it all working fairly quickly after that, but the moral of the story is don’t trust someone else’s colour coding to match voltages!
h5. What are you currently working on?
The Z80 project is always waiting for more input, but I’ve been working on some VGA driver code for the new ChipKIT boards from Microchip recently. I’ve got a stack of demo boards and modules for all kinds of projects waiting to be used, all I need is time! But currently most of my spare time is going into building a RepRap Prusa Mendel 3D printer. I can’t wait to get it going so I can start making parts for other robotics projects and enclosures etc.
h5. How did your blog come about?
My blog started up without anything particular in mind years ago to just get some experience designing websites. Inevitably I started putting up information about my electronics projects and over time they’ve taken over. I recently moved my personal blog type articles off onto another site I’ve been maintaining to tidy up the focus of the site.
h5. What direction do you see your business heading in the next few years?
Working at a University in the UK, I'm quite uncertain about the future really. With the recent 3-fold increase in tuition fees I can't see how the numbers of people doing degrees can stay the same. Engineering courses might just about pay off but if you're a skilled and practical person three years extra industry experience might do you just as much good and save you tens of thousands of pounds!
h5. What challenges do you foresee in our industry?
I would guess that the biggest challenge in industry for the next few years is going to be the cost point. Especially in the consumer market, prices for products have reached so low it is hard to justify the R&D costs for things that might not sell in huge quantities.
- The Way I Work: Interview with David Haboud, Product Marketing Engineer at Altium
- The Way I Work: Interview with Natasha Baker, founder of SnapEDA
- The Way I Work: Interview with Todd Dust, Senior Staff Systems Engineer at Cypress Semiconductor
- The Way I Work: Interview with Bel Haba, an engineer with 400 patents