kicad-avr-programmer

Public

@trombik

Download board files

Files for version 1. Pick what you came for.

Share kicad-avr-programmer

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

AVR programmer

An AVR programmer for 8 pin DIP ATtiny chips and for 28 pin ATMega chips, based on "Arduino as ISP" example from Arduino.

The programmer can be built on a 50mm x 70mm universal board.

The programmer can upload code (or set fuse) to:

  • ATtiny DIP-8N chips, such as ATtiny85 and ATtiny13
  • ATMega DIP-28N chips, such as ATmega328p

For ATmega328p, a crystal and capacitors provides external clocks to the MCU.

For DIP-20N package chips, such as ATtiny2313, the on-board ISP pins on Arduino nano can be used (requires wires and a breadboard).

Wiring requires polyurethane enameled wire or UEW. Insulated wires may be used instead. UEW is also called "copper soldering wire", or "polyurethane enameled wire" in Chinese online markets.

Bill of material

See the kicad schematic for the details.

  • Arduino_Nano_v3.x or a clone
  • Female pin sockets for Arduino Nano
  • 3 resistors
  • 3 ceramic capacitors
  • 3 LEDs (blue, yellow, and red)
  • 2 ZIF (Zero insertion force) sockets (14 pin and 28 pin)
  • A 16 Mhz crystal
  • A double-sided universal board (50mm x 70mm)
  • A roll of enameled copper wire, or insulated wires
  • A roll of solder wire

If ZIF sockets are not available, they can be replaced with DIP sockets (not recommended, though).

Schematic

Requirements

  • python 3 and tox
  • kicad (optional, but strongly recommended)

Building

tox.ini installs all the dependencies, including platformio and necessary toolchains, and builds the code.

tox

Activating tox environment

In tox environment, you can run platformio.

source .tox/python/bin/activate
> pio --version
PlatformIO Core, version 6.1.3

To build, run:

pio run

Uploading the firmware

Before uploading the firmware, the Arduino Nano must be removed from the board because a capacitor in the circuit prevents the Nano from resetting.

To upload the code, run:

pio run -t upload --upload-port ${SERIAL_PORT}

Replace ${SERIAL_PORT} with the serial port on local machine. /dev/ttyUSB${N} for Linux, /dev/cuaU${N} for FreeBSD, COM${N} for Windows.

Then, place the Nano back to the circuit.

When connected to the machine and the Nano boots, the LEDs flash, and the blue LED grows.

Usage

Insert the chip into one of ZIF socket. The pin near the lever (top left) is pin 1. Connect the programmer to the machine.

For Arduino, choose "Arduino as ISP" as programmer.

See test/platformio.ini for platformio settings.

License

BSD-2-Clause. See ArduinoISP.ino and LICENSE.md.

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.