よこむむの電子工作記

電子工作や修理日誌です

部屋をフリーランス仕様に模様替え

以前にレトロPC用のモニタとして購入したDELLのP1914ですが、普段使いとしても良い感じだったので、予備という意味も兼ねてもう一台購入してみました。整備品が廉価で潤沢に出ています。

yokomumu.hateblo.jp

横幅が14インチのノートPCや、MacBookに近いところもお気に入りでした。私の場合は、ディスプレイを縦に並べて、ノートPCではVSCodeやKiCadをフルスクリーンで起動しておき、サブモニタでブラウザやOneNoteを起動しておくという使い方が多いです。

DELL P1914Sを設置したところ

普段はリモートワークで、いまだにコタツで仕事をしています。そろそろコタツから出て、デスクで作業をしようと思い、模様替えをした次第です。

ちなみに、模様替えする前はこんな感じ↓

やる気の微塵も感じませんねえ。

(XVI様には、ここよりももっといい置き場所を作ってあげましたん)

お問い合わせフォームを設置しました

はてなブログのコメント機能で連絡を取り合うのは難しいと判断したので、今さらながら問い合わせフォームを設置しました。

PCエンジンの修理、RGB出力追加のご依頼、その他RGBアンプの頒布など、以下のお問い合わせフォームからご依頼を受け付けております。是非お気軽にお問い合わせください!

お問い合わせフォーム(私のホームページへジャンプします)

これまでのお問い合わせの一部(実際例)
  • ドリームキャストへのHDMI出力追加(改造)依頼
  • PCエンジンDuo-RへRGB出力の追加(改造)依頼
  • PCエンジンDUOのフルメンテナンス+RGB出力追加依頼
  • RGBアンプモジュールの取り付けサポート(無料)
  • 無線機(ハンディ機)のフルメンテナンス依頼
  • ブログ記事に関する質問(もちろん無料)

レトロゲームコンソールや無線機の修理には10年単位での経験があります。
いずれの依頼も完遂しており、とてもリーズナブルに済んだと喜んで頂けております。

料金の例

参考までに、以下はPCエンジンDUOのメンテナンス料金一覧です。お支払いはメルカリの専用出品の購入が便利で簡単です。

<基本料金>

  • 本体フルメンテナンス(電解コンデンサ全交換+メカ調整など含む):¥12,000円

<オプション料金>

  • セーブデータのFRAM化(非バンク):+¥6,000円
  • FRAM16バンク化改造:+¥6,000円
  • RGB出力追加&高品質SCARTケーブル付き:+¥8,500円
  • RGB出力追加(VGA端子追加改造):+¥7,000円
  • ACアダプタフルメンテナンス(電解コンデンサ交換+DCコネクタ新品交換):+¥2,800円
  • 光ピックアップ新品交換:+¥7,000円
  • オーディオ回路のグレードアップ(クリアな音になります):+¥4,500円
  • 送料(らくらくメルカリ便80サイズの場合):全国一律¥850円
  • 手数料(メルカリの場合):(上記メンテナンス代+送料)の10%

<おすすめ構成(多くリクエスト頂いている3種類)>

  • 本体フルメンテナンスのみ
  • 本体フルメンテナンス+FRAM化
  • 本体フルメンテナンス+FRAM化+RGB追加

DUOの場合、FRAMバンク化/RGB出力追加などの改造には原則、本体が動作品である必要があります。そのため、本体フルメンテナンスを基本料金とさせていただいております。但し、既にフルメンテナンス済みの場合はこの限りではありません。

オプションはご希望を確認しながら、依頼品が到着した時点でお見積もりいたします。ご了承いただける場合は作業に取り掛かります。

例)本体フルメンテナンス¥12,000円+送料¥850円+メルカリ手数料¥1,427円
注)基本的に動作品のフルメンテナンスとなります。到着時に動作確認と内部の確認を行い、不具合がある場合は、基板交換など修理代として別途お見積もりさせていただくことがあります。但し、音が出ない/小さい、CD読み込まない程度の経年劣化による動作不良の修理は、フルメンテナンスに含まれることがあります。また、年代物ですので、機能を完全に復元できない場合もありますのでご了承いただく必要があります。

 

いきなりデスクトップPCが壊れた〜パーツ組み替え

ある日、PCの電源を入れたら起動ドライブが見つからないというエラーを表示して起動しなくなりました。

このPCは2019年に購入したEndeavorのPro5900で、おおよそ6年間特に問題なく動作していた訳ですが…

SSDを取り出してCrystal Disk Infoやベンチマークを回してみたところ、特に問題無し。改めてセットしてもやはり全く同じ症状で起動せず。こりゃあ、いよいよマザーボードが逝ったなあということで、パーツの組み替えをすることにしました。

