STM32F042でAVRプログラマを作る

秋月で販売しているSTM32F042K6T6でAVRプログラマを作ります.



index


STM32F042とは?

ARM Cortex-M0 ベースの32bitマイコンです.Nucleoボード等にも積まれています.秋月にて¥250で販売されています.

akizukidenshi.com

STM32F042は¥250という安さなのにUSBデバイスとして振る舞う事ができる優れものです.

さらに,STM32F042はD+のプルアップ抵抗や外付けXTALなど付けること無くUSB機能が使えます.入出力ピンの一部も5Vトレラントなので,5V系のAVRとも直結できます.

F042-AVRプログラマを作った動機

Atmel社を買収したMicrochip社の陰謀によりAVR ISP MKIIという比較的安価な純正AVRプログラマが販売中止に追い込まれました.

代替品を探してみた所,Pololu USB AVR Programmerという,純正AVRプログラマであるSTK500の互換品を発見しました.

www.pololu.com

Atmel Studio上で使用することができるので,純正AVRプログラマと使い勝手が変わらないのが魅力的でした.しかもUSB-Serialアダプターとしても使えます.

しかし,メインチップにPICが用いられているようで,「AVRプログラマに競合製品であるPICを用いるとはけしからん!!!」と思い,自作を決意しました.

調べてみると,ATMEGA8でSTK500互換プログラマを作成した前例がありました.

tuxgraphics.org: 05101, AvrUsb500 -- an open source Atmel AVR Programmer, stk500 V2 compatible, with USB interface

これを参考に作ってみることにしました.

F042-AVRプログラマの概要

STK500は元々COMポート接続ですが,今回はF042で仮想COMポートをエミュレーションします.USB-Serialアダプターとしても使えるように,COMポートを2つエミュレートします.STM32F042で仮想COMポートを2ポート実装する方法については,後日説明します.

ソフトウェア

GitHubで一応見れます.諸事情により公開停止中(=_=)

TINY2313のヒューズビット読み書き・Flash読み書きは確認しました.

USB-Serialアダプタとしても一応動きますが,検証が必要です.

ハードウェア

Eagleでプリント基板を設計してALLPCBで注文しました.

BOOTピンの配線が間違っていたので,後日気が向いたら再発注するかもしれません.下の回路図・パターンは修正済みです.