Picoclick-C3 - Picoclickは、いくつかのアプリケーション用の小さなWiFiおよびBLE IoTボタンです。もともとスマートホーム用に設計されたPicoclickは、IFTTTオートメーションのアクチュエータやMQTTデバイスとしても使用できます。

(NULL)

Created at: 2021-12-31 21:49:08
Language: C
License: MIT

ピコクリック-C3

このページは進行中の作業です!

ピコクリックC3とその弟(C3T、T = tiny)は、よく知られているピコクリックの後継者です。この名前は、新しいプロセッサであるESP32-C3シングルコアRISC-V 160MHz CPUに関連しています。

Picoclickは、いくつかのアプリケーション用の小さなWiFiおよびBLE IoTボタンです。もともとスマートホーム用に設計されたPicoclickは、IFTTTオートメーションのアクチュエータやMQTTデバイスとしても使用できます。シングルコアESP32-C3 RISC-Vプロセッサに基づいているため、多数の便利な機能が付属しています。わずか10.5mm x 18mmの寸法を持つC3Tは、Picoclicksのファミリーの中で最小のものであるだけでなく、私がこれまでに作成した最小のデバイスでもあります。

C3TのYoutubeビデオには、組み立てとはんだ付けプロセス、起動時間の最適化、電力測定、Picoclickの便利なアプリケーションが示されています。

C3は現在開発中であるため、ほとんどのファイルはこれまでのところC3Tに関連しています。

ピコクリックC3Tのいくつかの仕様は次のとおりです。

  • 寸法はわずか10.5x18mmです
  • ラッチ回路による超低スタンバイ電流(スリープモード不要)
  • シングル ボタン & LED インターフェイス (WS2812 RGB LED)
  • バッテリーを充電し、ESP32-C3を点滅させるためのUSB Type-C

私はティンディで販売

アップデート14.07.2022:ピコクリックC3は生きています!

ピコクリックC3(C3Tの兄)がついに登場したことを発表できて光栄です!それは私の最新のプロジェクトの最も先進的な機能を備えており、次の点を占めています。

  • 最適化されたアイドル電流:アイドル状態では、消費電流が200nA(!!)(バッテリ保護なし)を下回っています。(C3Tの3μAと比較して)
  • 最適化されたアンテナ設計により、より良い性能とより長い範囲につながります。
  • 最適化されたパワーラッチ回路により、ファームウェアの開発が容易になります。(特にArduinoのIDEで)
  • 分離されたステータスLEDを備えた最適化されたバッテリ充電回路。
  • BLEアプリケーション用に2番目のRTC水晶を追加しました。
  • 外部ハードウェアを接続するためのFPCコネクタを追加しました。
  • 組み込みバッテリー保護を追加しました。
  • ブート緊急ジャンパーを追加しました。
  • 標準のピコクリックと同じ寸法。
  • 素敵な「ゴールデン」ロゴを追加;)

ティッカー

機能 GPIO C3T GPIO C3 モード
ティッカー GPIO6 GPIO6 (CLK) + GPIO7 (SDI) アウトプット
掛け金* GPIO3 ** アウトプット
ボタン GPIO5 GPIO5 インプット
充電統計。 GPIO1 外部 LED インプット
バット電圧 GPIO4 GPIO4 インプット
バット電圧EN -- GPIO3 アウトプット

*LDOを有効にするには、デバイスのボタンを押すか、ラッチをハイにしてください。ほとんどのユースケースでは、ラッチGPIOはPicoclickの最初のタスクとしてオンにする必要があります。タスクが完了すると、ラッチをオフにする(例えば、ラッチを低く引っ張る)ことによって、デバイスの電源を切ることができます。

**Picoclick C3は、内蔵フラッシュの電源ピンを基準として使用するため、ラッチングGPIOは必要ありません。ESP32をディープスリープ状態に置くことで電源を切ることができます。ESP32の消費電力を削減するために、この機能は埋め込みフラッシュ()の電源を無効にし、その結果、Picoclick自体の電源が切れます。ディープスリープ呼び出し機能は、ESP32のディープスリープモードを使用するのではなく、ラインをローにプルダウンするためにのみ必要です。