組み替えた(組み替え先)パーツは以下の通りです。

  1. マザーボード:ASUS PRIME B760-PLUS D4
  2. CPU:Intel Core i7-14700F(グラフィックス無し)
  3. RAM:Crucial DDR4-25600(PC4-3400) 16MB DIMM x 4
  4. SSD:Lexer NM790(2TB)+Crucial P3(1TB)
  5. グラフィックスボード:MSI GeForce RTX 5060 8G VENTUS 2X

RAMは相場がバグっているので既存のものを流用する形にしました。そのため、マザボもDDR4対応のものをチョイス。
SSDも同じく相場がおかしいので、ストックしてあった手持ちのものをかき集めてきて流用しました。

グラフィックスボードも、元はGeForce1070Tiが載っていて悪くはなかったのですが、ベンチマークによるとやはりグラフィックスがシステムのボトルネックになっているようなので、後から買い替えました。

あとは問題といえば、元々付いていたシャーシファンが年季が入ったせいか、「グー」と唸るような気がします。そのため、このファンも新調しました。静音タイプだと冷却性能が心配だったので、PWMコントロールの最大2400rpmで密閉型のボールベアリングのタイプにしました。

どうにか今どきのPCに生まれ変わって、元気良く動いています。

AirPods Maxを買いました〜ヘッドホンの話

iPad Air(M3) 13インチ 256GBブルーと、AirPods Max ブルーを購入しました。
早速、今まで使っていたAirPods Pro(第一世代)と、新しく買ったAirPods Maxを聴き比べてみました。AirPods Maxの方は一皮むけたような繊細でクリアな音でした。低音も強すぎず自然な感じで好感が持てます。

やけにいい音がするので、色々と興味が湧いてきて、手持ちのヘッドホンであるSONYのMDR-1AM2 + KA5とも比べてみました。が、比べてみると、AirPods Maxの方はややドンシャリ気味でモヤモヤとした印象を受けました(ノイズキャンセルOFF)。

ワイアレスヘッドホンで、しかもエージング前の製品と比較するのもアレですが、音質重視ならば、やはり音響機器メーカーの製品の方が一枚上手な感じがします。しかし、Apple製品(iPhone, iPadなど)との親和性という意味では、AirPods Maxは最強なのは間違いなさそうです。

あと、AirPods Maxの面白い機能の一つに、USB-CケーブルでiOSデバイス/macOSデバイスに接続し、ロスレスで再生できる機能です。Bluetooth接続ではどうしてもAACで圧縮された音声として伝送するために音質は劣化しますが、USB-Cケーブル+Bluetoothで接続することによりロスレス(⚠️最大48KHz/24Bitなのでロスレスハイレゾには対応していない)で再生できるようになります。早速試してみましたが、確かにクリアな音質になります。有線接続にはなってしまいますが、時には空間オーディオ+ロスレスというAirPods Maxの本気を試してみる価値はありそうです。あ、Windows11機にUSB-Cで接続してみたところ、Dolby Atmosヘッドホンとして認識されました。使いではありそうです。

ラインナップ的には、SONYだとワイアレス最高峰のWH-1000XM5あたりと競合するのでしょうか。ちなみにSONYストアでの値段は¥56,100円でした。割と現実的なお値段です(買えないけど)。うぉーガチで比較してみたい。

 

ESP32-S3搭載LCD開発基板で遊ぶ~MP3プレイヤーを作る

前回の記事に続き、ESP32-S3搭載LCD開発基板 (JC3248W535)で遊びます。

yokomumu.hateblo.jp

今回は、サンプルコードを解析しつつ、超簡易MP3プレイヤーを作成します。まずは、JC3248W535に添付されているサンプルのMP3プレイヤーの構造をざっくりと図に起こしました。

サンプルのMP3プレイヤーの構造

一番下のハードウェアに対して、オーディオ関連はArduino Audio Library、描画と入力関連はBSPとLVGLが担当しています。ここで、聞きなれないBSPという単語が出てきましたが、これはボード支援パッケージ(Board Support Package)というもので、一般的にはハードウェアメーカーが提供するデバイスドライバーのようなものです。LVGLは、この上に乗っています。

ここで問題なのは、BSPが古いLVGL 8.xにしか対応しておらず、将来的に最新版に差し替える必要が出てきた場合(今回は初っ端から差し替える予定ですが)、BSPを大幅に書き換えなくてはいけないところです。基本的にBSPにはユーザーは手を加えません。ハードウェア固有のコードであり、バグ修正以外の理由で書き換える理由は余り無いためです。

現状最新版のLVGL 9.xを使う場合、このBSPは使えません。そこで、色々とWebを泳ぎ回っていたところ見つけたのがGFX(組み込み向けグラフィックスライブラリ)を使ったLVGLのサンプルです。

このサンプルは、下のGitHubで公開されています。(ありがとうございます!)

github.com

これに入れ替えてMP3プレイヤーを作成する場合、以下のような構造になります。

これから作成するMP3プレイヤーの構造

