User Tools

Site Tools


using_attiny_microcontrollers_with_arduino_on_windows_11

This is an old revision of the document!


Using ATtiny microcontrollers with Arduino on Windows 11

It's 2025, and there's a lot of outdated docs on programming ATtiny microcontrollers (ATtiny85, ATtiny84, etc.) on Arduino. You CAN do this on Arduino IDE 2.x on Windows 11.

Arduino support

The core you want is ATTinyCore. To install it:

  • This core can be installed using the boards manager. The boards manager URL is:
    http://drazzy.com/package_drazzy.com_index.json
  • File→Preferences on a PC, or Arduino→Preferences on a Mac, enter the above URL in "Additional Boards Manager URLs"
  • Tools → Boards → Boards Manager…, Select "ATTinyCore by Spence Konde" and click "Install".

Setting up your sketch

Programming for the ATtiny series is out of scope, but here are key Arduino settings you'll need. Under the Tools menu:

  • Chip: Pick which chip you have!
  • B.O.D. level: this enables auto-restart on brownouts.
  • Clock source: These chips can work either with an internal oscillator (no external components needed, but mediocre time accuracy) or an external clock source (you need a crystal or other clock source, but it can be very accurate). For most mild tasks, I recommend "8 MHz (internal)".
  • millis()/micros(): Make the sketch bigger, but allow these common functions to work
  • Programmer: USBasp if using that (or whatever programmer device you're using)

For the settings marked "Only set on bootloader", these are only configured into the chip if you use the "burn bootloader" option. Some remarks on that: The "bootloader" is special code that helps the device to program itself in the future, e.g. via a native USB connection. I don't mess with bootloaders usually, instead opting to use a separate programmer like the USBasp, since that's much more reliable. HOWEVER, even if you're using a bare chip with no bootloader (e.g. by choosing "ATtiny85 (no bootloader)" as the chip), the "burn bootloader" option will still flash low-level settings like those listed above as "fuses" (special permanent registers that set basic operating settings for the chip). Google "attiny fuses" to learn more, or use this ATtiny fuse calculator.

Programming

You can program it several ways. Here's two:

  • USBasp: A dirt cheap dedicated USB programmer. USBtinyISP wasn't tested, but likely works similarly.
  • Arduino as ISP: Use an existing Arduino Uno, Nano, or similar as a programmer. I'm not gonna document this approach, but it googles easily.

Programming with USBasp

Getting the right USBasp driver

To allow Windows 11 to support USBasp, you need to download Zadig, a tool that associates various open source USB Windows drivers with connected hardware. Hook up your USBasp, run Zadig, then set the driver to "libusbK", and hit "install driver".

(Note: In Windows 10, libusb-win32 was recommended, but this doesn't work in Windows 11.)

Hooking up to the chip

If the thing you're programming is a board with a standard 6- or 10-pin programming port, you can just hook it to the USBasp with an appropriate ribbon cable.

If the thing you're programming is a bare ATtiny chip (e.g. on a breadboard), then you should make a breakout cable out of some Dupont wire. You'll need to hook the following signals to your chip based on its pinout. The table below includes my recommended wire colors, plus a mnemonic to remember them.

Signal Color
VCC Red (standard VCC color)
GND Black (standard GND color)
RESET White (reset = blank slate = white)
SCK Yellow (socks, but old and nasty)
MISO Green (miso soup can be green)
MOSI Blue (hey that's a common color we haven't used yet)

(Yeah the mnemonics are dumb/bad, but they work for me)

Initiating programming

In Arduino 2.x, they did a dumb thing, and made the upload button NOT respect the ATtinyCore's setting to use a separate programmer. So you'll need to go to Sketch menu and pick "Upload using programmer" (Ctrl+Shift+U). If all goes well, your chip should be programmed successfully.

using_attiny_microcontrollers_with_arduino_on_windows_11.1756415413.txt.gz · Last modified: by tkbletsc

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki