ESP-WROOM-32 Breakout Board “Unopuino32S” (CP2102 version)

topArduino Uno型ESP-WROOM-32 Breakout Board “Unopuino32S″ (CP2102 version)

<概要>

  • ピン配置及び取り付け穴位置がUnoと同一
  • Arduino IDEからの自動書込み対応済
  • IO電圧: 3.3V(裏面に5V入力時の分割用の抵抗パターン有)
  • USB-SerialにCP2102を使用(CH340版での制約は本バージョンではありません)

※ESP32はArduino IDEで開発できるがライブラリレベルでの互換性はないので注意

<仕様>

CPU: ESP-WROOM-32 (技適取得済モジュール)

USB-Serial: CP2102 (Silicon Labs.)

ESP32_Uno_v04So_schema

Schematics

ESP32uno_v04So_pinout

PINOUT

<開発環境の準備>

  1. CP2102 ドライバーをインストールする
  2. “Arduino core for the ESP32″をダウンロードし解凍
  3. Arduino インストールフォルダの hardware フォルダに、espressif フォルダを作成
  4. espressif フォルダの中に esp32 フォルダを作成
  5. 解凍した”Arduino core for the ESP32″の中身を esp32 フォルダ内にコピー
  6. espressif\esp32\tools にある get.exe を実行しコマンドプロンプトが消えるまで待つ
  7. Arduino IDEを立ち上げると”ツール”->”ボード”でESP32が選択できる

<関連リンク>

Design Data (Open Source Hardware)

Schematic & Board Layout Data (KiCad)

Gerber Data

Bom

header file for Arduino IDE

CP2102ドライバー

http://jp.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

<注意事項>
シリアルポート以外のデバイスと認識する場合があるとの報告をいただきました。
その場合はお手数ですが手動で”Silicon Labs CP210x USB to UART Bridge”を割り当てください。(Windowsの場合はデバイスマネジャーのドライバの更新で出来ます)
もしうまく動かない場合はFacebookのページからメッセージを下さい。
https://www.facebook.com/thousandiy/

CP2102_driverUpdate

ESP-WROOM-32 Information (ESPRESSIF web site)

ESP-WROOM-32 Datasheet

ESP-WROOM-32 Schematic and layout 

Arduino core for the ESP32

<覚書(随時更新)>

  1. サーボを使うときはLEDとして扱うと動くらしい(未確認)
  2. Neopixel(WS2812)を使うMartyMacGyverさんのコード(確認済)
  3. I2Cを使う時は標準のwire関数の引数にピンを指定すればそのまま使える.(確認済)
    • int SDA32 = 22;
    • int SCL32 = 23;
    • Wire.begin(SDA32, SCL32);
  4. I2C OLED(SSD1306)ライブラリ(確認済)
  5. タイマー割り込みを使う(確認済)
    • ESP32 example sketchの”RepeatTimer”を参考に以下をコードに追加// Timer Interrupt settinghw_timer_t * timer = NULL;volatile SemaphoreHandle_t timerSemaphore;portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;void IRAM_ATTR onTimer(){// Increment the counter and set the time of ISRportENTER_CRITICAL_ISR(&timerMux);// ここにタイマー割り込みで実行するコードを記載portEXIT_CRITICAL_ISR(&timerMux);// Give a semaphore that we can check in the loopxSemaphoreGiveFromISR(timerSemaphore, NULL);// It is safe to use digitalRead/Write here if you want to toggle an output

      }

      void setup() {

      // Create semaphore to inform us when the timer has fired

      timerSemaphore = xSemaphoreCreateBinary();

      // Use 1st timer of 4 (counted from zero).

      // Set 80 divider for prescaler (see ESP32 Technical Reference Manual for more info).

      timer = timerBegin(0, 80, true);

      // Attach onTimer function to our timer.

      timerAttachInterrupt(timer, &onTimer, true);

      // Set alarm to call onTimer function every second (value in microseconds).

      // Repeat the alarm (third parameter)

      timerAlarmWrite(timer, 1000, true);

      // Start an alarm

      timerAlarmEnable(timer);

      }

<ESP32の開発で参考になるページ>

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中