VDD_SPI
VDD_SPI

ピコクリックC3の拡張ポート

C3にはFPC拡張コネクタがあり、ピンを介してピコクリックに電力を供給し、ボタンを押すと作動し、2つのプルアップGPIO(I2Cなど)を使用できます。さらにそれはリードアウトと信号を送ります。信号は、デバイスがオンの場合にのみアクティブになります。

+VBAT
+3V3
GND
+3V3

拡張ポートの接続を使用するために、私はシンプルなブレッドボードに優しいブレークアウトボードを設計しました。ブレークアウトボードのピン配置は、ブレークアウトボードのコネクタとPicoclickの両方が同じ方向を向いている状態で、下図に示されています。FPCコネクタは両面(接点が上下を向いている)なので、反対方向にも機能しますが、ピン配置が切り替わります。

I2C の使用

両方の外部GPIOはESP32C3のストラップピンであるため、Picoclick自体にプルアップされます(外部I2Cプルアップは必要ありません)。アイドル期間中に電源を切る必要があるI2Cデバイスを接続したい場合は、単に電源として使用できます。もう1つのケースでは、信号は外部電圧レギュレータで使用することができます。後者は、割り込みを発生させてPicoclickをアクティブにするI2Cデバイスがある場合に便利です。

+3V3
+VBAT

機能 GPIO C3
ティッカー GPIO2
ティッカー GPIO8

外部ボタンアクチュエータ

ボタンピンは、外部スイッチ、ドアセンサー、リードセンサー、モーションセンサーに使用できます。ピコクリックのボタン押下を作動させるためには、ボタン信号を結び付ける必要があります。

+VBAT

私はPicoclickをIOTドアベルとして使用していますが、私のドアベルはAC上で実行されているため、ここでは外部フォトカプラが必要です(チュートリアルは近日公開予定)

拡張ボード

延長ボードは、FPC接続ケーブルの1つでPicoclickに接続することができます。ピン配置が正しいことを確認するには、(拡張ボードとPicoclickの)両方のコネクタが同じ方向を向いていることを確認します。

モーションセンサー (PIR)

パナソニックEKMB1107112 PIRモーションセンサー付き拡張ボード。出力ピンを使用してPicoclickをアクティブにすることができます。このセンサを選んだのは、超低消費電力デバイスであるためです - スタンバイ時に消費するのはわずか1μAで、Picoclickのようなバッテリ駆動デバイスに最適です。

加速度センサー

LIS3DH加速度センサー付き拡張ボード。割り込みピンを使用してPicoclickをアクティブにすることができます。割り込みピンは、任意のモーション、シングルタップまたはダブルタップで起動するように設定できます。LIS3DHは超低消費電力センサで、スタンバイ時の消費電力はわずか約2μAです。

光センサー

LTR303ALS環境光センサ付き拡張ボード割り込みピンを使用してPicoclickをアクティブにすることができます。スレッショルドはI2C経由で設定できます。消費電力は近日公開予定です。

近接センサー

VCNL4040近接および光センサーを備えた拡張ボード。割り込みピンを使用してPicoclickをアクティブにすることができます。スレッショルドはI2C経由で設定できます。割込みピンがアクティブローであるため、int状態を反転させるMOSFETがボード上にあります。消費電力は近日公開予定です。

C3のバッテリ電圧監視

Picoclick-C3には、使用していない間は電力を消費しない最適化されたバッテリー監視機能が付属しています。C3Tは、アクティブ状態でなくても約3μAの電流を必要とします。

バッテリーの電圧を読み取るには、電圧をローにプルダウンし、その後数ミリ秒間電圧を読み取ることができます。バッテリ電圧を読み取った後、後で電圧を再度読み取るために、そのピンの高い状態に戻ると便利です。

ADC_ENABLE_PIN

