茱萸note

電子工作の備忘録と旅行の記録

ARM AVR マイコン 電子工作

STM32F042でAVRプログラマを作る

投稿日:2018年1月6日 更新日:

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


目次


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

ALLPCBで頼んだ基板が届いた。25枚注文して1700円。実際は42枚封入されてた。BOOTピンの配線ミスってるから気が向いたら再発注するかも。 pic.twitter.com/J3uR42DZQO

— A.T. (@4730_gumi) 2018年1月5日

昨日届いた基板を配線した。ちゃんとAVRライタとして機能している。 pic.twitter.com/oPUOdhfeLL

— A.T. (@4730_gumi) 2018年1月5日

-電子工作
-, , ,

関連記事

【Ubuntu】NVIDIAドライバ・CUDA・CUDNNをインストールして深層学習環境を整える

Ubuntuで Nvidiaドライバ、CUDA、CUDNN をインストールし深層学習環境を整える方法を説明します。

【Ubuntu】【上級者向け】Grubブートローダをインストールする

「EFIシステムパーティションを新たに作成した」などの理由でGrubブートローダをインストールしたい人に向けてその方法を説明します。

C言語でのマイコンプログラミングのお作法

マイコンのプログラムをC言語で書く際に心がけるべきこと、知っておくべき知識について述べます。

記事の先頭に目次を置く

Blogの記事の先頭に自動的に目次を生成するにはどうすれば良いか?

Alexa Smart Home Skill を実装して Alexa で ESP8266 を制御する【Alexa×Arduino その2】

AWS Lambda で Alexa Smart Home Skill を実装し、Alexa で ESP8266(Arduino)に接続した LED を操作できるようにします。