フォト
2018年7月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
無料ブログはココログ

« ノートPCの潰れた(なめた)ねじを外すのに苦戦 | トップページ | 豊四季タイニーBASIC for Arduino機能拡張版 作成しました »

2018年3月16日 (金)

中華製Arduino NanoのArduino Uno化を行う

中華製 Arduino Nano(実際はPro Mini+USBシリアル)をArduino Uno化するお話です。

次の写真は、USB-シリアル変換にCH340を採用している、中華製 Arduino Uno(左)のNano(右)です。

Dscn7718

Nanoの方は裏にCH340が搭載されています。

Dscn7719

さてこの2つ、実装形状は異なるものの、スペック的に同じです。
(3.3VレギュレータはCH340が内蔵しています)
しかし、サンプルのLチカスケッチ Blinkを書き込むと、利用出来るフラッシュメモリサイズが異なります。

中華版Arduino Unoの場合

Blink_uno

中華版Arduino Nano(実質 Pro mini + USBシリアルモジュール)の場合

Blink_nano

スケッチサイズは同じなのですが、Unoの方が1526バイト多く利用出来ます。

公式サイトの基本スペックでこの違いを確認すると、

Arduino Unoは、フラッシュメモリのうち512バイトがブートローダに利用されています。
03_2

Arduino NanoやMiniは2048バイトがブートローダに利用されています。
04

この違いが腑に落ちないので、ちょっと調べてみると、次のスレッドにヒントがありました。
Arduino Forum>Using Arduino>Microcontrollers>Optiboot on arduino Nan
Topic: Optiboot on arduino Nano

Arduino NanoやPro miniは製品的にはArduino Unoよりも古く、
Arduino Unoの前のバージョンのArduino Duemilanoveのベースになっています。
ブートローダもArduino Duemilanoveのものを利用しいます。

一方後発のUnoは、ブートローダがOptibootに変更されました。
NanoやPro miniもOptibootの利用が可能なのですが、Arduino Duemilanoveの
ブートローダが採用されたままになっています。
(このあたりは、Arduino ccの怠慢では..)

試しに、Namo(中身はPro mini)のブートローダーをArduino UnoのOptibootに
変更してみました。

ブートローダの書込みはArduino Unoを使ったArduinoISPを使用して行いました。
参考サイト:Arduino as ISP and Arduino Bootloaders

Dscn7715

結線はaitendoのATTiny ISPシールドきっと [K-TINY-SLD]を利用しました。
Arduino Unoにブートローダ書き込み用のスケッチ ArduinoISPを書き込み、
書込み装置に"Arduino as ISP"を選択して、
ボードをArduino/Genuino Unoを選択し、「ブートローダを書き込む」で書き込みます。

02

問題無く書き込めました。

ブートローダ書き込み後、ボード選択をArduino UnoとしてLチカのblinkスケッチを
書き込みます。

Dscn7716

これも問題無く、Lチカ出来ました。
これで、スケッチのサイズの上限を1536バイト増やすことが出来ました。

Arduino Uno用のスケッチの中には、スケッチが31,000バイトを超えて
NanoやPro Miniに書き込めないものがあります。
というか、私が今取り組んでいるArduino用のTiny BASICなのですが..OTz
このブートローダ変更でNanoに31,300のスケッチを書き込むことが出来ました。

05

折角なので、手持ちのNano strongという変則タイプのボードをArduino Uno化してみました。

Dscn7721_2

これで、ちっちゃいArduino Unoとして利用出来ます。

Dscn7722




« ノートPCの潰れた(なめた)ねじを外すのに苦戦 | トップページ | 豊四季タイニーBASIC for Arduino機能拡張版 作成しました »

arduino」カテゴリの記事

AVR」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/66502754

この記事へのトラックバック一覧です: 中華製Arduino NanoのArduino Uno化を行う:

« ノートPCの潰れた(なめた)ねじを外すのに苦戦 | トップページ | 豊四季タイニーBASIC for Arduino機能拡張版 作成しました »