以下の関数は、ADCが接続されているアナログピンを読み取り、フィルタ処理されたバッテリ電圧(100を100で割った値)をボルト単位で返します。コードの最後の行では、生のアナログ値は、乗数と一定の線形オフセットを使用して電圧値に変換されます。

float get_battery_voltage(){
  digitalWrite(ADC_ENABLE_PIN, LOW);
  delayMicroseconds(10);
  int sum = 0;
  for(int i=0; i<100; i++){
    sum = sum + analogRead(ADC_PIN);
  }
  float result = sum/100.0;
  digitalWrite(ADC_ENABLE_PIN, HIGH);
  return float(result) * (1.42) - 50;
}

消費電力の削減

Picoclickの消費電力を削減するには、次の点が考えられます。

  • 使用していない間はWiFiを無効にします(LEDアニメーションのみを使用している場合など)。
    WiFi.mode(WIFI_OFF);
  • WiFiのものが完了した後にCPU周波数を下げる(水晶振動子は40MHzです):
    setCpuFrequencyMhz(10); //reduce to 10MHz
  • LEDの輝度を下げる(FastLEDの初期化直後に行うことができます):
    FastLED.setBrightness(150);

基板概要(バッテリ接続)

ティッカー

C3 ·

以下のコンポーネントの説明。

ESP32へのファームウェアの点滅

ティッカー

- 完全な点滅プロセス中にボタンを押し続けます!さもなければ、ESP32は電力が緩み、アップロードプロセスがクラッシュします!

- デバイスをフラッシュするには、バッテリーまたは電源をバッテリーパッド(3.5v - 5.5v)に適用する必要があります!

上記を除いて、Picoclickは通常の開発ボードのように動作します。ESP32をダウンロードモードにしたり、リセットボタンを押したりする必要はありません。

C3 ·

C3には最適化されたパワーラッチ回路が付属しているため、点滅時間全体にわたってボタンを押す必要はありません。しかし、PCから認識されるためには、アップロードボタンを押している間にオンになっている必要があり、それ以外の場合はシリアルコンソールがアクティブではありません。さらに、C3には接続されたバッテリーは必要ありません。USB経由でのみPicoclickを使用する場合は、ジャンパマークされたジャンパ(TODO)をショートできます。このジャンパが短絡している場合は、バッテリーや外部電源をパッドに接続しないでください。そうしないと、電源やPicoclick自体が破壊されます。

さらに、ピンはFPCコネクタで利用できるため、Picoclick C3は延長ケーブルを介して給電できます。FPCブレークアウトボードを使用すると、デバイスはブレッドボードから簡単に給電できます。

+VBAT

起動プロセスのスピードアップ

以下の手順は、C3Tにのみ必要であり、別のラッチングGPIOを使用しないため、C3Tには必要ではありません。

ラッチ回路のため、ボタンが離されたら最初のタスクが実行されるはずなので、ボタンを押すことはプロセッサの起動時間よりも長くなければなりません。Picoclickのほとんどのユースケースでは、最初のタスクは、Picoclickのパワーホールド機能を有効にするためにラッチGPIOをハイに切り替えることです。ボタンが離される前にこのタスクが実行されていない場合、Picoclickはメインタスクを完了せずにスタンバイモードになります。ESP32-C3の標準起動時間は約300msです。したがって、最初のタスクはこれらの300ms後に実行されます。標準のボタン押下(特にC3Tの金属ボタンの場合)は約100ms-200ms、またはわずかに下回っているため、これは長すぎます。この場合、Picoclickのほぼすべてのタスクが中断されます(ボタンを長押ししない限り...)。ブートプロセスをスピードアップするために、私はESP-IDFに精通しました。実際、私がArduinoフレームワークからESP-IDFに切り替えた理由は、ESP32-C3のすべての設定にアクセスできるようになったからです。

menuconfig

