Sunday, July 8, 2012

What is what you do ?

Once in a while I find myself in the situation of having to answer the classic question: "What is what you do?".

Is not rocket science, but not really easy for me to answer with a few words given that they won't convey the deep complexity, knowledge and dedication for what I do.

The simple and short answer would be "Electronic Systems Design", or when people may know what I'm talking about "Embedded Systems Design", and expanded answer would be "Research and Development of Embedded Microcontroller Applications with Networking and Intelligent Graphical Human Interfaces.

WOW, that sounds pretty kewl and geeky, IT IS !!, well at least for me :-)

To give you a more mundane and simple example, there is a lot of people talking about "smart" things like the nest thermostat, well, I design the guts of that kind of stuff.

Let me share with you how the process is, and as the saying goes, one image is worth a thousand words, but I'll add a brief explanation of each step.

The images above are for one of the products I developed and sell through my website, it is a small board slightly smaller than a credit card and that has a network interface chip, a simple microcontroller as the main processor and some non volatile memory.

The microcontroller is programmed with the "firmware" that implements the TCP/IP protocols used to communicate over the Internet, and it has sort of a small web server, that once the board is connected to the Net and powered, will let you access it from anywhere around the world to turn things off/on, check sensor readings like temperature, etc.

Like many ideas, a product like this may start as some gibberish block diagram on a napkin, the back of a store receipt, etc., but it then a more formal process begins using the right tools for the job.

The first step is to identify what components will be used and research how they have to be interconnected and what stuff is needed to make them work.

Then using a specific CAD program (Computer Aided Design), in this case Eagle CAD, I capture a representation of the component (called a symbol) and its package layout for later use in the design of a circuit board, and the schematics (shown as 1 in the picture), that show all the components, its values and how they need to get connected.

Not always necessary but a second step would be to put a rough prototype of the design to test its functionality, in some cases this could be done with a simulator on a computer, but there is no better test than the real hardware. In this case (shown as 2) I put together a wire wrapped prototype (components are interconnected on the bottom by thin wires that get "wrapped" on the pins of the sockets or the leads of the components.)

If everything goes well with the prototype, the next step is to design the printed circuit board layout (shown as 3), again with the CAD program this consists in placing the components and drawing the traces in one, two or more layers of conductive material that will interconnect them.

The CAD program will generate a set of special files that will be used for Computer Aided Manufacturing (CAM), this includes the files to produce the circuit board, place and solder the components on it. Picture 4, shows another tool I frequently use to inspect the CAM files.

Again, not always but often, just a few printed circuit board prototypes get done for testing and verification, to save costs (shown as 5) this particular prototype has no solder mask (a green protective and non-conductive thin layer) or legends.

If everything goes well then, real production begins (6 and 7), and the boards get programmed and tested, put into antistatic bags and get ready for shipment around the world.

Being this simple board, or a more complex design like the nest thermostat, it may require lots of research to learn the specifics of each components, some of them like more advanced microcontrollers have hundreds or thousands of pages of documentation that I need to read and digest, and experimentation using development kits, others prototype boards, etc. 

The picture on top of this article shows a peek to my collection of development boards, evaluation kits and my own products and prototypes.

Besides what I do as an independent consultant and developing and selling my own stuff, I'm also Principal Engineer with Serious Integraged, Inc., in Chandler, AZ, where we are developing very cool graphic displays modules that let OEM equipment manufacturers add rich Graphic User Interfaces or Home Machine Interfaces to their products.

And soon we'll add a lot of connectivity features for the "Internet of Things."

So now that I was able to write this article, I'll get a URL shortener and print it on my business cards, so next time I get the question ... voilĂ