[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Support for ATTINY827, 1627 and 3227

From: Konrad Rosenbaum
Subject: Re: Support for ATTINY827, 1627 and 3227
Date: Tue, 21 Feb 2023 19:19:08 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.2


On 21/02/2023 11:59, dvalin@internode.on.net wrote:
Apropos the last two words above, I've had a bit of a google for a
windoze-free path to the programmed ATmega328 needed for an UPDI
interface, but haven't figured that out yet.

Could you please clarify: is your goal to use an AtMega328 AS an UPDI progger to program a DIFFERENT chip? Or do you plan to program the AtMega328 USING UPDI?

The AtMega328 uses the ISP protocol (based on SPI) to be programmed. That's what your STK500 can speak.

If you need a cheap progger to program a true UPDI chip (eg. 0-series AtMegas, various modern AtTinies), simply do this:

1) Get a cheap USB-serial-TTL dongle from your online electronics discounter of choice. The TTL part is important. (There are plenty of CP210x, FTsomething, and CH340 based designs out there. And they are really cheap.)

2) Connect a 1kΩ resistor to the Tx pin of the dongle.

3) Connect the other side of the resistor and the Rx pin directly to the UPDI pin of the target chip.

4) Use GND and Vcc(*) out directly to power the chip while programming it.

5) Tell AVRdude to use a "serialupdi" progger (because that's what you just hacked together).

(*) Many of those cheap dongles have a 5V and a 3.3V output, make sure you use the same level as the Tx pin (it outputs high while idle, so simply use a multimeter and compare). The chips are usually quite okay with being powered with either voltage while being programmed.

This "hack" is surprisingly reliable. I've been using it for quite a while now and it never failed to program my chips. I even made myself a "professional" looking PCB that incorporates all of that using a CH340N and a few simple SMD components.

Does anyone have a link to
a Linux-only guide, just using the gnu toolchain & avrdude? I.e. no
arduino dev environment hocus pocus. (I have an old Atmel STK500 for
programming the interface ATmega.)

What exactly are you looking for?

If you have an arduino sketch that you need to push to a chip: using the Arduino environment is really the easiest way, since it adds a lot of libraries and #include guesswork (a'ka hocus pocus) to the translation process. The good news is: you can install arduino from its official download on Linux without contaminating other environments, it just sits in a separate directory and is quite happy there without installing stuff elsewhere. So cleaning it up is just deleting this arduino directory (and perhaps the "sketch" directory) from your home directory.


Attachment: OpenPGP_signature
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]