Skip to main content

Minimal UPDI Programming Tool for tinyAVR

Description

This tool allows tinyAVR series 0, 1, and 2 microcontrollers to be programmed using a USB-to-serial converter connected in a special way to the UPDI pin (also called SerialUPDI). More information can be found here.

Preparations

If necessary, a driver for the USB-to-serial converter used must be installed.

Installation

Ensure that the prerequisites for installing Python packages are met. Then execute the following command in the command line:

pip install tinyupdi

Usage

Connect the USB-to-serial converter via USB to the PC and via the circuit described below to the UPDI pin of the microcontroller.

USB2SERIAL                       tinyAVR
+--------+                    +-----------+
|     RXD| <------------+---> |UPDI (PA0) |
|        |              |     |           |
|     TXD| ---|1kOhm|---+     |           |
|        |                    |           |
|     VDD| -----------------> |VDD        |
|     GND| -----------------> |GND        |
+--------+                    +-----------+

Alternatively, a pre-assembled SerialUPDI programmer can be used.

Usage: tinyupdi [-h] [-d DEVICE] [-e] [-f FLASH] [-fs [FUSES [FUSES ...]]] [-t TRIM]

Optional arguments:
  -h, --help                show help message and exit
  -d, --device              set target device (if not set, it will be auto-detected)
  -e, --erase               perform a chip erase (implied with --flash)
  -f FLASH, --flash FLASH   BIN file to flash
  -fs [FUSES [FUSES ...]], --fuses [FUSES [FUSES ...]]
                            fuses to set (syntax: fuse_nr:0xvalue)
  -t TRIM, --trim TRIM      configure oscillator for given frequency (set fuse 2)
Example:
tinyupdi -f firmware.bin -fs 6:0x04 7:0x00 8:0x00 -t 8000000

Links

Metadata

Release files for tinyupdi 1.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tinyupdi 1.5.1
File Size Uploaded
tinyupdi-1.5.1.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tinyupdi 1.5.1
File Interpreter ABI Platform
tinyupdi-1.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.9 kB

Release files / tinyupdi-1.5.1.tar.gz

Download URL tinyupdi-1.5.1.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2d216317544b04f8524de34e3ae1614764fe00026e3ebefdde42bf90432efbe6
BLAKE2b-256 checksum
How to use checksums
9bc07e238216ede886d259293d68ca043bff2366d590cd3976f10be40e1993c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release files / tinyupdi-1.5.1-py3-none-any.whl

Download URL tinyupdi-1.5.1-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7e3506a1885f8c311690230127466b3027ca1a8ec92d24ae7641545611e56694
BLAKE2b-256 checksum
How to use checksums
ece99f6d3e53743fc022138afde56d86ed8caf72e8964cd48cf4e67142f56555
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.5.1 This release

2 release files

1.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page