HP07 Digipot Interface Module


This is the first product design work that I have done and I did it for the auxiliary project (also called mini-project) required for my bachelor’s degree in my 7th semester. From the outset, I had one idea set firmly in my mind – “my mini-project should be a mini-product”. So, I wanted to create a module and spent 2 months designing an RF transceiver. In the very end, I realized I couldn’t fabricate it at home and had to scrap that idea. But, I was certainly not gonna back out and then this one came to me.

This idea is an interface module for digital potentiometers. Digital potentiometer ICs are those which enable you to control a potentiometer (simply a variable resistance) digitally. It is used in applications like digital control of an amplifier’s gain (especially for instrumentation, isolation amplifiers), voltage references etc. The snag is, most common digital potentiometer IC’s use an Up/Down counter interface that many hobbyists would need time to get around. So this module is designed to provide a selectable parallel/serial interface to the user. Also there is an on-board DIP switch that can be used to set a resistance directly. For example, if I had a mechanical potentiometer and wanted to set a particular resistance, it would be impossible to do so without measuring it. In this module, if you provide the correct binary code on the DIP switch, the resistance is set to that value automatically.

This article is about my experience of the ‘product development life cycle’ that was required to make a working prototype of the module. In the beginning, I spent a couple of days on finalizing what my module should have and should do. Once I settled that, I chose to use the ATTiny861 micrcontroller as the brain of the module. Then, I began writing the code for it and simulating it in Proteus. After several bouts with the USI (Universal Serial Interface), PCINT (Pin Change Interrupts) and WDT (Watch Dog Timer), I finally got a working version of the program in simulation.


Then came the breadboard where I soon realized that the simulation wasn’t exactly accurate. I had to make subtle changes to perfect the design. Over the course of another day with repeated testing (using the NI myDAQ), I completed and finalized the complete working version of the embedded C code for the microcontroller. Subsequently, the schematic or circuit diagram was also finalized.

20151009_195234 20151008_213208

The next step in the design process, is the PCB design. Since, I was creating a module, I wanted the PCB to be very compact and dense. I ended up creating a 34mm by 42mm double layer board using EagleCAD and the layout looked like this:


After this comes PCB fabrication and I did this in my own ‘facility’. I printed of the two layers of the PCB and transferred the routes to a copper board.

20151015_185832Since it is a double sided board, I transferred the top layer on one side of the copper board first. Used that as a reference and drilled necessary holes onto the board. Now I aligned the copper board holes with holes on the bottom layer paper and then transferred the back layer as well.  The  Toner transfers are not always perfect and so after some heavy correction work, this is what the bare board looked like:

20151016_143405   20151016_143415

Since I have already written an article about PCB Fabrication at home, I am gonna skip past that. But just for the sake of mentioning, the process continues with etching followed by mask removal, trace corrections, via connections, tinning of pads, component assembly and soldering (simultaneous trace and continuity corrections too). After a lengthy spell of hands-on work, the module was finally complete.


Now, the last phase of design – final testing. I connected the P/S mode select, DIN and CLK pins to the myDAQ for providing the necessary signals. I also used the myDAQ for measuring the resistance similar to the way I tested the breadboard version.

20151018_181438 20151018_205214

And to my great joy and disbelief, it worked. Here is a demonstration video:

Thus, I finished my very first product. I went through all typical stages of a product design and now I am generating the gerber files to have it manufactured and eventually sell a few, if possible. Since no true design process is complete without documentation (ofcourse I wasn’t gonna leave that), I have attached my user manual for the HP07 Digipot Interface Module.