中華製Arduino NanoのArduino Uno化を行う
中華製 Arduino Nano(実際はPro Mini+USBシリアル)をArduino Uno化するお話です。
次の写真は、USB-シリアル変換にCH340を採用している、中華製 Arduino Uno(左)のNano(右)です。

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

中華版Arduino Nano(実質 Pro mini + USBシリアルモジュール)の場合
スケッチサイズは同じなのですが、Unoの方が1526バイト多く利用出来ます。
公式サイトの基本スペックでこの違いを確認すると、
Arduino Unoは、フラッシュメモリのうち512バイトがブートローダに利用されています。
Arduino NanoやMiniは2048バイトがブートローダに利用されています。
この違いが腑に落ちないので、ちょっと調べてみると、次のスレッドにヒントがありました。
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
結線はaitendoのATTiny ISPシールドきっと [K-TINY-SLD]を利用しました。
Arduino Unoにブートローダ書き込み用のスケッチ ArduinoISPを書き込み、
書込み装置に"Arduino as ISP"を選択して、
ボードをArduino/Genuino Unoを選択し、「ブートローダを書き込む」で書き込みます。
ブートローダ書き込み後、ボード選択をArduino UnoとしてLチカのblinkスケッチを
書き込みます。
これで、スケッチのサイズの上限を1536バイト増やすことが出来ました。
Arduino Uno用のスケッチの中には、スケッチが31,000バイトを超えて
NanoやPro Miniに書き込めないものがあります。
このブートローダ変更でNanoに31,300のスケッチを書き込むことが出来ました。
« ノートPCの潰れた(なめた)ねじを外すのに苦戦 | トップページ | 豊四季タイニーBASIC for Arduino機能拡張版 作成しました »
「arduino」カテゴリの記事
- Freenove Mecanum ホイール カー キットを購入しました(2025.05.28)
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
「AVR」カテゴリの記事
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
- Arduino用SJIS漢字フォントライブラリ SDカード版を作成しました(2018.10.30)
- ATtiny13AでI2C接続キャラクタLCDを利用する(4)(2018.04.16)
- ATtiny13Aで赤外線リモコン受信センサーを使う(2)(2018.04.15)
- ATtiny13AでHC-SR04を使った距離計測(2018.04.14)
« ノートPCの潰れた(なめた)ねじを外すのに苦戦 | トップページ | 豊四季タイニーBASIC for Arduino機能拡張版 作成しました »

コメント