TL;DR
- 素のavrdudeで行ける
- CH340Kなら抵抗もダイオードも要らない
?
ATTiny85
2005年発表
一世を風靡したDigiSparkの正体はこれ
- 内蔵RC8MHzクロック
- 8bitタイマー*2
- 8kBフラッシュ
- PLL(これで64MHzクロックが作れる)
- これがすごい
- 主クロックに使えば16MHzで走る
- PWMに使えば250kHz出せる
- ISPで書き込み
- AVRマイコンにプログラムを書き込む手段として昔から用いられているインターフェース
- 電源含めて6本の線を用いる
ATTiny202
2018年発表
tinyAVR0シリーズ最廉価マイコン
- 内蔵RC20MHzクロック
- 16bitタイマー*2
- 8bitに分割できるがピンが少ないのであまり恩恵はない
- 2kBフラッシュ
- 流石に小さい
- 乗算器
- 今までは加算で頑張っていた
- UPDIで書き込み
- できることはISPと同じ
- 電源含めて3本の線を用いる
- 最近のAVRはみんなこれ
CH340K
USBシリアル変換チップ
電流制限のダイオードを内蔵している
異なる電圧で動くチップとそのまま接続可能な優れもの
5V, 3.3V, 1.8Vは行けるとデータシートに書いてある
ESP32の書き込みによく使われる
pyupdi
python製のUPDIドライバ
USBシリアル変換をUPDI書き込み機として振る舞わせることができる
元ネタは多分これ
avrdude -p serialupdi
avrdudeの書き込み機のオプション-p
にserialupdiがある
pyupdiの導入やavrdudeに細工などせずともこれで問題なく書き込める
以下に結線を示す
USB | ch340k | 0.1uF | 0.1uF | t202 |
---|---|---|---|---|
VBUS | Vcc | @ | Vcc | |
D- | D- | |||
D+ | D+ | |||
TXD | UPDI | |||
RXD | UPDI | |||
V3 | @ | |||
GND | GND | @ | @ | GND |
前述の通りCH340Kには電流制限の素子も入っているのでTXDRXDをそのまま繋げてしまって問題ない
CH340Kの注意点として
- 2つある0.1uFを付けないと動かない
- windowsの場合はzadig等を用いてusbドライバのインストールが必要
を作った場合はジャンパ線のみあればそのまま流用できる