

Langstone controller
DATV Tranceiver Shonan_Lite for Raspberry Pi 5 with Langstone-V3Modify + Pluto v0.32-dirty
- Size
- 57.3 × 49 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 22
- Nets
- 12
- Pads
- 52
- Tracks, vias
- 116, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 25 Aug 2026
- Updated
- 17 Oct 2026
Overview
Langstone controller is an open-source printed circuit board by kazushinjo, from the kazushinjo/Shonan_Lite-RasPI5 repository on GitHub. It is a 2-layer board of 57.3 × 49 mm with 22 parts on 12 nets, routed with 116 tracks and 0 vias.
It is built around the TLP222A-2(F). Its parts include 6 capacitors, 5 connectors, 3 resistors, 2 inductors and 1 IC.
Main components
1README
README.mdShonan for RasPI5
Raspberry Pi 5 + ADALM-PlutoによるDVB-S2 DATV送受信タッチGUIシステム。
本体はpi5/配下(Python/PyQt5、eglfs直描画)。
A touch-screen GUI system for DVB-S2 DATV transmission and reception using a Raspberry Pi 5 and an ADALM-Pluto.
The application lives under pi5/ (Python/PyQt5, rendered directly via eglfs).
本READMEは日本語と英語を併記しています。各節で日本語の後に英語が続きます。 This README is written in both Japanese and English. In each section, the Japanese text is followed by the English text.
[!IMPORTANT] Plutoのユーザー名(
root)・パスワード(analog)はデフォルト値のまま変更しないでください。 本アプリとLangstone V3は、SSHでPlutoにログインしてリブートしています(アプリ起動時・アプリ再起動・ 機器試験・Langstone終了時)。変更するとPlutoをリブートできなくなります。Keep the Pluto's username (
root) and password (analog) at their default values. This app and Langstone V3 log in to the Pluto via SSH to reboot it (at app start, app restart, equipment test and Langstone exit). If they are changed, the Pluto cannot be rebooted.
主な機能 / Features
- 送信: 周波数・シンボルレート(333〜2000 kS/s)・FEC・変調方式(QPSK/8PSK)・TX出力を画面で設定し、
Pluto内蔵の
pluto_dvbでDVB-S2送信する。FECは変調方式ごとに実際に動作する組み合わせだけを選べる (QPSK: 1/2・3/5・8/9、8PSK: 3/5・8/9)。送信映像はフルHD(1920x1080)固定。 - 映像ソース: USBカメラ・画像ファイル(静止画を反復送信)・テストパターンから選ぶ。カメラ選択時は
「撮影」ボタンで静止画(JPG、
~/Pictures/Shonan_Lite/)を撮り、そのまま送信画像に使える。 コールサイン・備考を文字サイズ・文字色を選んで映像へ焼き込める(日時も表示)。 - 受信: GNU Radio(gr-dvbs2rx)によるPi 5上での復調。LOCK状態・ビットレート・パケット数/エラー数を表示。
- RSSI測定: 周波数を掃引して受信レベルをグラフ表示する。オンデバイス復調OFF(通常運用)では 相手局の電波を測り、ON(テスト用)では自局もテストパターンで自動送信して自分の信号を測る。
- プリセット: 現在の設定を5件まで登録・呼び出し(プリセット1は未登録の間RFループバック試験用)。
- 10GHz受信(LNB): Home画面の衛星をタップすると、Langstone V3を10236.5 MHz表示・ Pluto受信486.5 MHz(LNB局部発振9750 MHz)の受信専用バンドで開く(下記参照)。 Shonan_Lite(DATV)でも、周波数画面で「10GHz帯」を押すとLNBを使用するか確認し、使用する場合は 表示周波数10.2365 GHz・Pluto受信486.5 MHzで受信する(受信専用、送信不可。「いいえ」なら従来どおり10180 MHz)。
- その他: Pluto URIの自動検出、日本語/英語表示、日本語オンスクリーンキーボード、アプリ内Help、 機器試験、起動時のアプリ選択(Shonan_Lite / Langstone V3)。
- Transmit: Set the frequency, symbol rate (333–2000 kS/s), FEC, modulation (QPSK/8PSK) and TX power on screen,
and transmit DVB-S2 with
pluto_dvbrunning inside the Pluto. Only FEC rates that actually work with each modulation can be selected (QPSK: 1/2, 3/5, 8/9; 8PSK: 3/5, 8/9). The transmitted video is fixed at Full HD (1920x1080). - Video source: Choose from a USB camera, an image file (a still image transmitted repeatedly) or a test pattern.
With the camera selected, the "Capture" button takes a still image (JPG,
~/Pictures/Shonan_Lite/) that can be used directly as the transmit image. A callsign and a note can be burned into the video with a selectable text size and color (the date and time are shown as well). - Receive: Demodulation on the Pi 5 with GNU Radio (gr-dvbs2rx). Shows LOCK status, bit rate and packet/error counts.
- RSSI measurement: Sweeps the frequency and graphs the received level. With on-device demodulation OFF (normal operation) it measures the other station's signal; with it ON (for testing) the station also transmits a test pattern automatically and measures its own signal.
- Presets: Save and recall up to 5 sets of settings (preset 1 is used for the RF loopback test while it is empty).
- 10 GHz reception (LNB): Tapping the satellite on the Home screen opens Langstone V3 on a receive-only band showing 10236.5 MHz, with the Pluto receiving at 486.5 MHz (LNB local oscillator 9750 MHz). See below. In Shonan_Lite (DATV) as well, pressing "10GHz Band" on the Frequency screen asks whether to use an LNB; if so, it receives with the displayed frequency 10.2365 GHz and the Pluto receiving at 486.5 MHz (receive only, no transmit; "No" keeps 10180 MHz as before).
- Other: Automatic Pluto URI detection, Japanese/English display, Japanese on-screen keyboard, in-app Help, equipment test, and application selection at boot (Shonan_Lite / Langstone V3).
スクリーンショット / Screenshots
実機(7インチLCD、800x480)の画面。映像はすべてテストパターンで撮影している。
Screens from the actual device (7-inch LCD, 800x480). All video was captured using the test pattern.
| Home画面 / Home | 送信画面 / TX | 受信画面 / RX | RSSI測定 / RSSI |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| 映像ソース / Video source | 変調方式 / Modulation | 出力設定 / Stream output | プリセット / Presets |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
各画面の操作方法は、アプリ内の「ヘルプ」または操作説明書
pi5/docs/shonan_pi5_operation_manual.docxを参照。
For how to operate each screen, see the in-app "Help" or the operation manual
pi5/docs/shonan_pi5_operation_manual.docx (in Japanese).
インストール / Installation
事前に準備するもの / What you need
- Raspberry Pi 5本体
- microSDカードまたはNVMe SSD(Pi5の起動ストレージ)
- 書き込み用PC(Windows/Mac/Linuxいずれか)とmicroSDカードリーダー等
- ADALM-Pluto(DATVファームウェア導入済み)がPi5とEthernet同一ネットワークに
接続されていること(★
install.sh実行時点では未接続でもよい。あくまで ソフトウェア導入のみで、実運用時に必要) - 送信映像用USBカメラ・オーディオ機器(任意、無くてもテストパターン映像で 動作確認できる)
- A Raspberry Pi 5
- A microSD card or NVMe SSD (the Pi 5 boot storage)
- A PC for writing the image (Windows, Mac or Linux) and a microSD card reader, etc.
- An ADALM-Pluto (with DATV firmware installed) connected to the same Ethernet network as the Pi 5
(★It does not need to be connected when running
install.sh; that only installs software. It is required for actual operation.) - A USB camera and audio devices for the transmitted video (optional; without them you can still check operation with the test pattern)
0. Raspberry Pi OSのインストール / Installing Raspberry Pi OS
Pi5本体に、あらかじめRaspberry Pi OSをインストールしておく。
- PCでRaspberry Pi Imagerを起動する。
- 「デバイスを選択」で Raspberry Pi 5 を選ぶ。
- 「OSを選択」で Raspberry Pi OS (64-bit) を選ぶ (★32bit版は不可。下記「実行条件」参照)。
- 「ストレージを選択」で書き込み先のmicroSD/NVMeを選ぶ。
- 歯車アイコン(詳細設定)で、ホスト名・ユーザー名/パスワード・Wi-Fi・SSH有効化を 事前設定しておくと、初回起動後すぐSSH接続できる。
- 「書き込む」を実行し、完了後microSD/NVMeをPi5に取り付けて起動する。
- PCから
ssh <ユーザー名>@<ホスト名>.localで接続できることを確認する。
Install Raspberry Pi OS on the Pi 5 beforehand.
- Launch Raspberry Pi Imager on your PC.
- Under "Choose Device", select Raspberry Pi 5.
- Under "Choose OS", select Raspberry Pi OS (64-bit) (★The 32-bit version is not supported. See "Requirements" below).
- Under "Choose Storage", select the target microSD/NVMe.
- If you preset the hostname, username/password, Wi-Fi and SSH in the gear icon (advanced options), you can connect via SSH right after the first boot.
- Click "Write". When done, attach the microSD/NVMe to the Pi 5 and boot it.
- Confirm that you can connect from your PC with
ssh <username>@<hostname>.local.
0.5 Plutoのネットワーク設定(USB_ETHERNET) / Pluto network settings (USB_ETHERNET)
ADALM-Pluto(DATVファームウェア導入済み)をPi5と同じEthernetネットワークに 接続するには、あらかじめPluto側のUSB_ETHERNETインターフェースに固定IPを 設定しておく。
- PlutoをPCとUSBケーブルで接続する(USB Mass Storageとして認識される)。
- Plutoのドライブ直下にある
config.txtをテキストエディタで開く。 [USB_ETHERNET]セクションのipaddr_ethとnetmask_ethを、Pi5と同じ サブネット内の値に設定する(例、Pi5が192.168.0.80/24の場合)。config.txtを保存し、PlutoのドライブをPCから安全に取り出す(eject)。 Plutoが自動的に再起動し、新しいIPアドレスで起動する。- Pi5の設定画面「送信先 (Pluto Tx)」に、ここで設定した
ipaddr_ethの値 (下記例では192.168.0.51)を入力する。
To connect the ADALM-Pluto (with DATV firmware) to the same Ethernet network as the Pi 5, assign a static IP to the Pluto's USB_ETHERNET interface beforehand.
- Connect the Pluto to your PC with a USB cable (it appears as a USB Mass Storage device).
- Open
config.txtin the root of the Pluto drive with a text editor. - Set
ipaddr_ethandnetmask_ethin the[USB_ETHERNET]section to values in the same subnet as the Pi 5 (example below for a Pi 5 at192.168.0.80/24). - Save
config.txtand safely eject the Pluto drive from the PC. The Pluto reboots automatically and comes up with the new IP address. - Enter the
ipaddr_ethvalue set here (192.168.0.51in the example below) into "Destination (Pluto Tx)" on the Pi 5 settings screen.
[USB_ETHERNET]
ipaddr_eth = 192.168.0.51
netmask_eth = 255.255.255.0★Plutoのユーザー名(root)とパスワード(analog)は変更しないこと(理由は冒頭の「IMPORTANT」を参照)。
★Do not change the Pluto's username (root) and password (analog) (see "IMPORTANT" at the top for why).
★USB直結時のUSB CDCネットワーク([NETWORK]セクション、既定192.168.2.1)
とは別の設定である。[USB_ETHERNET]は、Pluto(Pluto+)のUSB OTGポートに
挿したUSB-Ethernetアダプタに割り当てるIPアドレスで、これによりPlutoが
Pi5と同じLAN(Ethernet)上のノードとして直接通信できるようになる。
設定ファイルの詳細は
ADI公式Wiki
を参照。
★This is separate from the USB CDC network used for a direct USB connection (the [NETWORK] section,
default 192.168.2.1). [USB_ETHERNET] is the IP address assigned to a USB-Ethernet adapter plugged
into the Pluto (Pluto+) USB OTG port, which lets the Pluto communicate directly as a node on the same
LAN (Ethernet) as the Pi 5. For details of the configuration file, see the
official ADI Wiki.
1. install.shの実行 / Running install.sh
本リポジトリはpublicのため、HTTPS clone(install.sh既定)でそのまま取得できる。
まずPi5へSSHでログインする(<...>の部分はご自身の環境の値に置き換える):
This repository is public, so it can be fetched as-is with an HTTPS clone (the install.sh default).
First log in to the Pi 5 via SSH (replace the <...> parts with values for your environment):
ssh <Pi5のユーザー名 / Pi 5 username>@<Pi5のIPアドレスまたはホスト名 / Pi 5 IP address or hostname>
# 例 / Example: ssh pi@192.168.0.80ログイン後、Pi5上で:
After logging in, on the Pi 5:
# gitが未導入の場合は先に用意する(初回のみ)
# Install git first if it is not installed yet (first time only)
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/kazushinjo/Shonan_Lite-RasPI5.git
cd Shonan_Lite-RasPI5
./pi5/scripts/install.shinstall.sh自身も0/9でgit未導入の場合は自動導入する。以降のアップデート時も
このコマンドを再実行するだけでよい(REPO_BRANCH環境変数で取得するブランチを
指定できる。既定はmain)。
install.sh itself also installs git automatically at step 0/9 if it is missing. For later updates,
simply re-run this command (the branch to fetch can be specified with the REPO_BRANCH environment
variable; the default is main).
★自分のフォークやプライベートなミラーからSSH経由で取得したい場合は、
REPO_URL=git@github.com:<user>/<repo>.git ./pi5/scripts/install_ssh.shを使う
(SSH鍵が未登録ならその場で生成し、GitHubへの登録案内を表示して終了する)。
★To fetch from your own fork or a private mirror over SSH, use
REPO_URL=git@github.com:<user>/<repo>.git ./pi5/scripts/install_ssh.sh
(if no SSH key is registered, it generates one on the spot, shows instructions for registering it
with GitHub, and exits).
Pi5がGitHubへ到達できない環境(オフライン現場等)では、scp/USB等で転送済みの
ローカルクローンから展開するinstall_local.shを使う(GitHubへのアクセスは
一切発生しない)。ソース取得部分がgit clone/pullではなくrsyncでのローカル
コピーに変わる以外はinstall.shと同じ:
Where the Pi 5 cannot reach GitHub (e.g. offline sites), use install_local.sh, which installs from
a local clone already transferred via scp/USB etc. (no access to GitHub occurs at all). It is the same
as install.sh except that the source is obtained by a local rsync copy instead of git clone/pull:
./pi5/scripts/install_local.shさらに、PC側(Windows Git Bash/Mac/Linux)にあらかじめ作っておいたローカル
クローンから、Pi5への転送とインストールを1コマンドで行うdeploy_to_pi5.sh
もある。PC側でこのリポジトリをclone済みの状態で:
There is also deploy_to_pi5.sh, which transfers and installs to the Pi 5 in a single command from a
local clone prepared on your PC (Windows Git Bash/Mac/Linux). With this repository cloned on the PC:
./pi5/scripts/deploy_to_pi5.sh
# Pi5のIPアドレス/ホスト名: 192.168.1.50 ← 入力 / enter
# Pi5のユーザー名 [pi]: ← 入力(空Enterでpi) / enter (empty Enter = pi)を実行すると、Pi5のIPアドレス・ユーザー名の入力だけで、
- ローカルクローンの中身(
.git除く)をtar+ssh経由でPi5の~/shonan-pi5-srcへ転送 - Pi5上で
install_local.shを実行
まで自動で進む。追加ツール(sshpass/rsync)は使わず標準のssh/scp/tarのみで
動くため、Pi5への接続が発生する上記1・2のタイミングでそれぞれ標準のsshパス
ワードプロンプトが表示され、都度パスワードの入力が必要(合計2回。ビルドが
長時間に及ぶ場合、sudoのキャッシュが切れて追加でパスワードを求められる
こともある)。都度の入力自体を無くしたい場合はPi5にSSH公開鍵を登録し、
パスワード認証を使わない構成にする。
Just by entering the Pi 5 IP address and username, it automatically:
- Transfers the contents of the local clone (excluding
.git) to~/shonan-pi5-srcon the Pi 5 via tar+ssh - Runs
install_local.shon the Pi 5
It uses only standard ssh/scp/tar with no extra tools (sshpass/rsync), so the standard ssh password
prompt appears at each of steps 1 and 2 above, where a connection to the Pi 5 is made, and you need
to enter the password each time (twice in total; if the build takes a long time, the sudo cache may
expire and ask for the password again). To avoid entering it every time, register an SSH public key
on the Pi 5 and do not use password authentication.
SHONAN_INSTALL_DIR・SKIP_JA_KEYBOARD・SKIP_GNURADIO_BUILD・
SKIP_LANGSTONE_BUILDをPC側で環境変数指定すると、Pi5側のinstall_local.sh
実行にもそのまま反映される:
Environment variables SHONAN_INSTALL_DIR, SKIP_JA_KEYBOARD, SKIP_GNURADIO_BUILD and
SKIP_LANGSTONE_BUILD set on the PC side are passed through to install_local.sh on the Pi 5:
SKIP_JA_KEYBOARD=1 SKIP_GNURADIO_BUILD=1 ./pi5/scripts/deploy_to_pi5.sh日本語入力ビルド・受信(RX)用GNU Radio/gr-dvbs2rxビルド・Langstone V3ビルドは それぞれ省略して時間短縮できる(省略した機能は使えなくなる):
The Japanese input build, the GNU Radio/gr-dvbs2rx build for reception (RX) and the Langstone V3 build can each be skipped to save time (skipped features will not be available):
SKIP_JA_KEYBOARD=1 SKIP_GNURADIO_BUILD=1 SKIP_LANGSTONE_BUILD=1 ./pi5/scripts/install.sh環境変数で挙動を変更できる。
The behavior can be changed with environment variables.
| 変数 / Variable | 既定値 / Default | 効果 / Effect |
|---|---|---|
SHONAN_INSTALL_DIR | $HOME/shonan-pi5 | リポジトリのclone/pull(またはコピー)先ディレクトリ Directory the repository is cloned/pulled (or copied) into |
LOCAL_SOURCE_DIR | (未設定 / unset) | 設定時、ソース取得をGitHubのclone/pullではなく指定ディレクトリからのrsyncコピーに切り替える(install_local.shが自動設定)When set, obtains the source by rsync copy from the given directory instead of clone/pull from GitHub (set automatically by install_local.sh) |
QTVK_BUILD_DIR | /tmp/qtvirtualkeyboard-src | Qt Virtual Keyboardのビルド作業ディレクトリ Build working directory for Qt Virtual Keyboard |
GR_DVBS2RX_BUILD_DIR | $HOME/gr-dvbs2rx | gr-dvbs2rxのビルド作業ディレクトリ Build working directory for gr-dvbs2rx |
SKIP_JA_KEYBOARD | 0 | 1で日本語入力ビルド(3/9)を省略1 skips the Japanese input build (3/9) |
SKIP_GNURADIO_BUILD | 0 | 1で受信(RX)用GNU Radio/gr-dvbs2rxビルド(4/9)を省略(受信機能は動作しなくなる)1 skips the GNU Radio/gr-dvbs2rx build for reception (4/9) (reception will not work) |
SKIP_LANGSTONE_BUILD | 0 | 1でLangstone V3のビルド(5/9)を省略1 skips the Langstone V3 build (5/9) |
install.shは以下の9ステップを順に実行する(set -euo pipefailのため、
いずれかが失敗した時点で即座に停止する)。
install.sh runs the following 9 steps in order (because of set -euo pipefail, it stops
immediately as soon as any step fails).
| ステップ / Step | 内容 / Description |
|---|---|
| 0/9 | 前提条件の確認(git/SSH鍵の有無を確認し、無ければ案内して終了) Check prerequisites (checks for git/SSH key; if missing, shows guidance and exits) |
| 1/9 | ソース取得(git cloneまたはgit pull)Fetch the source ( git clone or git pull) |
| 2/9 | 実行時依存パッケージのインストール(apt) Install runtime dependency packages (apt) |
| 3/9 | 日本語入力(OpenWnn)対応版Qt Virtual Keyboardのビルド(既定で実施、実測10〜20分程度) Build Qt Virtual Keyboard with Japanese input (OpenWnn) support (done by default, about 10–20 minutes measured) |
| 4/9 | 受信(RX)用GNU Radio + gr-dvbs2rxの導入 Install GNU Radio + gr-dvbs2rx for reception (RX) |
| 5/9 | Langstone V3(SDRトランシーバー)のビルド Build Langstone V3 (SDR transceiver) |
| 6/9 | 起動時コンソール表示の抑制 Suppress the console display at boot |
| 7/9 | reboot/shutdown/起動アプリ切替のパスワード無し実行を許可(sudoers.d) Allow reboot/shutdown/boot-app switching without a password (sudoers.d) |
| 8/9 | 電源電圧警告(稲妻アイコン)表示の抑制(/boot/firmware/config.txt)Suppress the under-voltage warning (lightning icon) ( /boot/firmware/config.txt) |
| 9/9 | systemdサービス登録(shonan-gui.service/langstone.service/shonan-boot-menu.service)Register systemd services ( shonan-gui.service/langstone.service/shonan-boot-menu.service) |
途中で通信・電源が切れない環境で実行すること。完了後、起動のたびに
「Shonan_Lite / Langstone V3」を選ぶ全画面メニュー
(shonan-boot-menu.service)が自動起動する。選んだ側のshonan-gui.service/
langstone.serviceをsystemdに登録・起動する。あわせて
/boot/firmware/config.txtへavoid_warnings=1(電源電圧警告アイコンの表示抑制)
を未設定なら自動で追記する(反映には再起動が必要)。
Run it in an environment where the network and power will not be interrupted. After completion,
a full-screen menu for choosing "Shonan_Lite / Langstone V3" (shonan-boot-menu.service) starts
automatically at every boot, and the selected shonan-gui.service/langstone.service is registered
with systemd and started. It also appends avoid_warnings=1 (suppresses the under-voltage warning
icon) to /boot/firmware/config.txt if not already set (a reboot is required for it to take effect).
インストール後の確認 / After installation
インストールが終わったら、まず実機のホーム画面から「ヘルプ」を開いて 使い方を確認する。画面構成、送受信の基本操作、設定項目、トラブルシュー ティング等の各章が実機の現在の仕様に合わせてまとまっている。
After installation, first open "Help" from the Home screen on the device and review how to use it. Chapters on the screen layout, basic TX/RX operation, settings, troubleshooting and more are kept up to date with the current behavior of the device.
実機LCDの画面キャプチャー / Capturing the device LCD screen
アプリ内蔵のスクリーンショット機能(推奨) / Built-in screenshot function (recommended)
Shonan_Lite(GUI)は起動中、Unixドメインソケット/tmp/shonan-pi5-gui.sockでコマンドを受け付ける。
screenshotを送ると、表示中の画面を/tmp/shonan_lcd_actual.pngに保存する(GUIは止まらない)。
navigate:<画面名>で任意の画面へ移動できる(画面名: home tx rx frequency rssi
symbolrate fec modulation videosource streamoutput rxgain txpower manual
settings testequipment presets)。
volume:<増減>(例: volume:+2)は、ロータリーエンコーダを回したときと同じ音量変更を行う(音量ポップアップの確認用)。
While running, Shonan_Lite (GUI) accepts commands on the Unix domain socket /tmp/shonan-pi5-gui.sock.
Sending screenshot saves the current screen to /tmp/shonan_lcd_actual.png (the GUI does not stop).
navigate:<screen> moves to any screen (screens: home tx rx frequency rssi
symbolrate fec modulation videosource streamoutput rxgain txpower manual
settings testequipment presets).
volume:<delta> (e.g. volume:+2) changes the volume the same way as turning the rotary encoder (for checking the volume popup).
python3 -c "import socket,sys; s=socket.socket(socket.AF_UNIX); s.connect('/tmp/shonan-pi5-gui.sock'); s.sendall(sys.argv[1].encode()); s.close()" navigate:rssi
python3 -c "import socket,sys; s=socket.socket(socket.AF_UNIX); s.connect('/tmp/shonan-pi5-gui.sock'); s.sendall(sys.argv[1].encode()); s.close()" screenshot起動直後は「アプリ起動時にPlutoも再起動しています…」の表示(最大25秒)が写ることがあるので、 起動から30秒ほど待ってから撮る。
Right after startup, the message "Rebooting the Pluto as the app starts…" (up to 25 seconds) may be captured, so wait about 30 seconds after startup before taking a screenshot.
kmsgrabによる取得 / Capturing with kmsgrab
Shonan_LiteはLCDへQt/DRMで直接描画しているため、/dev/fb0を読み出す方法では
起動コンソールなど、最終合成前の内容になることがある(素の色1色などになる)。
実際にLCDへ表示されている画面を取得する場合は、KMSのCRTC/Planeを指定して
ffmpegのkmsgrabを使う。
Because Shonan_Lite draws directly to the LCD via Qt/DRM, reading /dev/fb0 may give content from
before final composition, such as the boot console (e.g. a single plain color). To capture what is
actually displayed on the LCD, use ffmpeg's kmsgrab specifying the KMS CRTC/Plane.
★/dev/dri/card0はモードセッティング非対応のスタブデバイスで、これを指定すると
kmsgrabがFailed to set universal planes capability/Operation not supported
で失敗する(実機で確認)。DSIパネルを実際に駆動しているのは**/dev/dri/card1**
なので、必ずこちらを指定する。
★/dev/dri/card0 is a stub device without mode-setting support; specifying it makes kmsgrab fail
with Failed to set universal planes capability/Operation not supported (confirmed on the device).
The DSI panel is actually driven by /dev/dri/card1, so always specify that one.
まず実機で現在のCRTC/Plane IDを確認する(再起動などでIDが変わる場合がある):
First check the current CRTC/Plane IDs on the device (the IDs may change after a reboot, etc.):
kmsprint現在の実機ではCRTC IDが36、Plane IDが34なので、以下でLCD画面をPNG化できる。
sudoのパスワード入力が必要になる。
On the current device the CRTC ID is 36 and the Plane ID is 34, so the following saves the LCD
screen as a PNG. You will need to enter the sudo password.
sudo ffmpeg -y -hide_banner \
-f kmsgrab -device /dev/dri/card1 \
-crtc_id 36 -plane_id 34 -framerate 1 -i - \
-vf hwdownload,format=bgr0 -frames:v 1 -update 1 /tmp/shonan_lcd_actual.pngMacなどのPCへコピーする:
Copy it to a PC such as a Mac:
scp pi@<Pi5のIPアドレス / Pi 5 IP address>:/tmp/shonan_lcd_actual.png \
~/Desktop/shonan_lcd_actual.png/dev/fb0の直接取得は、LCDの最終表示を取得できない場合があるため、実機LCDの
スクリーンショットには使用しない。
Reading /dev/fb0 directly may not capture the final LCD image, so do not use it for screenshots
of the device LCD.
実行条件 / Requirements
一般ユーザーが実行してinstall.shが正常完了するには、以下が必要。
- Raspberry Pi OS 64bit(aarch64)であること(32bit版不可)
gitが事前にインストール済みであること- GitHub/apt配布ミラーへのインターネット到達性
- sudoが使える対話的な実行(パスワード入力に応答できるtty)
patchコマンドが使えること
詳細な各手順の解説・トラブルシュートは
pi5/docs/install_script_guide.md
(DOCX版: pi5/docs/install_script_guide.docx)を参照。
For install.sh to complete successfully when run by a regular user, the following are required:
- Raspberry Pi OS 64-bit (aarch64) (the 32-bit version is not supported)
gitinstalled beforehand- Internet access to GitHub and the apt mirrors
- Interactive execution with sudo available (a tty that can answer password prompts)
- The
patchcommand available
For a detailed explanation of each step and troubleshooting, see
pi5/docs/install_script_guide.md
(DOCX version: pi5/docs/install_script_guide.docx, in Japanese).
Langstone V3(SDRトランシーバー)への切替 / Switching to Langstone V3 (SDR transceiver)
Pi5起動後にまず表示される「起動するアプリを選択してください」メニュー
(shonan-boot-menu.service)、またはShonan_Lite Home画面の「Langstone V3」
ボタンから、g4eml/Langstone-V3
(VHF/UHF/マイクロ波帯SDRトランシーバー、ADALM-Pluto対応)へ切り替えられる。
Langstone V3はQt eglfsとは別に/dev/fb0を直接描画する独立アプリのため、
DATV送受信アプリとは同時起動できないが、shonan-gui.service/
langstone.service/shonan-boot-menu.serviceがsystemdのConflicts=で
互いに排他制御されているため、Pi5自体のrebootは不要で
systemctl startだけで即座に切り替わる(以前はPi5ごとrebootしていたが、
shonan-boot-menu.service導入により不要になった)。
- Shonan_Lite Home画面の「Langstone V3」ボタン → Langstone V3が起動 (現在稼働中のShonan_Liteプロセスはsystemdが自動停止)
- Langstone V3の設定メニュー内「BACK TO SHONAN_LITE」ボタン → Shonan_Lite Home画面に戻る
From the "Select the app to start" menu shown first after the Pi 5 boots (shonan-boot-menu.service),
or from the "Langstone V3" button on the Shonan_Lite Home screen, you can switch to
g4eml/Langstone-V3 (a VHF/UHF/microwave SDR transceiver
supporting the ADALM-Pluto). Langstone V3 is a standalone app that draws directly to /dev/fb0,
separately from Qt eglfs, so it cannot run at the same time as the DATV app. However,
shonan-gui.service/langstone.service/shonan-boot-menu.service are mutually exclusive via
systemd Conflicts=, so no reboot of the Pi 5 is needed; a systemctl start switches immediately
(previously the whole Pi 5 was rebooted, but this became unnecessary with shonan-boot-menu.service).
- "Langstone V3" button on the Shonan_Lite Home screen → Langstone V3 starts (systemd automatically stops the running Shonan_Lite process)
- "BACK TO SHONAN_LITE" button in the Langstone V3 settings menu → returns to the Shonan_Lite Home screen
切替時にPluto(とPA_Power/PTTコントローラの12V電源)は再起動しない
(以前は切替のたびにPlutoを再起動しており、数十秒かかっていた)。実機試験で、
DATV→Langstone→DATVとPlutoを再起動せずに切り替えても、Langstoneの送受信と
DATVの送受信(オンデバイス復調による自局信号のロック)が正常に動くことを確認した。
ただしLangstoneは受信中にPlutoの送信LO(altvoltage1)をpowerdownしたまま終了し、
そのままではDATV送信の電波が出ないため、「GOTO SHONAN_LITE」で戻るときは
Langstone側とShonan_Lite側の両方で送信LOを元に戻す。
Langstoneからの切替であることは/tmp/shonan_switch_from_langstoneで伝え、
Shonan_Liteはこれがあるときだけ起動時のPluto再起動を省く(使ったら消すので、
その後のアプリ再起動やPi5の電源投入時は従来どおり再起動する)。Langstone側の
run_plutoは/tmp/langstone_goto_shonanがあるとき、終了後のPluto再起動を省く。Plutoがfmcomms2_source: Unable to refill bufferのように
詰まった場合は、Home画面の「アプリ再起動」(Plutoも再起動する)で復旧できる。
The Pluto (and the 12 V supply of the PA_Power/PTT controller) is not rebooted when switching
(previously the Pluto was rebooted on every switch, which took tens of seconds). Device testing
confirmed that after switching DATV → Langstone → DATV without rebooting the Pluto, both Langstone
TX/RX and DATV TX/RX (locking onto the station's own signal with on-device demodulation) work
correctly. However, Langstone exits with the Pluto's TX LO (altvoltage1) still powered down while
receiving, which would leave DATV transmission with no RF output, so when returning via
"GOTO SHONAN_LITE" both the Langstone side and the Shonan_Lite side restore the TX LO.
A switch from Langstone is signaled by /tmp/shonan_switch_from_langstone, and Shonan_Lite skips the
Pluto reboot at startup only when it exists (it is deleted after use, so later app restarts and Pi 5
power-ups reboot the Pluto as before). On the Langstone side, run_pluto skips the Pluto reboot after
exiting when /tmp/langstone_goto_shonan exists. If the Pluto gets stuck, e.g. with
fmcomms2_source: Unable to refill buffer, it can be recovered with "Restart App" on the Home screen
(which also reboots the Pluto).
内部的には~/.pi5_boot_mode_langstoneマーカーファイルの有無をsystemdの
ConditionPathExistsで判定し、shonan-gui.service/langstone.serviceの
どちらを起動すべきかを決める(ブート時だけでなく、アプリ内からの切替時にも
マーカーを書き換えてから対象サービスを直接startする)。
Internally, systemd's ConditionPathExists checks for the ~/.pi5_boot_mode_langstone marker file
to decide whether shonan-gui.service or langstone.service should start (not only at boot; when
switching from within an app, the marker is rewritten and the target service is started directly).
ウォーターフォール/スペクトラム表示は幅約512px→約790pxへ拡張済み
(FFT点数自体はGNU Radio側のfft_size=512のまま、SCALEPX()マクロで描画のみ
引き伸ばしている。帯域インジケータ・目盛り・タッチ判定も含め一貫して変換)。
横方向にはSQLボタン(x=30〜130)/Volボタン(x=660〜)と同じY帯で重なり広げる
余地が無かったため、スペクトラム欄の高さ(80→55px)とウォーターフォールの
表示履歴行数(130→90行)を縮めて表示位置を上に詰め、SQL/Vol/RITいずれとも
Y方向に重ならない帯(Y=130〜295)に収めることで横方向をほぼ画面全幅まで
広げた(実機で確認、詳細は下記パッチ参照)。
詳細は
pi5/docs/patches/langstone_v3_shonan_lite.patch
(upstream差分)を参照。
The waterfall/spectrum display has been widened from about 512 px to about 790 px
(the number of FFT points stays at fft_size=512 on the GNU Radio side; only the drawing is stretched
by the SCALEPX() macro, applied consistently to the bandwidth indicator, scale and touch detection).
Since there was no room to widen it horizontally in the same Y band as the SQL button (x=30–130) and
Vol button (x=660–), the spectrum area height (80 → 55 px) and the number of waterfall history rows
(130 → 90) were reduced and the display moved up, fitting it into a band (Y=130–295) that does not
overlap SQL/Vol/RIT vertically, which allows it to extend to nearly the full screen width (confirmed
on the device). For details, see
pi5/docs/patches/langstone_v3_shonan_lite.patch
(diff against upstream).
起動直後の受信設定の取りこぼしも修正済み。本家のGUIは、GNU Radioフローグラフが
受信設定用のFIFO(/tmp/langstoneTRx)を開く前にモード・フィルタ・オフセット等を送り、
届かなかった分を捨てていた。そのためフローグラフが初期値(USB・オフセット0等)のまま動き、
Sメーター・ノイズレベルが本来より高く出ることがあった(Shonan_Liteから切り替えた直後に
S2前後、MODEやBANDを操作し直すとS0になる、を実機で確認)。オフセット0ではLO直上に出る
PlutoのDC成分(DCのこぶ)を受信帯域内で拾うためで、正しい値はS0の方
(本来はLOを+50 kHzずらしてDC成分を避ける。TX→40 dBアッテネータ→RXの無信号状態でS0)。
起動時にフローグラフがFIFOを開くまで(最大20秒)待ってから設定を送るようにした
(waitForFlowgraph())。なおSメーターの0点(S-Meter Zero)は既定値-80のままで、
絶対レベル(S9=-73 dBm等)としては未校正。
The loss of receive settings right after startup has also been fixed. The upstream GUI sent the mode,
filters, offset, etc. before the GNU Radio flowgraph opened its settings FIFO (/tmp/langstoneTRx)
and discarded whatever could not be delivered, so the flowgraph kept running with its defaults
(USB, offset 0, etc.) and the S-meter and noise level could read higher than they should (confirmed
on the device: about S2 right after switching from Shonan_Lite, S0 after pressing MODE or BAND again).
With offset 0 the receiver picks up the Pluto's DC component (the DC hump right at the LO) inside the
passband, so S0 is the correct reading (normally the LO is shifted by +50 kHz to avoid the DC
component; with TX → 40 dB attenuator → RX and no signal it reads S0).
At startup it now waits until the flowgraph opens the FIFO (up to 20 s) before sending the settings
(waitForFlowgraph()). Note that the S-meter zero (S-Meter Zero) is still at its default of -80,
so it is not calibrated as an absolute level (e.g. S9 = -73 dBm).
g4eml/Langstone-V3本家が更新された場合、pi5/third_party/Langstone-V3/を
直接上書きすると上記の改造が失われる。
pi5/scripts/update_langstone_from_upstream.sh
を実行すると、本家を読み取り専用でclone → このパッチを適用 →
成功した場合のみpi5/third_party/Langstone-V3/を置き換える(本家への
書き込みは一切行わない)。パッチが当たらない場合は改造箇所と本家の変更が
衝突しているため、エラーで止まり手動マージが必要になる。
When upstream g4eml/Langstone-V3 is updated, overwriting pi5/third_party/Langstone-V3/ directly
would lose the modifications above. Running
pi5/scripts/update_langstone_from_upstream.sh
clones upstream read-only → applies this patch → replaces pi5/third_party/Langstone-V3/ only if
that succeeds (nothing is ever written to upstream). If the patch does not apply, the modifications
conflict with upstream changes; it stops with an error and a manual merge is required.
10GHz受信(LNB) — Home画面の衛星をタップ / 10 GHz reception (LNB) — tap the satellite on the Home screen
Home画面の背景右側の衛星をタップすると、Langstone V3を10GHz受信用のバンドで 開く(普通の「Langstone」カードと同じく、Plutoは再起動しない)。アンテナ側で **LNB(局部発振 9750 MHz)**により周波数を下げて受信する前提の設定で、 LangstoneのトランスバーターのオフセットとしてLNBの局部発振周波数を設定している。
Tapping the satellite on the right side of the Home screen background opens Langstone V3 on a band for 10 GHz reception (as with the normal "Langstone" card, the Pluto is not rebooted). The settings assume the frequency is down-converted at the antenna by an LNB (local oscillator 9750 MHz), and the LNB local oscillator frequency is set as Langstone's transverter offset.
| 項目 / Item | 値 / Value |
|---|---|
| 画面の表示周波数 Displayed frequency | 10236.500 MHz(10.2365 GHz、画面に「XVTR」と表示) 10236.500 MHz (10.2365 GHz, "XVTR" shown on screen) |
| Plutoの受信周波数 Pluto receive frequency | 486.5 MHz(= 10236.5 − 9750) |
| 受信オフセット Receive offset | −9750 MHz(LNB 局部発振 9750 MHz) −9750 MHz (LNB local oscillator 9750 MHz) |
| 受信モード Receive mode | 固定しない(Langstoneの「MODE」でUSB/FM/CW等を選べる) Not fixed (USB/FM/CW etc. can be selected with Langstone's "MODE") |
| 送信 Transmit | 不可(受信専用) Not possible (receive only) |
- Langstoneの24バンドのうち、通常使われない最後のバンド(番号23、画面上は24番目)を
このために使う。衛星をタップするたびに、Shonan_Liteが
~/Langstone/Langstone_Pluto.confのこのバンドを上の値に設定し直してから開く(pi5/gui/langstone_config.py)。 - 486.5 MHzはアマチュアバンド外のため、このバンドは受信専用
(設定ファイルの
bandRxOnly23 1、Langstone側の改造)。画面のPTT・ハードウェアPTT・ CWキー・ビーコンのいずれでも送信せず、PA_Power/PTTコントローラも送信に切り替えない。 PTTボタンは灰色の「RX ONLY」表示になり、Plutoの送信LOも停止させる。 - 普通の「Langstone」カードで開いたときは、衛星から開く前に使っていたバンドに戻して開く (Langstone上で別のバンドに切り替えていた場合は、そのバンドのまま)。
- LNBへの電源供給(同軸経由のバイアスT、12〜18 V)はShonan_Lite/Langstoneでは扱わない。 別途用意すること。
- Shonan_Lite(DATV)で10GHzをLNB受信する場合は、衛星ではなく周波数画面の「10GHz帯」を押し、 「LNBを使用しますか?」で「はい」を選ぶ(表示10.2365 GHz、Pluto受信486.5 MHz、受信専用で送信不可。 受信画面・RSSI測定もPluto受信周波数で動作する)。他のバンドを選ぶとLNBは解除される。
- Of Langstone's 24 bands, the last one, which is not normally used (number 23, the 24th on screen),
is used for this. Every time the satellite is tapped, Shonan_Lite resets this band in
~/Langstone/Langstone_Pluto.confto the values above before opening (pi5/gui/langstone_config.py). - Because 486.5 MHz is outside the amateur bands, this band is receive only
(
bandRxOnly23 1in the configuration file, a modification on the Langstone side). It does not transmit from the on-screen PTT, hardware PTT, CW key or beacon, and does not switch the PA_Power/PTT controller to transmit. The PTT button is shown grayed out as "RX ONLY", and the Pluto's TX LO is also stopped. - When opened from the normal "Langstone" card, it returns to the band that was in use before opening from the satellite (if you switched to another band in Langstone, it stays on that band).
- Power for the LNB (bias-T over the coax, 12–18 V) is not handled by Shonan_Lite/Langstone. Provide it separately.
- To receive 10 GHz via an LNB in Shonan_Lite (DATV), press "10GHz Band" on the Frequency screen (not the satellite) and answer "Yes" to "Use an LNB?" (displayed 10.2365 GHz, Pluto RX 486.5 MHz, receive only with no transmit; the RX screen and RSSI measurement also use the Pluto RX frequency). Selecting another band cancels the LNB.
オプション: ESP32 W5500(PA_Power/PTTコントローラ) / Option: ESP32 W5500 (PA_Power/PTT controller)
ESP32とW5500(有線LAN)で、PA等の12 V電源とPTTをLAN経由でON/OFFするオプションの制御基板。
使わなくてもShonan_Liteは動作する(PTTだけなら下記のPi 5 GPIO21で切替できる)。
ファームウェアはhardware/W5500_PA_PTT_Control/W5500_PA_PTT_Control.ino、
基板はhardware/W5500_PA_PTT_Control/kicad/(KiCad、Rev.1.0)。
| 基板の3D表示 / 3D view of the board | 基板レイアウト(KiCad) / PCB layout (KiCad) | ケース(OpenSCAD) / Case (OpenSCAD) |
|---|---|---|
![]() | ![]() | ![]() |
| 項目 Item | 内容 Details |
|---|---|
| 構成 Configuration | Freenove ESP32-WROOM-32E DevKitC(ソケットに差し込み)+W5500 Lite(SPI接続) Freenove ESP32-WROOM-32E DevKitC (plugged into a socket) + W5500 Lite (SPI) |
| 12 V電源 12 V power | 2SJ334(Pチャネル MOSFET)のハイサイドスイッチでJ5の12 V出力をON/OFF。放熱器付きで目安は約7 Aまで J5's 12 V output is switched by a 2SJ334 (P-channel MOSFET) high-side switch; with its heatsink, up to about 7 A |
| PTT PTT | 2SC1815で無線機のPTT端子をGNDへ落とす(J6) A 2SC1815 pulls the radio's PTT line to GND (J6) |
| 電源入力 Power input | +12 V(13.8 V系)をJ2へ。L7805で5 V(ESP32)、TA48033Sで3.3 V(W5500)を作る +12 V (13.8 V class) to J2; an L7805 makes 5 V (ESP32) and a TA48033S makes 3.3 V (W5500) |
| 表示LED Indicator LEDs | 外付け。J7=12 V出力(赤)、J8=12 V入力(緑)(JST XH) External; J7 = 12 V output (red), J8 = 12 V input (green) (JST XH) |
| ネットワーク Network | 固定IP(初期値192.168.0.100)。ブラウザでhttp://<IP>/configを開くとIPや遅延時間を変更できるStatic IP (default 192.168.0.100); open http://<IP>/config in a browser to change the IP and delays |
| 基板 Board | 72×115 mm、4層(内層はGNDと+12Vのベタ)、部品はすべてスルーホール。JLCPCBの発注データはfabrication/jlcpcb/72×115 mm, 4 layers (inner layers are GND and +12 V planes), all through-hole parts. JLCPCB order data is in fabrication/jlcpcb/ |
| ケース Case | OpenSCAD(LAN_PTT.scad)、内寸80×120×35 mm。前面にRJ45の角穴と+12V入力の丸型コネクタ、背面にUSBの穴と12 V出力・PTTの丸型コネクタ OpenSCAD (LAN_PTT.scad), inside 80×120×35 mm. RJ45 opening and +12 V input circular connector on the front; USB opening and 12 V output/PTT circular connector on the back |
Shonan_Liteでの使い方:
- 設定画面の「PA_Power/PTTコントローラ (ESP32)」で「ESP32 W5500を使用する」をONにし、ESP32のIPアドレスを入力する。
- アプリの起動/終了に連動して12 V電源(Pluto含む)を、送信開始/終了に連動してPTTを自動でON/OFFする。
- ホーム画面の「Pluto電源」カードで、12 V系統を手動で電源サイクル(OFF→3秒待機→ON)できる。
詳しくは仕様書と
接続一覧を参照(どちらも日英併記。Word版・PDF版も同じフォルダにある)。
回路図: w5500-esp32.pdf、
実装図: w5500-esp32_実装図_部品番号.pdf。
[!NOTE] ESP32への書き込みと起動は確認済み。12 V電源・PTTの駆動回路と無線機をつないだ実地試験はまだ行っていない。
An optional control board that uses an ESP32 and a W5500 (wired LAN) to switch the 12 V power for the PA etc.
and the PTT ON/OFF over the LAN. Shonan_Lite works without it (PTT alone can be switched with the Pi 5 GPIO21 below).
The firmware is hardware/W5500_PA_PTT_Control/W5500_PA_PTT_Control.ino
and the board is in hardware/W5500_PA_PTT_Control/kicad/ (KiCad, Rev.1.0).
How to use it with Shonan_Lite:
- On the Settings screen, turn on "Use ESP32 W5500" under "PA_Power/PTT Controller (ESP32)" and enter the ESP32's IP address.
- The 12 V power (including the Pluto) is switched ON/OFF with app start/exit, and the PTT with TX start/stop.
- The "Pluto Power" card on the Home screen power-cycles the 12 V line manually (OFF → wait 3 s → ON).
For details, see the specification and the
connection list (both in Japanese and English;
Word and PDF versions are in the same folder).
Schematic: w5500-esp32.pdf;
assembly drawing: w5500-esp32_実装図_部品番号.pdf.
[!NOTE] Flashing and booting the ESP32 have been confirmed. A field test with the 12 V power/PTT drive circuits connected to a radio has not been done yet.
PA/LNAの送受信切替(ESP32 W5500なしでも可) / PA/LNA TX/RX switching (possible without ESP32 W5500)
ESP32 W5500(PA_Power/PTTコントローラ、hardware/W5500_PA_PTT_Control)は
使わなくても、RasPI5からのPTT ON信号でPA・LNAの送受信切替を制御できる。
| 項目 Item | 内容 Details |
|---|---|
| 出力ピン Output pin | Pi 5 GPIO21(40番ピン)、GNDは39番ピン Pi 5 GPIO21 (pin 40), GND on pin 39 |
| 論理 Logic | 送信中HIGH(3.3 V)、受信中LOW HIGH (3.3 V) while transmitting, LOW while receiving |
| 対象 Applies to | Shonan_Liteの送信・Langstone V3の送信(Langstone標準のTx Output)のどちらも同じピン Both Shonan_Lite TX and Langstone V3 TX (Langstone's standard Tx Output) use the same pin |
- GPIO21は3.3 Vロジックで電流を取れないため、トランジスタやリレードライバ等でバッファしてから PA・LNA(同軸リレー等)を駆動すること。
- Shonan_Liteは送信開始時(映像送出の前)にHIGH、送信停止時とアプリ起動時にLOWにする
(
pi5/gui/backend.pyの_set_pi5_tx_gpio())。Langstone V3はHIGHにしてから 100 ms後に送信を始める。 - ESP32 W5500を併用する場合は、ESP32のPTT出力(J6)も従来どおり同時に切り替わる。 12 V電源のON/OFFとホーム画面の「Pluto電源」カードはESP32 W5500が必要。
The PA and LNA can be switched between TX and RX by the PTT ON signal from the RasPI5, even without the
ESP32 W5500 (PA_Power/PTT controller, hardware/W5500_PA_PTT_Control).
- GPIO21 is a 3.3 V logic output that cannot supply current. Buffer it with a transistor, relay driver or similar before driving the PA and LNA (coax relays, etc.).
- Shonan_Lite sets it HIGH when TX starts (before the video is sent) and LOW when TX stops and at app startup
(
_set_pi5_tx_gpio()inpi5/gui/backend.py). Langstone V3 starts transmitting 100 ms after setting it HIGH. - When the ESP32 W5500 is also used, its PTT output (J6) switches at the same time as before. Switching the 12 V power ON/OFF and the "Pluto Power" card on the Home screen still require the ESP32 W5500.
関連ドキュメント / Related documents
pi5/docs/install_script_guide.md— install.shの詳細ガイド / Detailed guide to install.sh(英語版 / English:install_script_guide_en.md)pi5/docs/qtvirtualkeyboard_ja_build.md— 日本語オンスクリーンキーボードのビルド手順・ハマりどころ / Build steps and pitfalls for the Japanese on-screen keyboardpi5/docs/shonan_pi5_operation_manual.docx— 操作説明書(各画面のスクリーンショット付き) / Operation manual (with screenshots of each screen)pi5/gui/manual_content.py— アプリ内Helpの内容(章データ)。操作説明書もこれから生成する / Content of the in-app Help (chapter data); the operation manual is also generated from itpi5/docs/build_operation_manual.py— 操作説明書(DOCX)の生成スクリプト / Script that generates the operation manual (DOCX) (python pi5/docs/build_operation_manual.py、python-docxが必要 / requires python-docx)hardware/W5500_PA_PTT_Control/docs/W5500_PA_PTT_Control_仕様書.md— ESP32 W5500(PA_Power/PTTコントローラ)の仕様書 / Specification of the ESP32 W5500 (PA_Power/PTT controller)(日英併記 / Japanese and English)- 仕様書・接続一覧のWord版・PDF版は
hardware/W5500_PA_PTT_Control/docs/tools/build_docs.pyでMarkdownから作る(macOSで実行) / The Word and PDF versions of the specification and connection list are generated from Markdown with this script (run on macOS)
- 仕様書・接続一覧のWord版・PDF版は
hardware/W5500_PA_PTT_Control/docs/MCU1_J1_W5500_接続一覧.md— ESP32・W5500の接続一覧 / Connection list of the ESP32 and W5500(日英併記 / Japanese and English)pi5/third_party/rpi-dvbs2-receiver-gui/— GNU Radio/gr-dvbs2rx受信フローグラフの参考実装(kazushinjo/rpi-dvbs2-receiver-guiより取り込み) / Reference implementation of the GNU Radio/gr-dvbs2rx receive flowgraph (imported from kazushinjo/rpi-dvbs2-receiver-gui)
免責事項 / Disclaimer
- 無保証・自己責任 / No warranty; use at your own risk
本ソフトウェアは現状のまま(AS IS)で提供され、動作、品質、特定の目的への適合性を含め、いかなる保証もありません。本ソフトウェアの使用または使用できないことによって生じた、機器の破損、データの消失、電波障害、その他一切の損害について、開発者は責任を負いません。ご自身の責任においてご利用ください。
This software is provided "AS IS" without warranty of any kind, including any warranty of operation, quality or fitness for a particular purpose. The developers accept no liability for any damage arising from the use of, or inability to use, this software, including damage to equipment, loss of data and radio interference. Use it at your own risk. - 免許と法令の順守 / Licensing and compliance with the law
本ソフトウェアは、アマチュア無線のDATV(デジタルATV)実験のための送受信ソフトウェアです。電波を送信するには、運用する国・地域の法令に基づく免許が必要です(日本国内ではアマチュア局の免許)。周波数、空中線電力、電波の型式、運用できる範囲などの法令(日本国内では電波法および関係規則)を守ってください。免許のない送信や、免許の範囲を超えた送信は、法令違反となることがあります。本ソフトウェアは、設定された周波数・出力・変調方式が法令に適合していることを確認も保証もしません。送信の内容と結果は、すべて使用者の責任です。
This software is for amateur-radio DATV (digital ATV) experiments. Transmitting requires a license under the laws of the country or region where you operate (in Japan, an amateur station license). Observe the applicable laws on frequency, transmitter power, emission type and permitted operation (in Japan, the Radio Act and related regulations). Transmitting without a license, or beyond the scope of your license, may violate the law. This software neither checks nor guarantees that the configured frequency, power and modulation comply with the law. You are solely responsible for what you transmit and for the results. - 機器の取り扱い / Handling of equipment
PlutoのTXとRXの接続、外部アンプ(PA)・アッテネータ・アンテナの接続、送信出力の設定、GPIO21やPA_Power/PTTコントローラ(ESP32 W5500)の12 V電源・PTTの配線を誤ると、機器を破損したり、他の無線局へ障害を与えたりするおそれがあります。機器の仕様を確認し、使用者の責任で行ってください。特に、TXをRXへ直接接続せず、40 dB以上の減衰器を介してください。
Wrong connections between the Pluto's TX and RX, wrong external amplifier (PA), attenuator or antenna connections, wrong transmit power settings, or wrong wiring of GPIO21 or of the 12 V power/PTT of the PA_Power/PTT controller (ESP32 W5500) may damage equipment or interfere with other stations. Check the specifications of your equipment and do this at your own responsibility. In particular, never connect TX directly to RX; use an attenuator of 40 dB or more. - 第三者ソフトウェアとライセンス / Third-party software and license
本ソフトウェアは、GNU Radio、gr-dvbs2rx、libiio、FFmpeg、Qt(PyQt5・Qt Virtual Keyboard)、Langstone V3などの第三者ソフトウェアを利用・同梱します。それぞれのライセンスに従います。本ソフトウェア自体は GNU General Public License v3.0(GPLv3)の下で提供されます(下記「License」参照)。
This software uses and bundles third-party software such as GNU Radio, gr-dvbs2rx, libiio, FFmpeg, Qt (PyQt5, Qt Virtual Keyboard) and Langstone V3, each under its own license. This software itself is provided under the GNU General Public License v3.0 (GPLv3); see "License" below. - 動作について / About behavior
ご使用のRaspberry Pi・環境によって動作が異なる場合や、未発見の不具合が含まれる可能性があります。
Behavior may differ depending on your Raspberry Pi and environment, and undiscovered defects may remain.
クレジット / Credits
- 受信部の方式考案・受信部原システム設計: 山崎慎慈氏(JE1BTA) rpi-dvbs2-receiver-guiの設計に基づきます
- 受信部安定化調査修正・再捕捉修正・本アプリ開発: 真城和一
- 本アプリは、Dave Crump氏(G8GKQ)が開発したDATV送受信機プロジェクト「Portsdown」に啓発され、開発したものです。同氏の先駆的な取り組みに感謝いたします。
- Langstone V3(SDRトランシーバー): g4eml/Langstone-V3
(オリジナルから一部変更しています。差分は
pi5/docs/patches/langstone_v3_shonan_lite.patchを参照)
- Reception method and original reception system design: Shinji Yamazaki (JE1BTA), based on the design of rpi-dvbs2-receiver-gui
- Reception stability investigation and fixes, re-acquisition fixes, and development of this app: Kazuichi Shinjo
- This application was developed inspired by "Portsdown", the DATV transceiver project created by Dave Crump (G8GKQ). We extend our deep gratitude for his pioneering work.
- Langstone V3 (SDR transceiver): g4eml/Langstone-V3
(partially modified from the original; see
pi5/docs/patches/langstone_v3_shonan_lite.patchfor the diff)
License
本ソフトウェアはGNU General Public License v3.0(GPLv3)の下で提供されます。 ライセンス全文: LICENSE
This software is licensed under the GNU General Public License v3.0 (GPLv3). Full license text: LICENSE
- Langstone V3 (SDR transceiver, g4eml/Langstone-V3): GPLv3
- Reception subsystem design (Shinji Yamazaki, JE1BTA): GPLv3
- Application development, reception stability fixes (Kazuichi Shinjo): GPLv3
Parts
22| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 0.01 | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C1, C4, C5 |
| 3 | 100 | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C2, C3, C6 |
| 3 | Conn_01x02_Female | Connector_Molex:Molex_KK-254_AE-6410-02A_1x02_P2.54mm_Vertical | J3, J5, J6 |
| 2 | 1K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P5.08mm_Vertical | R2, R3 |
| 2 | L | Inductor_THT:L_Radial_D10.5mm_P5.00mm_Abacron_AISR-01 | L1, L2 |
| 2 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2 |
| 2 | MountingHole_Pad | MountingHole:MountingHole_2.5mm_Pad | H3, H4 |
| 1 | 1.8K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P5.08mm_Vertical | R1 |
| 1 | 1N4448 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1 |
| 1 | Conn_01x04_Female | Connector_Molex:Molex_KK-254_AE-6410-04A_1x04_P2.54mm_Vertical | J4 |
| 1 | TLP222A-2 | Package_DIP:DIP-8_W7.62mm | U1 |
| 1 | USB_A | Connector_USB:USB_A_Molex_67643_Horizontal | J1 |
Similar boards
- 2 layers90 × 52 mm

- 2 layers57.3 × 49 mm

Audio ptt control
kazushinjo/Shonan_lite-PI4
DATV Tranceiver Shonan_Lite for Raspberry Pi 4 with Langstone-V2Modify+ Pluto v0.32-dirty
21 parts1 - 4 layers100.1 × 100.1 mm

AnalogBoard Rev0
jer-lil/tremolo-hardware
This is the hardware (PCB, MCAD) design for a tremolo pedal for guitar (or bass, synth, tonewheel organ, whatever you like). The firmware is here: https://github.com/jer-lil/tremolo-firmware/tree/main
101 parts - 2 layers158 × 11 mm

Daylight Matchstick
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
22 parts1.1kGPL-3.0 - 2 layers57 × 65 mm

Rgb to hdmi
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
22 parts1kGPL-3.0 - 2 layers81 × 57.2 mm

RP2040-Macropad
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
22 parts915 - 2 layers54.6 × 70.9 mm

BeagleLogic Cape
abhishek-kakkar/BeagleLogic
A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.
22 parts479GPL-3.0 - 2 layers66.4 × 24.5 mm

Connecting piece
Chrismettal/flipper-zero-backpacks
Backpack-style addon boards for the Flipper Zero!
22 parts456
Questions
How big is the Langstone controller PCB?
It measures 57.3 × 49 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Langstone controller use?
22 parts, built around the TLP222A-2(F). The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Langstone controller KiCad files?
From the kazushinjo/Shonan_Lite-RasPI5 repository on GitHub, at the commit this page was made from: the board is pi5/third_party/Langstone-sub-assy/Langstone-controller.kicad_pcb and its schematic hardware/LangStonePower/LangStonePower.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Langstone controller design in my own project?
Its repository states no licence, so its author keeps all rights: ask kazushinjo before reusing the design.










