Jan Axelson - Technical Author
I knew nothing about electronics when I enrolled in the electronics technology program at a local college. I just had a feeling it would be interesting. Apparently I was right because 35 years later I’m still at it.
Most of what I do these days involves USB, and my number-one tool for debugging USB communications is a hardware-based protocol analyzer. The analyzer monitors the traffic on a bus segment and sends the data to a PC for decoding and displaying. I don’t need to guess, wonder, or set up other debugging tools to find out what’s happening on the bus. I can also spy on USB communications with any device to get clues for developing and debugging communications in my own projects.
Compared to USB’s early years, the prices for analyzers have dropped and the selection has expanded. There is something for just about any need and budget. I use an Ellisys USB Explorer and also like the Total Phase Beagle series.
My favorite software tool is…a software USB protocol analyzer! A software analyzer runs on the USB host PC and can display communications at the driver level. Software analyzers can’t show the packet-level details that hardware-based analyzers display, but hardware analyzers can’t show driver-level data. So both analyzer types have their uses.
Software analyzers are less expensive than hardware analyzers. Some are even free. A software analyzer is much better than no analyzer at all.
Writers tend to read a lot. Here are a few of my favorites.
I rely on my log files, which are plain-text files where I enter tips and tricks that I think might be useful in the future. I have a file for each topic I work on. When I have a problem that I know I’ve encountered before but can’t remember how I solved it, I search the log files for an answer. I’ve been keeping these files for years, and they’ve been great timesavers.
My favorite project is usually my current one. Recently I’ve been using the BeagleBoard-xM open development board for my USB embedded host projects. I chose the BeagleBoard-xM because of its enthusiastic user community and the rich on-board USB support. I’ve used several different Linux distributions on the board and would like to try Android next.
I’ve just finished writing USB Embedded Hosts: The Developer’s Guide. It’s a guide to developing small embedded systems that can access USB peripherals. I’d been interested in the topic for some time, and advances in the USB host support in embedded hardware and firmware convinced me that the time was right to write about it.
I started writing out of frustration with the quality of technical documentation for the equipment I worked on as an electronics technician. Much of what I needed to know was either passed down informally from co-workers or hard-fought knowledge I obtained on my own.
So I started writing things down. Along the way I discovered that writing about how something works is a really good excuse to dig into a subject from the inside out. There’s nothing like trying to explain something to make you realize you didn’t understand it as well as you thought you did!
I began by writing project articles for hobby electronics magazines like Modern Electronics and Popular Electronics. Eventually, I used material from my articles as the basis for books. My interest in how computers communicate with the world outside themselves led to writing about parallel and serial ports, followed by Ethernet and USB. I still write occasional articles for magazines such as Circuit Cellar and Nuts & Volts but now mostly focus on books.
I’m proud that Intel Corporation chose USB Complete for inclusion in their Recommended Reading List for technical professionals .
Keeping up with new technologies is a challenge, especially as the technologies continue to advance at an ever faster pace. On the bright side, there is always something new to write about!
My goal in writing books is to save people time and trouble. Before I start writing, I research the topic at hand and test out the concepts and ideas. The lessons learned go into the books so others can benefit from my experience.
USB Complete, now in its fourth edition, has been going strong since the first edition came out in 1999.
I believe one reason why USB Complete has been popular is because developing a USB device or host requires integrating information from so many sources. The USB specifications are dense with technical detail, but that’s just the beginning. You also need to be familiar with your host and device hardware, the USB support in the target OS and programming platform, and whatever higher-level industry protocols your target devices use. It can be a hard slog to absorb it all and put it to use.
I wrote USB Complete to cut through the mass of information and provide a start-to-finish guide to implementing USB communications in projects.
Like the technologies I write about, the publishing world is evolving at a rapid rate. Ebooks are increasingly popular, and all of my titles are available in multiple ebook formats.
Some say that technical books are obsolete because “everything is on the Internet.” But I would say that a well researched and thoughtfully crafted book can get you where you want to go faster and with fewer stumbles and wrong turns along the way.
A challenge is also an opportunity. Investments in developing new and improved technologies to reduce energy consumption and provide clean energy have the potential to improve the quality of life for everyone.
When I’m not doing electronics, you’ll probably find me outdoors. I volunteer to help with local prairie restorations and monitor bird populations. For me, spending time outside is the perfect complement to the high-tech side of my life. Two areas where my “inside” and “outside” interests intersect are mapping and remote data logging.
My website, Lakeview Research at Lvr.com, has information about my books, code samples, links to resources for developers who use USB and other interfaces, and my PORTS forum, which is an open forum for questions and discussions about USB, serial ports, and other interfaces. If you have a question about ports or interfaces, the forum is a good place to seek answers.