3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

VUSBTiny AVR SPI Programmer

VUSBTiny AVR SPI Programmer


after making a usbtiny isp programmer and using it for 6 months, i was looking at making another one for carrying around. i like the simplicy of the usbtiny isp design but would like to make it even smaller and take less parts. one thing in the original design that i want to change is to eliminate the use of clock crystal. one solution i found is that v-usb drivers supports the 16.5Mhz internal oscillator on attiny25/45/85 devices. so i start out this project to have usbtiny isp employs v-usb for usb communication. the immediate benefits is that it saves space and have less component counts (no more crystals).


usbtiny

description from http://www.xs4all.nl/~dicks/avr/usbtiny/

USBtiny is a software implementation of the USB low-speed protocol for the Atmel ATtiny microcontrollers. Of course, it will also work on the ATmega series. The software is written for an AVR clocked at 12 MHz. At this frequency, each bit on the USB bus takes 8 clock cycles, and with a lot of trickery, it is possible to decode and encode the USB waveforms by software. The USB driver needs approximately 1250 to 1350 bytes of flash space (excluding the optional identification strings), depending on the configuration and compiler version, and 46 bytes RAM (excluding stack space). The C interface consists of 3 to 5 functions, depending on the configuration.


vusb

description from http://www.obdev.at/products/vusb/

V-USB is a software-only implementation of a low-speed USB device for Atmel's AVR microcontrollers, making it possible to build USB hardware with almost any AVR microcontroller, not requiring any additional chip.

video on construction and usage


 
Remove these adsRemove these ads by Signing Up
 

Step 1Features and parts

features and parts

* programming logic from usbtiny isp, mature avr-dude support
* small foot-print
* minimal components
* powers target device


note that the io lines to the target mcus are not protected. you can add 1k-2k resistors to SCK and MOSI and protect against possible wrong connections


references

based on the works found at

v-usb from framework http://www.obdev.at/vusb/
usbtiny isp http://www.xs4all.nl/~dicks/avr/usbtiny/

parts list

* attiny45/85 (85 is more easier to come by)
* 3.6v zener diodes (1n747,BZX79,..avoid 1W types)
* 68ohm resistor x 2
* 1.5K resistor
* mini breadboard 170 tiepoints
* usb cable (dollar shop usb printer cable is fine)
* 1k/2k resistors for io lines protection (optional)

tools required

* a working avr programmer (yes, it's a catch22, we need one to make one)
* working avr programming environment


« Previous StepDownload PDFView All StepsNext Step »
45 comments
1-40 of 45next »
Apr 10, 2012. 11:49 AMspiess says:
This is really a great little project! I built it on a little stripe of of prototype board and arranged it in such a way that one end of the prototype stripe also serves as a usb plug.

Every thing worked perfectly on the first try - so big congratulations for presenting such a useful project and making things so simple and the instructions so precise!

Thanks!!!
Jan 14, 2012. 6:58 PMicarus74 says:
Great tutorial. I am porting this to a protoboard.

Can the 68Ohm resistors be replaced with any other values (47Ohm, 100Ohm...) and the 150K one be replaced by another value say 1K or 2.2K ?
Would avoid burning fossil-fuel to get only those 2 from the store. Rest, I have pretty-much everything.

Also for your USB printer cable hack, can you explain the header connections ? You only seem to have Vcc and D+ connected to the header, and GND, D- isn't clear from the pic, if they are on their own headers or just plain terminated (left floating).
Aug 9, 2011. 7:22 AM_Ludo says:
Did anybody test it under Win7? I got an error saying that the installation could not be done!?
Jan 14, 2012. 7:19 PMicarus74 says:
As far as I can tell, reading various posts at the Objective-Development site (& forums), very few people seem to have had success in using V-USB under Windows 7. Apparently, some initial / early Win 7 (that too, possibly only on 32-bit mode), installation did work, but people do seem to have issues.

Here's one such thread: http://forums.obdev.at/search.php?fid[]=8&sid=ffe64be8b944f53757abea58c378899a
Jan 7, 2012. 7:14 PMnis123 says:
It is sufficient if i just flash the given HEX file using SinaProg???
Nov 30, 2011. 6:26 PM8N1 says:
The usbconfig.h says:
"Please note that D+ must also be connected to interrupt pin INT0!"

Can you tell me what you have done to avoid that?

Thanks for sharing!
Oct 3, 2011. 9:05 PMputyn says:
hey im trying to build a smd version of your tiny avr programmer (will post pictures as soon as i get it finished) and im waiting for the board to arrive anyway my question the programmer uses the 8mhz internal oscillator ?
so i can order this part ATtiny85V-10SU or this ATTINY85-20SH :) ?
Oct 4, 2011. 9:37 AMputyn says:
ok thanks for your answer will order this ATTINY85-20SH - can you take a look at my schematic and design if i post them ?
Jul 8, 2011. 6:32 AMJohn_Edward says:
Thank you for this guide, I made my tiny programmer with the help of this :)
I made mine to a piece of stripboard, and used an Arduino to program the chip.
I'll link my materials here, so people can see how it would fit to a stripboard.
The board could be made smaller if I used more wires instead of jumpers, but It's small enough for me like this :)

