chachka n slang - (Yiddish) an inexpensive showy trinket
I purchased an Adafruit Trinket which is an Arduino (somewhat) compatible ATtiny85 board with a USB bootloader priced at $7.95 U.S. I received it Monday and had a great play with it Tuesday before I decided that I needed to breadboard a DIP clone.
Added: PLEASE support Adafruit Industries and purchase at least ONE (1) Trinket if you plan on doing breadboarding. The $8 will simply be good business, support Adafruit, and provide YOU with a firm foundation to work through issues you may have; that is, you will be able to use the Adafruit support forum and feel good about yourself.
Thanks to some very good documentation and the availability of the source files (Thank you Ladyada), the process was not overly painful. I thought I would summarize the steps for those wanting to do the same. For the record, the firmware to be compiled can run at both 8MHz and 16MHz and at 3.3V or 5V simply based on your needs. I'm going to build the 5V version since it includes the two 3.6V zener diodes which provide for signal level conversion for the D+ and D- USB signals.
Schematics are here: Downloads | Introducing Trinket | Adafruit Learning System
Starting point-of-reference: Arduino version 1.0.5 full install (Windows)
Reference path: my installation on Vista installed here -
*C:\Program Files\Arduino_105* You MUST make allowances for deviations in your installation!
Windows driver installation: Drivers | USBtinyISP | Adafruit Learning System
Adafruit product page: Adafruit Trinket - Mini Microcontroller - 5V Logic : ID 1501 : Adafruit Industries, Unique & fun DIY electronics and kits
Trinket guided tour: Introduction | Introducing Trinket | Adafruit Learning System
Optional AVR Tutorial document page: AVR Tutorial
Step-by-step AVRDUDE configuration changes: Setting up with Arduino IDE | Introducing Trinket | Adafruit Learning System
Boards.txt file:
trinket3.name=Adafruit Trinket 8MHz
trinket3.bootloader.low_fuses=0xF1
trinket3.bootloader.high_fuses=0xD5
trinket3.bootloader.extended_fuses=0xFE
trinket3.upload.maximum_size=5372
trinket3.build.mcu=attiny85
trinket3.build.f_cpu=8000000L
trinket3.build.core=arduino:arduino
trinket3.build.variant=tiny8
trinket5.name=Adafruit Trinket 16MHz
trinket5.bootloader.low_fuses=0xF1
trinket5.bootloader.high_fuses=0xD5
trinket5.bootloader.extended_fuses=0xFE
trinket5.upload.maximum_size=5372
trinket5.build.mcu=attiny85
trinket5.build.f_cpu=16000000L
trinket5.build.core=arduino:arduino
trinket5.build.variant=tiny8
The USB bootloader source code is here:
Download the ZIP, expand in to a working folder, and create a batch file to build the bootloader as described below.
Referencing "my' location path for Arduino 1.0.5, *C:\Program Files\Arduino_105*
Create a 'batch' file for Windows which adds the necessary utilities to the path environment. Create this file in the the same folder as the expanded files from the Github download (folder with boot.c, jump.asm, etc.)
path=%path%;C:\Program Files\Arduino_105\hardware\tools\avr\utils\bin;
CMD /K "PROMPT $G &&CLS&&DIR"
cls
Note: You MUST provide your installation path correctly. The "path=" command will temporary configure the Windows command environment to include the AVR utilities, in this case, the Make utility.
In the command window, type MAKE to run the downloaded makefile. You will get six (6) HEX files: LV indicate 3.3V and HV indicates 5.0V. BUT Adafruit ships the same HEX file on both their 3V and 5V configurations! You will only need the file titled flash_me_lv.hex
Using your AVR ISP programmer (UNO, etc. running ArduinoISP) use the above HEX file and burn your ATtiny85P-PU DIP. If you are using an Arduino as ISP, the command line appears as:
(Remember, your COM port will likely be different!)
avrdude -c arduino -P com9 -p attiny85 -b 19200 -U flash:w:flash_me_lv.hex:i
The fuses are shown in the Board.txt file and configured as:
avrdude -c arduino -P com9 -p attiny85 -b 19200 -U lfuse:w:0xF1:m -U hfuse:w:0xD5:m -U efuse:w:0xFE:m
READ THIS:
Please note: you cannot use the Adafruit USB VID/PID for your own non-Trinket/Gemma products or projects. Purchase a USB VID for yourself at Getting a Vendor ID | USB-IF
Added: The above quote is from Adafruit, however, this alternative may be viable: http://www.obdev.at/products/vusb/license.html. I personally have V-USB licenses for HID projects but I have NOT tried to modify the Adafruit .H file to determine if my codes will function in the boot loader. Just FYI.
Have fun! Ray
Edit: Chachka on breadboard turning On/Off LED via "sony"-ish IR remote control ($1 Dollar Store Universal)