Friday, February 23, 2018

Modifying USBAsp Circuit to Support 3.3V Target


In my previous post, the implemented USBAsp has a working voltage 5V, therefore it only supports target microcontroller with the same working voltage 5V. How about if we want to program a target which has a working voltage 3.3V? Well, the same USBAsp circuit can be modified a little with just small effort so that it can program 3.3V target.
Actually how did I found this? Thas was simply due to the microcontroller which I pick for my USBAsp implementation is ATMEGA8A. This chip has a working voltage between 2.7 - 5.5V. By putting a 3.3V voltage regulator, now my USBAsp become a 3.3V circuit, hence able to communicate with and program a 3.3V target without either side being destroyed by the different in voltage level.
How should we modify the circuit? Took the 5V supply from USB then feed it to the 3.3V regulator. The output of regulator then supplying the ATMEGA8A microcontroller and continue to be outputted to the 2x5 header to supply the target microcontroller with 3.3V voltage.
It’s easy to find 3.3V regulator IC with cheap price out there, I use AMS1117 1A low dropout voltage regulator, the price just about 4,000 IDR (or maybe less than that).
Next let’s talk about the signal voltage used on USB communication line ( D+ and D- ). Our USBAsp is a low speed device, at the driver side, a logic 0 is interpreted by a voltage level between 0V and 0.3V, and a logic 1 is interpreted by a voltage level between 2.8V and 3.6V. At the receiver side, a logic 1 is interpreted by a voltage level of a minimum 2V, and a logic 0 is interpreted by a voltage level of a maximum 0.8V. Before, when ATMEGA8A has a working voltage of 5V, to comply with USB signal voltage, a 3.6V zener diode need to be placed each on D+ and D- line. But since now ATMEGA8A has a working voltage of 3.3V, these zener diode can be omitted.
The schematic which I drew using Eagle Free version 6.3.0:

The PCB was manufactured by local PCB manufacturer in Bandung, West Java, Indonesia,  called Multikarya PCB ( http://www.multikarya.com/ ).

Before assembled:

After assembled + soldered by my own hand:


 

No comments:

Post a Comment