USBシリアル変換ICのマイコンライターとしての使用可否検証 その2 FT232RL, FT231X, avrdudeコマンド

[MacOS Ventura 13.3.1, Windows11]

前回の続き。

5.FT232RL USBシリアル変換モジュール、AVRマイコンのデータシートをある程度理解できる知識、avrdudeコマンドに関する知識があれば、安価でマイコンへの書き込みが可能。avrdude-GUIのようなアプリを使わずとも、WindowsやMacOSで自在に書き込みができる。

6.avrdude関連コマンド例 (ATtiny13A)

# MacにつないだFT232RLのポートを調べる
ls -l /dev/tty.*
# 出力例
crw-rw-rw-  1 root  wheel  0x9000004  5 13 19:11 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw-  1 root  wheel  0x9000002  5 13 19:11 /dev/tty.usbserial-DJ004ULY
crw-rw-rw-  1 root  wheel  0x9000000  5 13 19:11 /dev/tty.wlan-debug

# 接続確認
# Windows
avrdude -n -p attiny13a -C avrdude.conf -c ft232r -P ポート番号(COM3など)
# MacOS
avrdude -n -p attiny13a -C /opt/homebrew/etc/avrdude.conf -c ft232r -P /dev/tty.usbserial-DJ004ULY

# hexファイル書き込み
avrdude -p attiny13a -c ft232r -P /dev/tty.usbserial-DJ004ULY -U flash:w:main.hex:i -B 4800

# FUSE変更
avrdude -p attiny13a -c ft232r -P /dev/tty.usbserial-DJ004ULY -U lfuse:w:0b01111010:m -U hfuse:w:0b11111111:m -B 4800

7.avrdude.conf 設定例
/opt/homebrew/etc/avrdude.conf

programmer
    id    = "ft232r";
    desc  = "FT232R Synchronous BitBang";
    type  = "ftdi_syncbb";
    connection_type = usb;
    miso  = 3;  # CTS X3(1)
    sck   = 5;  # DSR X3(2)
    mosi  = 6;  # DCD X3(3)
    reset = 7;  # RI  X3(4)
;

8.FTDI BitBang AVR-Writer(Windows用)をFT231Xで組んでみたがエラー発生。元記事ではFT232RLを使用している。
https://make.kosakalab.com/arduino/avr-writer/

9.FT231Xは簡易機能版のためマイコンライターとしては使えないことが判明。FT232RLのBitBangモードを使えばマイコンライターとなる。

2023/5/22追記:後日avrdude-GUI(Windows版のみ)を使ってFT231Xで書き込みできた。関連記事参照。

$ avrdude -c ft231x -p attiny13a -U flash:w:main.hex:i -P /dev/tty.usbserial-DJ004ULY
avrdude: MISO: Following pins are not valid pins for this function: 8
         Pin assignment  : 0..7 = DBUS0..7
           VCC     =  (not used)
           BUFF    =  (not used)
           RESET   =  3
           SCK     =  6
           MOSI    =  7
           MISO    =  8
           ERR LED =  (not used)
           RDY LED =  (not used)
           PGM LED =  (not used)
           VFY LED =  (not used)
avrdude: opening programmer "ft231x" on port "/dev/tty.usbserial-DJ004ULY" failed

avrdude done.  Thank you.

10.秋月電子が販売しているFT232RL USBシリアル変換モジュール(1100円)はUSBコネクタがminiBなので要注意。今はmicroBが主流のため持っていない方も多いのでは。私は携帯電話関連のケーブルを処分した際に一緒に捨てていました。

USB miniB

USBシリアル変換ICのマイコンライターとしての使用可否検証 その1 FT231X

[MacOS Ventura 13.3.1, Windows11]

AIの急速な進化に伴いソフトウエア製作への興味が薄れつつあります。プログラミングが知的刺激を伴わなくなり、単純に面白くなくなってきました。ソフトウエア技術の価値が揺らいでくると、ハードウェアの相対的重要性が増してくるように思います。

USBシリアル変換IC FT231Xをマイコンライターとして使えないかトライしています。その過程を記録していきます。

1.FT231XのUSBシリアル変換モジュールを購入。2016年9月。

2.このモジュールをマイコンライターに転用できないか検討開始。2023年5月。

3.ドライバは以下のサイトから入手。
https://ftdichip.com/drivers/vcp-drivers/

MacOS Venturaではベータ版インストーラがうまく動作せず。調べると最近のMacOSにはデフォルトでドライバが入っているとのこと。Macのシステムレポートでドライバ認識を確認。