私がこれまでにやったこと:

  • フラッシュSPIモードDIOからQIOに設定する(シリアルフラッシャー設定の場合)
  • ログ出力を情報から警告に設定(コンポーネント設定内)
  • ブートローダログの詳細度情報から警告に設定する(ブートローダ設定内)
  • 電源投入時からイメージ検証をスキップする(ブートローダ設定内)を有効にする

これらの点は、ほぼ非常に素晴らしい約68msの起動時間をもたらします。私がこれまでに行ったテストはかなり十分でした。それをさらに速くすることが可能であれば、または正しい方向につながる可能性のある他のアイデアがある場合は、私に知らせてください!

消費電力

ティッカー

これらの電力測定は、Otii Arc電力アナライザとその専用ソフトウェアを使用して行われます。平均電流とピーク電流は右上隅に表示され、現在のグラフで選択したフレームに基づいています。この場合、Picoclick C3TはESP-NOWスレーブとして使用され、これはおそらくあらゆるワイヤレス接続の最速のソリューションです。

完全なPicoclickタスクは次のようになります.これにより、最終的にLED部分が最も長い部分になります。全体のタスクは約1,7秒かかりましたが、送信自体は約200ms後に完了します。もう1つの部分はWiFiを無効にしており、LEDでいくつかの視覚化を行うためだけに使用されます。全体の平均電流は28mAを下回っています。

ESP-NOW パッケージは最初の 200 ミリ秒で送信されます。ここでの平均電流は73mAです。

すでに述べたように、残りは平均で22mAの電流を使用する視覚化のものです。

Probably the most interesting part is the standby current, because it's the most used state of the Picoclick. As the device doesn't use any sleep mode, we're getting as low as 3µA in this state. This is only related to the battery monitoring feature. As the voltage divider between and is the current flow through it is about 3µA.

Vbat
GND
1MOhm + 250kOhm = 1.25MOhm

C3

coming soon.

Battery for the Picoclick

C3T

The optimal battery, which is shown in the picture below, is a 301012 LiPo battery (3.0mm thick, 10mm width, 12mm length). Nevertheless you can use whatever single cell LiPo battery you want. Charging current is set to 20mA, to be used with those 20-30mAh batteries. For larger capacity batteries the battery charging time will - of course - increase. For 20-30mAh charging time is about 1h - 1,5h.

Below are some links for those tiny batteries (no sponsor, no affiliate, just for info):

Aliexpress 301012

Aliexpress 401012

eBay 301012

C3

As the Picoclick C3 comes with an embedded battery protection, the protection of the LiPo battery itself is redundant. Therefore you can use these tiny cells which are used by BT headsets. They come in a 401010 or 301010 package.

Aliexpress 401010

Flashing adapter with pogopins

C3T

In order to flash boards without soldering wires or batteries to the Picoclick, I decided to print a simple flashing adapter which uses 1mm pogopins to make contact to the battery pads on the board. Just plug in the USB cable, shift the device in, press it down to the pogopins and hit the upload button. Simple overview is given below.

C3

Needless because the Picoclick C3 can be powered over the extension cable.

Cases

ケース 2 (ラウンド) C3T 用

ラウンドデザイン。2本のM2x8mmネジと組み合わせた。

ケース C3

もうすぐです。

FAQ

私のPicoclick C3Tは、私はそれをコンピュータに接続すると、デバイスリストに表示されません - 私は何ができますか?

  • あなたのPicoclickは出荷前に十分にテストされているので、おそらく壊れていません。まともな電源をバッテリ接続(3.5v〜5.5v)に接続していることを確認してください。バッテリの極性は上図のとおりです。USB-Cジャックは、バッテリを充電し、ESP32をフラッシュするためのものであり、デバイスに電力を供給するためのものではありません。

メディア

James Lewisによる Hackster.io の記事:Picoclick C3Tは世界最小のIoTボタンであり、RISC-Vプロセッサを搭載しています

Abhishek Jadhavによる Electronics-lab.com の記事:ESP32-C3 RISC-Vプロセッサの周りに構築されたピコクリックC3T IOTボタン - WIFIとBLEをサポートしています