Tag Archives: USBasp

Programming the ATtiny10 using Arduino IDE

David Johnson-Davies @ technoblogy.com has a nice guide on how to program ATtiny10 6-pin mcu using the arduino IDE. Programming is done using the widely available USBasp programmer from Thomas Fischl. Examples are also included on the guide.

Unlike the SPI protocol used to program the larger AVR chips, such as the ATmega328 in the Arduino Uno, the ATtiny10 uses a programming protocol called TPI (Tiny Programming Interface) which needs only five wires. Fortunately Thomas Fischl’s excellent USBasp programmer supports this protocol [3]; you can build your own, order one from his site, or they are widely available on eBay [4], Banggood [5], etc.

Tinusaur, $3 ATtiny85 Microcontroller Board And Assembly Kit

Tinusaur is an Atmel ATtiny85 microcontroller board that comes in parts, as a kit, so you can solder it yourself and then program it. This small microcontroller board can run Arduino and its goal is to have a simple, cheap and quick-start platform for everyone interested in learning and creating things.

Tinusaur comes as an assembly kit, in parts, all in a small plastic bag, so you have to solder it yourself. In order to program this microcontroller board you will need a programmer like AVR ISP programmer, you can also use an Arduino to program the ATtiny microcontroller.

These are the components of Tinusaur standard kit:

  • PCB: Tinusaur PCB
  • MCU, Attiny85: Atmel AVR ATtiny85 microcontroller
  • Socket, DIP-8: DIP-8 socket for MCU
  • H1, Header: Header 2×4, Female
  • H2, Header: Header 2×5, Female
  • ISP, Header: Header 2×5, Male, for ISP
  • RESET, Button: Tactile push button, for RESET
  • Power, Header: Header 1×2, Male, for external power
  • Battery, Header: Header 1×2, Male, for battery power on/off
  • Battery, Jumper: Jumper, 2-pin, for battery power on/off
  • C1, Capacitor: Capacitor 100uF, Low profile 5×5 mm
  • C2, Capacitor: Capacitor 100nF, Small
  • R1, Resistor: Resistor 10K, Small, 1/8W
  • Battery holder: Battery holder for CR2032
  • Battery 3V: Battery 3V, CR2032

There is also the Tinusaur Starter – another kit that has everything included in the Tinusaur Board plus a USBasp programmer, plus few other useful things.

Tinusaur was launched 3 years ago and it is now used  in schools and universities to educate young people in both hardware and software. The team behind Tinusaur had launched an Indiegogo campaign to produce more of Tinusaur boards and bring the cost down to $3 per basic board and allow more people to be able to get them. A recent crowdfunding campaign was held by the team, it didn’t meet its goal plus it had the price multiplied by 3!

With just $3 you can get now the Lite edition of Tinusaur, the same components as the standard kit excluding the battery and its holder. You can get the Standard one for $4 and the Starter one for $6.

This Tinusaur is open source, both the hardware and the software, and you can check out the source files right here https://bitbucket.org/tinusaur. 3 days are left to end this crowdfunding campaign, so if you are interested in getting your own Tinusaur with that amazing price you should hurry up! More details can be found at the official product page, getting started page and tutorials.

Burning the Bootloader on ATMega328 using USBasp Programmer

In this tutorial, you’ll learn how to burn Arduino bootloader on a new ATmega328 using USBasp ISP programmer. Every Arduino Uno Board comes with a microcontroller called the Atemga328P, and they are already pre-program with Arduino Bootloader firmware. Therefore, there is no need to burn Arduino bootloader into those Atmega328P chips again. Here, we will be focusing on burning the Arduino bootloader on an off the shelf Atmega328 chip so that you could make your own DIY Arduino board or deploy your Arduino-based circuit to a printed circuit board.

NOTE – The bootloader is the little program that runs when you turn the Arduino on or press the reset button. It’s main function is to wait for the Arduino IDE on your computer to send a new program, which then is written to Arduino memory.

Required components:

  • USBasp Programmer
  • Bread Board
  • ATmega328P
  • 2pcs 22pf Cap
  • 16MHz Crystal
  • 10K Resistor
  • Hook up wire
  • AVRdude Software
  • Circuit Connection

First of all wire up the circuit in breadboard as shown in below diagram. Please connect all the connections carefully.

ATmega328 Arduino bootloader

In above circuit JP1 is where USBasp programmer is connected. Connect all the wires carefully as per above diagram using a jumper wire.

Software Install

If you wire up your circuit correctly then it’s time to load hex file which is located in your Arduino software folder. Here is the complete path for Arduino 1.x in windows – C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex you can also download from here optiboot_atmega328

Next, you need to install AVRdude software and USBasp Programmer Driver.

Bootloading

Open the AVRdude software and select programmer type from the drop-down list shown in below image. In our case programmer is the USBasp programmer.

After Selecting programmer type click on “Detect” so programmer automatically detects ATmega328. If you have any problem with detecting microcontroller check all connections carefully.

After detecting microcontroller, it’s time to read fuse bits and lock bits. As shown in below screenshot click on “Read.” Make sure you don’t write wrong fuse bits, otherwise your microcontroller will stop working.

The default value of fuse bit.

  • LOW Fuse : 0x62
  • HIGH Fuse : 0xD9
  • Extended : 0x07
  • LOCK :0xFF

To configure the Atmega328 for use with Arduino Uno boards, set the fuse settings as below:

  • LOW Fuse=0xFF
  • HIGH Fuse=0xDE
  • Extended Fuses=0x05

Under Flash, browse the hex file optiboot_atmega328.hex which you downloaded previously, select the file and click “Open.”

Now click on “Program!” button. It will take about 30 seconds; You can now use your cheap ATMega328 microcontroller as a regular Arduino.

You now have an Atmega328P that can be programmed with the Arduino IDE. Just plug in your new Atmega328P into any Arduino Uno board or using a USB to Serial Converter to upload your Arduino Sketch.