Giter VIP home page Giter VIP logo

attiny84-tinyhvsp's Introduction

TinyHVSP - High-Voltage Serial Programmer based on ATtiny24/44/84

Stand-alone high-voltage serial programmer and fuse resetter for ATtiny 13/25/45/85. This project was superseded by the more versatile TinyCalibrator.

TinyHVSP_pic1.jpg

Hardware

The TinyHVSP is supplied with 5V via a Micro USB connector. The ATtiny24/44/84 was chosen as the microcontroller for the TinyHVSP because it has the necessary number of GPIO pins. To generate the 12V for the High-Voltage Serial Programmer, an inexpensive MT3608 boost converter IC was used. The 12V is controlled by a BJT and applied to the RESET pin of the target ATtiny if necessary. The remaining programming lines to the target are protected against a short circuit with resistors. The user interface utilizes one button and a 128x64 pixels OLED display.

TinyHVSP_pic3.jpg

Software

High-Voltage Serial Programmer

The code for the High-Voltage Serial Programmer (HVSP) is quite unspectacular. Simply put, for each action, a series of instructions are sent over the data lines to the target ATtiny and the corresponding response is read. The process and the instructions are well described in the data sheet.

hvsp.png

I²C OLED Implementation

The I²C protocol implementation is based on a crude bitbanging method. It was specifically designed for the limited resources of ATtiny10 and ATtiny13, but it works with some other AVRs (including the ATtiny24/44/84) as well. The functions for the OLED are adapted to the SSD1306 OLED module, but they can easily be modified to be used for other modules. In order to save resources, only the basic functionalities which are needed for this application are implemented. For a detailed information on the working principle of the I²C OLED implementation visit TinyOLEDdemo.

Compiling and Uploading

If using the Arduino IDE

  • Make sure you have installed ATtinyCore.
  • Go to Tools -> Board -> ATtinyCore and select ATtiny24/44/84(a) (No bootloader).
  • Go to Tools and choose the following board options:
    • Chip: ATtiny24(a) or 44(a) or 84(a) (depending on your chip)
    • Clock: 8 MHz (internal)
    • Millis/Micros: disabled
    • Leave the rest at the default settings
  • Connect your programmer to your PC and to the ICSP header of the device.
  • Go to Tools -> Programmer and select your ISP programmer (e.g. USBasp).
  • Go to Tools -> Burn Bootloader to burn the fuses.
  • Open TinyHVSP sketch and click Upload.

If using the precompiled hex-file

  • Make sure you have installed avrdude.
  • Connect your programmer to your PC and to the ICSP header of the device.
  • Open a terminal.
  • Navigate to the folder with the hex-file.
  • Execute the following command (if necessary replace "t84" with the chip you use and "usbasp" with the programmer you use):
    avrdude -c usbasp -p t84 -U lfuse:w:0xe2:m -U hfuse:w:0xd7:m -U efuse:w:0xff:m -U flash:w:tinyhvsp.hex
    

If using the makefile (Linux/Mac)

  • Make sure you have installed avr-gcc toolchain and avrdude.
  • Connect your programmer to your PC and to the ICSP header of the device.
  • Open a terminal.
  • Navigate to the folder with the makefile and the Arduino sketch.
  • Run DEVICE=attiny84 PROGRMR=usbasp make install to compile, burn the fuses and upload the firmware (change DEVICE and PROGRMR accordingly).

Operating Instructions

  1. Connect a 5V power supply to the micro USB port.
  2. Place the ATtiny13/25/45/85 in the IC socket. Use an SOP adapter for SMD parts.
  3. Press OK-button and follow the instructions on the display.

TinyHVSP_pic5.png

References, Links and Notes

  1. TinyCalibrator
  2. AVR HVSP by Paul Willoughby
  3. AVR HV Programmer by Jeff Keyzer
  4. PiggyFuse by Ralph Doncaster
  5. I²C OLED Tutorial
  6. ATtiny24/44/84 Datasheet
  7. ATtiny13A Datasheet
  8. ATtiny25/45/85 Datasheet

TinyHVSP_pic4.jpg

License

license.png

This work is licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License. (http://creativecommons.org/licenses/by-sa/3.0/)

attiny84-tinyhvsp's People

Contributors

wagiminator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

attiny84-tinyhvsp's Issues

Not working with attiny25/45/85

I don't understand, it work perfectly with attiny13 but with tiny25 or tiny45 it do not work.
Have you got an idea to fix this ?

farbiges oled display

welches display wurde hier verwendet? ich suche nach einem farbigen oled.
die bisher gefundenen waren immer monochrom.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.