GFX LibraryはLCDパネルの制御のみに特化しており、LVGLを使うためにはタッチパネルの制御用にグルードライバを自分で起こす必要があります。有り難いことに、こちらのコードも同梱されています。

失礼ながらこちらのコードはかなり乱暴なコードでして、毎フレーム全エリアを更新しているため非常に重いコードです。実際に動く物を作る場合には改良しながら使う必要があるでしょう(それほど難しくはありません)。サンプルということですが念のため。

そして実際に作ってみたのが写真のようなデバイスです。

実際に動作しているMP3プレイヤー

タッチしても何も動作しませんが、/musicディレクトリの下にあるオーディオファイルをひたすら再生し続けるだけのものです。

これから色々と手を加えてそれらしくしてみようと思います。

ひとまずGitHubに現状のコード置いておきました。興味のある方はZIPファイルでダウンロードしてコンパイルしてみてください。PlatformIO用です。

github.com

2026/02/17追記:画面のリフレッシュタイミングをVSyncと同期するなど最適化しました

なお、恐らくそのままではESP-IDFのヘッダファイルが足りないと怒られてコンパイルが通らないはずです(ESP-IDFの問題です)。実際には参照しないヘッダファイルなので、単純に黙らせるだけでOKです。

直すのが面倒な方は、エラーコードをGitHub Copilotにでも食わせれば適当に直してくれるでしょう(笑)

次回へと続きます。

 

ESP32-S3搭載LCD開発基板で遊ぶ~セットアップ編

以前に紹介したLCD開発基板で遊んでみましたので記事にしてみます。

yokomumu.hateblo.jp

手始めに、Arduino IDEで書き起こされたmp3プレイヤーのサンプルをVSCode+PlatformIOの環境に移植してみようと思います。サンプルプログラムはこちらからダウンロードできます。

そこで、まずは開発環境のセットアップから(VSCodeとPlatformIOはセットアップ済みという前提でお話を進めます)。

プロジェクトの作成

Boardは「Espressif ESP32-S3-DevKitC-1-N8」を選びます。

フラッシュメモリのサイズとPSRAMの有無は現状と一致していませんが、この次の手順で有効化できるため、一旦問題ありません。

platformio.iniの編集

使用するフラッシュメモリサイズの最大化とPSRAMを有効にします。
情報の出所は以下になります。

github.com

なお、デフォルトでは、Serial出力はUART経由になりますが、Serialの受信側がCDCで接続されているため、Serialで出力した内容は受信できません。Serial.println()しても何も表示されないということです。
Serialの出力先をCDCにするためにビルドオプションに-DARDUINO_USB_CDC_ON_BOOT=1を指定する必要があります。

[env:esp32-s3-devkitc-1]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino

board_build.arduino.memory_type = qio_opi
board_build.flash_mode = qio
board_build.psram_type = opi
board_upload.flash_size = 16MB
board_upload.maximum_size = 16777216
board_build.partitions = default_16MB.csv
build_flags = -DBOARD_HAS_PSRAM -DARDUINO_USB_CDC_ON_BOOT=1
monitor_speed = 115200
upload_speed = 1500000
;build_type = debug

なお、PSRAMを有効化してもコンパイル終了時の使用メモリ容量の表示には反映されませんが、heap_caps_malloc()等でPSRAM領域を確保できるようになります。

あと、build_type = debugを有効にすると、以下の手順でデバッグ実行できるようになります。

  1. 普通にBuild(デバッグビルドになる)
  2. バイスにアップロードする
  3. F5キーでデバッグを開始する

デバッグしたい場合はこのコンパイルスイッチを有効にしておかないと、ローカルとデバイスのバイナリが一致せずハマるので注意しましょう。

セットアップ編は以上です。続編については鋭意作成中です。

PC-8801へPC-9801のキーボードを繋ぐ変換器~基板組み立て

前回の記事に続いて制作記事を上げます。

yokomumu.hateblo.jp

今日は2ヶ月ぶりに床屋に行き、頭がスッキリして気分が良くなった所で、夕方頃から重い腰を上げて基板を組み立ててみました。
まずは部品集結…少なっ!

組み立ては1時間ほどで完了。
コネクタ部分(オス)のところが組み立てに時間が掛かりました。

そして部品在庫を使って3台を組み立て。結構疲れました。

そしてN88 DISK-BASICを使って動作確認。

普通に使えて結構良い感じです。
次にゲームでも動作確認。

おおおお!ちゃんと使える。感動!!
88キーボードのリピート処理を完全に再現できる訳ではありませんが、これはイイと思います。
88キーボードの選択肢を広げる品物になったと思います。

自分の分も含めて3台組み立てたので、そのうちの2台を出品してみました。
もしも興味がありましたら、購入を検討して頂けると幸いです(^^)

jp.mercari.com

関連出品はこちら。

jp.mercari.com

という訳で…