たまたま購入した「ピンヘッダ半田づけ治具」が結構ナイスだった

カテゴリー: 治具

ヘッダ後付けボードやDIP化キットなど使うと、ピンヘッダを垂直に半田付けするのが意外と手間できれいに配置するのが難しい。

スイッチサイエンスさんで買い物をしたとき、他になんか無いかな?と、サイトをパラパラ見ていたら「2.54mmピッチピンヘッダはんだ付け治具(通常・細ピン両対応)」をたまたま見つけてポチッとしたのがなかなかナイスだったという話

続きを読む…

昇降圧DCDC SC8721モジュールをPIC12Fで電圧設定

カテゴリー: PIC

ストロベリーリナックスで販売しているSC8721 可変型昇降圧DC-DCコンバータモジュールは2.7~22V入力で2.7~22V最大5A出力可能な優れモノです。

多回転トリマに交換してみたSC8721モジュール

基板上のトリマかI2Cで電圧設定できます。実装のトリマでは設定が荒いので多回転トリマに付け替えてみたりしていましたが、正確な電圧設定はI2Cを勧めているのでそっちにすることにしました。ネット上で実例が見当たらないので自分でやってみよう。 続きを読む…

Raspberry Pi CH340 RS485アダプタと格安RS485モジュールの接続テスト

カテゴリー: シングルボードコンピュータ

Raspberry Pi (以降raspi)にolimexのUSB-RS485変換アダプタ(strawberry linuxで購入)を挿し、一方二個で1k円以下という格安RS485モジュールの接続をテストした覚書。

続きを読む…

Raspberry Pi、Tkinter/pythonでGUIプログラムをvscodeでリモート開発

カテゴリー: シングルボードコンピュータ

Raspberry Pi(以降”raspi”)で小規模アプリ開発ではGeanyは軽快です。でもVScodeを使いたい、しかしraspiにインストールすると結構重い。そこでPCのVScodeからリモート開発です。VNCは有線接続ならレスポンス結構早く、開発はどんどんストレスフリーになっていきます。すごいですね!

TkinterでGUIを含むプログラムのリモート開発は、実は環境変数の”DISPLAY”を設定すればCLIリモートと同じ手順です。CLIリモートの例は数多く記事がありますので、重複しますが覚書として設定から記載です。

Tkinter/GUIの環境変数”DISPLAY”の解決は最後の方の項で説明してます。

続きを読む…

ESP32-S3:PlatformIO、ESP-IDFとarduinoモードでネイティブUSBをCDCで使う

カテゴリー: ESP32

ESP32-S3のUSBをESP-IDFとarduinoモードでCDCを構成した覚書。V6になって少し変更があったのでダブりもありますが「ESP32-S3-1-N16R8を試してみる-USBIFでCDCデバイス」の続編です。

両方ともバックグラウンド受信してくれますが、ESP-IDFは受信イベントが使える代わりに、V6でtinyUSBが外付けになってコーディング量も多く、それに対しarduinoモードは受信イベントは無いけどシンプル記述できるので、両方同時に使えればよいな~、と思いましたが、現時点のesp32-s3-devkitc-1ではplatformio.iniにesp-idfとarduino同時記述はできず、また当然ですがesp-idfコードに<arduino.h>を追加してもエラーになるので、別々に確認した記事です。

続きを読む…

M5Stack IMUとタッチパネルを別タスクで使うためMutexで排他制御

カテゴリー: ESP32

M5Stack Core2でIMU(6軸センサ)のサンプルプログラムを応用して、アプリを構築しようとしています。

M5Stack Core2のスイッチはタッチパネル(以降TP)の一部を使っています。IMUと共通I2Cです。マルチタスクで読みだす際に、アクセス競合防止にMutexで排他制御した覚書です

ESP32の開発では、「ESP-IDF環境でないとFreeRTOSが使えない」と勝手に誤解して永らくESP-IDFを使っていましたが、今回の解決でArudino環境でも使えるのが大々的に判明したので、嬉しくなっての投稿でもあります。

続きを読む…

.NET6でSerialPortコンポーネントを使えるまで

カテゴリー: ソフトウェア

ずっと.NETframeworkを使ってました。簡単なアプリが多いのでいまでも支障はないのですが、WPFにするスキルもなくWFAを使い続けようと思っていた矢先に、.NETframeworkは長期サポート外ということが分かり、それではLTS版の.NET6にアプリを移行してみたらどうか、とやってみたらSerialPortがうまくいかないので解決するまでの覚書。 続きを読む…

PlatformIO版ESP-IDF V6に移行する – ADC

カテゴリー: ESP32

ESP32-S3の開発にはPlatformIO(以降PIO)版ESP-IDFV5.1.1で行っていましたが、V6.1.0まで使えるようになったので今後のことも考えて移行することにします。

PIO版ESP-IDF V6公式版ESP-IDF V5に相当し、公式版ではV4→V5で大幅に変更がありました。migrationの一覧はここ、詳細はここで。バージョンの値が近いのでややこしいです。

以前公式版とPIO版のVersionを混同してPCNTをレガシー表記で使った記事を書きましたが、今回の変更でそれも新表記に修正することになりました。

今回はADCについての覚書。キャリブレーションの効果も簡易的に測定しました。

続きを読む…

ESP32-S3のPCNTをPlatformIO版ESP-IDF V5で使う

カテゴリー: ESP32

2023/1/4 文章修正と内容訂正しました。

2023/4/12 ESP-IDFバージョンについての記述を追加しました。

公式版ESP-IDFのAPIはV4.4からV5へのバージョンアップで大幅に仕様が変わっていました。

PlatformIO版ESP-IDFはV6が公式版V5に相当します。これがややこしく、私も混同していましたので、以下のPCNTについての内容はPlatformIO版V5では公式版V5の記述ができない、という至極当然のことだったわけで、訂正いたします。

PCNTも含まれ、記述や関数名が変わっています。参考はここ

ところが、PlatformIOでESP32-S3をESP-IDF V5.1.1で開発してみると、新しい仕様のPCNTが使えない。無理やり「pulse_cnt.h」「pulse_cnt.c」を組み込んでも当然ながらframeworkにhalのドライバが存在しないのでリンカが通らない。なにより小手先の対策はESP-IDFのバージョンを変えるとフレームワークも一新されるので得策ではありません。

今回はレガシィ記述でPCNTを使うことにしました。その覚書です。

続きを読む…

ESP32-S3:VScode+PlatformIOで生成したバイナリをesptoolで量産書き込み

カテゴリー: ESP32

VScode+PlatformIOで開発したコードは、PlatformIO→UpLoadで書き込めますがBuildも含まれるので複数枚書き込みには適しません。

そこで、VScodeが吐き出したコードを単体のFlashプログラマとして「esptool」で量産書き込みする覚書です。私の環境はESP32-S3ですが、ESP32全般でたぶん使えると思います。

続きを読む…