4.Windows11でMicrochip Studioを使ってLED点滅コードをコンパイルし、avrdudeで書き込みを図るが以下のエラーが発生。デバイスドライバではFT231XをCOM3として認識している。avrdude.confにはFT231Xについて追記済。miso等後ろ4行は仮設定。

>make flash
avrdude -c ft231x -p attiny13a -U flash:w:main.hex:i
E avrftdi_open(696): Error -3 occurred: device not found
avrdude error: unable to open programmer ft231x on port usb
programmer
    id    = "ft231x";
    desc  = "FT231X";
    type  = "avrftdi";
    connection_type = usb;
    miso  = 3;  # CTS X3(1)
    sck   = 5;  # DSR X3(2)
    mosi  = 6;  # DCD X3(3)
    reset = 7;  # RI  X3(4)

;

RTX 4070Tiの占有スロット数 / GPU2枚挿し

[MB : ASUS ROG STRIX B660-F GAMING WIFI]

PalitのRTX 4070Tiは同種のグラボに比べて厚めで64mmになります。

価格コムではPalit品は3.1スロットを占有するという情報がありました。実際に見てみるとギリギリ3スロット占有で4スロット目のPCIe×16は使えそうな感じだったので手持ちのGTX 750Ti(購入から8年経過)を挿してみました。結果はあっさり成功です。同様に分厚いASUSの4070Tiは65mmですが、いけそうな気もします。

このまま2枚挿しの状態で普段使いは750Tiにして4070Tiが電力を消費しないようにしたいです。ただ4070Ti側の電源コネクタは出火トラブルの影響なのか嵌合がきつすぎて容易に外すことが出来ません。中継ケーブルのマザーボード側を外すのが妥当でしょうか。

グラボのスペックだけがやたらと高い構成ですが、AI研究用途であればCPUはリテールクーラーで十分なレベルでも問題ないでしょう。

最近のグラボは複数年の保証が増えています。Palit品は1年です。複数年保証品に本当に無償対応してくれるのか、私自身は懐疑的です。特に3年保証のGALAKUROブランド。今後のネット情報を注視していきます。

上段:Palit RTX 4070Ti (3スロット)
中段:玄人志向 GTX 750Ti (2スロット)
下段:サウンドボード (1スロット)

[LTspice] 04 Mac版の操作方法 その2 GND,コマンド,部品記号,色設定

[MacOS Ventura 13.3.1, LTspice for MacOS 17.1.4]

1. GND
Draft – Net Name

2. コマンド
Draft – SPICE directive

0-15分まで,0から50ms間隔で測定

3.抵抗(長方形表示)
Draft – Component – EuropeanResistor

4.電解コンデンサ
Draft – Component – PolarizedCapacitor

5.色設定
Control Panel – Waveforms – Configure Colors

[LTspice] 03 Mac版の操作方法 その1 Standard.bjt,シンボルファイル

[MacOS Ventura 13.3.1, LTspice for MacOS 17.1.4]

約2年ぶりにLTspiceで回路図を書きます。操作方法を殆ど忘れているのでメモを残しておきます。

1.Windows版とはUIがかなり異なる。基本的には右クリックメニューを使う。

2.デフォルトでは2SC1815のような古いトランジスタは扱えないので以下のサイトからStandard.bjtやStandard.mosを入手する。
https://ltwiki.org/index.php?title=Standard.bjt

このファイルを以下のディレクトリに配置する。古いstandard.bjtはstandard.bjt.oldなど適当にリネームする。
/Users/[ユーザ名]/Library/Application Support/LTspice/lib/cmp

入手したStandard.bjtは別に外部ストレージに保管しておく。LTspiceを再インストールすると消えてしまうため。

3.シンボルファイル(部品図)は以下のディレクトリにある。
/Users/[ユーザ名]/Library/Application Support/LTspice/lib/sym

“More Choices”−”Open Other Type of File”のFileChooserから選択する。”Open An Existing Schematic”のFileChooserからは回路図のみ選択可能です。
新規シンボルファイルも外部ストレージに保存を推奨。

Mac版を作ってくれただけありがたいという感謝と寛容の心を持たないとこのアプリは使えないです。UIがおかしければ挙動もおかしいです。隠しファイルを表示させないとシンボルファイルを選べないのにショートカットキーを何度も押さないと表示しないです。表示されないわけではないので出るまで押しましょう。ソースコードがあれば今すぐ改変したい。

[Parsec] 外出先からPC電源ON 米粒マイコン ATtiny10

[MacOS Ventura 13.3.1, Windows11]

外出先からPC電源をONにする方法としてはIoTデバイスを使うのが便利です。