I don't take any responsibility for wrong schematics though, these are made from memory and might not be correct:

http://koti.mbnet.fi/johnedwa/misc/vUSBtiny_stripboard_v1.PNG
http://koti.mbnet.fi/johnedwa/misc/vUSBtiny_stripboard_v1_schematics.PNG
Jun 28, 2011. 6:23 AMsilverwindro says:
That ATtiny is bigger, my ATtiny45V is smaller than that one in the clip.
Or am i wrong?
Mar 22, 2011. 10:16 AMvishwaiit says:
What are all the avr micro controllers that can be programmed using this programmer.if any one has the PCB layout,i would be interested.
Apr 30, 2011. 4:01 PMzgr95 says:
i just finished a pcb layout sent me a message and ill email it to you
Apr 27, 2011. 5:45 AMThe Real Elliot says:
Awesome. It's a mashup of two of my favorite projects, and the result is the most minimal USB programmer I've seen yet!
Apr 13, 2011. 8:32 AMmsajib_06 says:
1.Can i make this with an ATMega32?
2.If so what modifications do i need to make?
Dec 21, 2010. 3:10 PMbill.stewart says:
If you've got an Arduino, you can use it as an ISP programmer. That doesn't mean you don't want to build this one - it can be handy to have a dedicated programmer, and use the Arduino for fancier stuff. On the other hand, if you're building one of these, you probably don't have a high-voltage programmer, so you may want to splurge and have a couple extra ATtiny85's around in case anything goes wrong.
Mar 10, 2011. 8:13 AMhardwarehank says:
So when is this one coming out ? :)
Apr 5, 2011. 6:12 AMhardwarehank says:
Thanks!
Mar 19, 2011. 6:20 AMLocosapien says:
Good work. I'd like to build the HV Programmer.
Mar 11, 2011. 10:01 PMhardwarehank says:
Finished my version of this today - it's awesome! Thanks! I built it on protoboard because I wanted it to be permanent. I had connected one of the wires wrong, and it didn't function as a low-speed USB device at first, but I finally figured that out, and was able to flash and verify my first chip using avdude! I might perfect a little board layout and try to adapt this to an SOIC ATTinyx5. I'll let you know and give you credit if I do.
Mar 11, 2011. 10:08 PMhardwarehank says:
Also, I used 1N4728 Zener diodes I had laying around, and they worked fine - you mention "1N747" in your parts list - maybe you could mention these?
Mar 13, 2011. 7:55 PMemihackr97 says:
Hi, im really interested ur project, but i have 2 questions;

1. Can I use an ATtiny25-20PU??
2. Can I use this programmer with the Arduino IDE as an ArduinoISP or USBtiny??

thanks for answering,
emihackr97.


P.D: If u make a kit, i can help u distribute them.
Mar 12, 2011. 11:39 PM_Ludo says:
Hello Gents,

I would like to make it but don't have a programmer (well sounds obvious, no? :-) ). I have empty chips here, can anybody program it for me via mail exchange?

I'm in France...
Mar 10, 2011. 8:03 AMhardwarehank says:
source codes are gnu gpl v2 licensed from inheritence

If you mean you used GPL libraries in your code, and are only distributing source that you wrote (ie. it's not a derivative of GPL software), you can license your code any way you want - or even copyright it. Using standard libraries and gcc doesn't mean you have to GPL your code. Just making sure that's clear. :)

I love your structable.  I'm totally going to make one of these with my ATtiny85 I have on my desk.  I wonder if I can make it even smaller using my SOIC t85s.....  Cheers!
Mar 10, 2011. 8:09 AMhardwarehank says:
Oh, I see - since your work is a derivative of Dicks, so copyleft applies.  Cheers!
Feb 17, 2011. 7:27 PMenxion says:
Can I use a attiny13 instead?
Feb 18, 2011. 9:28 AMenxion says:
Could I use a atmega2313 instead? I've got one laying around but not a atiny45/85.
1-40 of 45next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
22
Followers
5
Author:simpleavr