物理的にスイッチを押してくれるデバイスがまず思い浮かぶところですが、毎回確実にスイッチを押してくれるのか心もとない面があります。また自分で押す時には邪魔になります。

そこで今回はスマートプラグを使ってマザーボードの電源スイッチをショートさせる方法にしました。

余り物前提のArduinoを使う方法がネット情報にありましたが、かなりのオーバースペックになるので長さ3mmの米粒マイコン(ATtiny10)を使いました。これでもフラッシュメモリの使用率はたったの7%(74/1024Bytes)です。

主な部品(秋月電子で購入):
ATtiny10実装モジュール(DIP化) 150円 [マイコン単体は50円]
5V小型リレースイッチ 80円
USBコネクタ Type-B 50円

Arduinoは画期的で使い勝手の良い商品ですが、マイコンを使うと低コスト、小型化が可能になります。是非とも挑戦していただきたいものです。

ちなみにArduinoはUno正規品1個、互換品3個、ATmega328P(ブートローダ書込済)3個を持っていて余りまくっているものの、さすがに今回の用途では使う気になりませんでした。

電源ON/OFFユニット

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	DDRB |= 0b00000001; //PB0を出力に設定

	PORTB |= 0b00000001; //PB0をON
	_delay_ms(500/8); //500ms待機(8分周のためコードで調整)
	PORTB &= ~0b00000001; //PB0をOFF

}
ATtiny10は5Vで書き込みをする(3Vではエラーになる)
PasSを使って部品配置図作成(Windows版のみ)

参考サイト

[Parsec] 外出先のMacからログイン待機WindowsPCを操作 Shared

[MacOS Ventura 13.3.1, Windows11]

外出先のMacからログイン待機WindowsPC操作を試みました。

使用した回線:povo データ使い放題(330円/1日)

接続先のWindowsPCはスタートアップにParsecのショートカットを入れておきます。Parsecはログインを保持した状態にしておきます。

外出先のMacをテザリング接続しParsecを起動すると、電源ONになっているWindows11PCを認識できるので接続してログインします。

一連の操作はデータ量的に動画を視聴しているのと同じ状況ですから、たまに速度制限がかかることがありますが、多少の遅延が生じる程度でさほど影響はありませんでした。ゲームは厳しいでしょうね。

電気代を気にしない方は外出時にWindowsPCの電源をONにしておけば良いのですが、やはり外出先から電源ONできるようにする方が経済的でしょう。

リモート電源ONの方法については次回以降検証します。

[Parsec] Macからログイン待機WindowsPCを操作 Shared, LAN

[MacOS Ventura 13.3.1, Windows11]

リモート操作アプリ Parsecの動作検証をしています。

LAN内のMacからログイン待機状態のAI用WindowsPCへコネクトを試みました。

MacへのParsecインストールの際にはWindows版のようにインストール形式で”Per User”と”Shared”のいずれかを選択する画面は出てきません。

Sharedと同等にするには、代わりに”プライバシーとセキュリティ”−”画面収録”−”Parsec”を有効にします。

これでMacからログイン前のWindowsPCにコネクトして、ログインできるようになります。

LinuxPCはHost(操作される側)不可

[Ubuntu] 02 BIOSのブートエントリを削除する

[Ubuntu 22.04.1]

下記方法でLinuxからブートエントリを削除できます。

加えてWindowsのbcdeditコマンドでもエントリを削除する必要があります。ただしEFIファイル自体を消さない限り、根本的な解決になりません。

それでもBIOSから消えない場合は優先順位設定でDisabledにします。最初からそうするのが手っ取り早いです。ただし優先順位を変えても勝手に元に戻ることがあります。ASUSのマザボではそうなりました。

# エントリ番号3を削除
sudo efibootmgr -b 3 -B

参考サイト(efibootmgr)

参考サイト(bcdedit)

[Ubuntu] 01 プロンプト表示を変更する

[Ubuntu 22.04.1]

環境変数PS1を.bashrcファイルで設定します。

# $のみ表示
export PS1="\$ "

# "ユーザ名@HH:MM:SS ~"の場合
export PS1="\u@\t \w\$ "

\d : 日付
\h : ホスト名(ドメイン名なし)
\H : ホスト名(ドメイン名あり)
\s : シェルの名前
\t : 時間(24時間制 HH:MM:SS形式)
\T : 時間(12時間制 HH:MM:SS形式)
\@ : 時間(12時間制 HH:MM AM/PM形式)
\u : ユーザ名
\w : カレントディレクトリ
\W : カレントディレクトリのベース名
! : コマンドの履歴番号を表示
# : コマンドのコマンド番号
\$ : rootなら#、それ以外のユーザは$を表示
\ : バックスラッシュ