fc2ブログ

MachiKania type P互換機用基板 KBJAM-pico/MKP-GP

MachiKania type P互換機用基板
KBJAM-pico/MKP-GP 共通説明書 2023.6.17B MAENOH

MachiKaniaシリーズはケンケン氏とKM-BASICの作者Katsumi氏との共同開発によるBASICマイコンシステムです。
本基板は、Rasberry Pi  Pico(Wも可)を用いたMachiKania type Pの互換機を製作するための上級者(自作できる方)向け基板です。

KBJAM-pico:
KBJ-pico-1A.jpg
KBJ-pico-1B.jpg

MKP-GP:
MKP-GP-1A.jpg
MKP-GP-1B.jpg
製作の注意点(共通部分)

1.Rasberry Pi  Pico(Wも可)は、ピンヘッダーおよびピンソケットを用いて取り付けて下さい。
  なお、厚みを抑えたい場合はロープロファイルタイプを使うこともできますが、
  そのRasberry Pi  Picoをブレッドボードで利用できなくなるというデメリットがあります。
  Rasberry Pi  PicoのRUN信号用のスイッチも便利なので取り付けをお勧めします(秋月P-08073)。

2.液晶ILI9341(SDカードスロット付)を取り付ける必要があります。ピンソケットを御利用下さい。
  秋月電子の 液晶M-16265を取り付ける場合は、コネクタJIL1(表示用)、
   J54(SD用)を使用します。(その他液晶でも、J55で取り付け可能なことがあります。)
  液晶のバックライトBLの明るさは、VCCへの直列抵抗(RBL1またはRB1)で調整できますが、
  裏面の半田ジャンパーでVCCに直結することもできます。どちらかを選択してください。
  液晶のCS信号は、半田ジャンパーILCS1で選択できます。通常はILCS(Picoの信号)を接続しますが、
  GNDに接続することも可能です。どちらかを選択してください。

3.SDカード内にソフトウェアをインストールした後で、液晶の向きの設定を変更します。
  具体的にはMACHIKAP.INIファイルでLCD180TURNに変更してください。

4.電源供給は、 Rasberry Pi  PicoのUSB端子から行えますが、
  キーボード(外部USB又はKBJAM-picoの基板キーボード)を使用する場合は、
  この端子が使えないので、Rasberry piの別系統の電源入力を御使用下さい。
  基板上部にUSBシリアル用のJU7端子がありますので、接続可能なモジュールをお持ちの方は
  そちらから5V電源を供給することもできます(ジャンパーVBUS5のショートも必要)。
  なお、JU7は、半田ジャンパーJUV5,JUG0により、電源接続を変更できるようになっています。
  また、電池駆動したい場合は、VSYSに3V程度の電池を接続することもできます。
  電池駆動の場合、VCCをRasberry Pi  Picoから供給するためにジャンパーJO3V3をショートしてください。
  
5.音声出力は圧電スピーカー(秋月P-04118)とステレオミニジャック(秋月C-06070)を使用できます。
  各基板の回路図を御確認の上、必要部品の取り付けや半田ジャンパーの設定を行ってください。
  なお、ステレオミニジャックにボタンスイッチ付きのスマホ用イヤホンを接続した場合は、
  ボタン押下状態をスルーホールM1(MKP-GPではM9)から取り出すことができます(プルアップ抵抗1KΩも必要)。
  また、圧電スピーカーを鳴らすには、 KBJAM-picoでは抵抗R2の取り付け、MKP-GPでは半田ジャンパーJPBUZ1のショートが必要です。

6.エッジコネクタはマイクロビットの仕様にできるだけ合わせています。
  I2C接続の拡張基板等は利用できる可能性が高いと思われます。

共通部分の説明は以上

KBJAM-pico関連の説明
(K1)下記のキーボードICがない場合でも、カーソルキー等のタクトスイッチ(6個)を追加することで、
  MachiKania type Pの操作(ゲーム等)が可能です。
  タクトスイッチは秋月P-08073やその色違いが取り付け可能です。
(K2) 基板上の半田ジャンパーで構成されたキーボードがあり、キーボードIC(HT82K629A 40P-DIP)を追加することで、キーボード操作が可能になります(MachiKani type PのUSBキーボード用実行ファイルをRasberry Pi  Picoに書き込む必要もあります)。
  このキーボードICは製造中止になっていますが、Aliexpress等に在庫はあるようです。
  なお、PCN通販のHetaPad[ヘタパッド]組み立てキットに含まれるICも同じなので利用できます。
  キーボード部の半田ジャンパーは、ダイソーの導電繊維タイプ(ゴムタイプ不可)のタッチペンでショートして使用します
  (100均の万年筆のペン先を少し広げてショートすることもできます)。
  キーボードのシフト、CTRL、ALTはタクトスイッチを取り付ける必要があります。
  シフトはSHIFT-LとSHIFT(-R相当)があり、どちらかを取り付ける必要があります。
  SHIFTは横押し型タクトスイッチ(秋月P-07193等)用のスルーホール位置になっています。
  なお、Rasberry Pi  PicoのUSB信号は裏面のTP2/TP3につながっており、
  これをKBJAM-picoのKB_SEL端子のDM1/DP1にジャンパー配線する必要があります。
  (ただし、KB_SEL端子に6Pスライドスイッチ等を追加する場合は、KB_SEL端子のTP2/TP3に接続します。)

KBJAM-pico キーボード用USB信号TP2/TP3の接続例:KBJ-pico-1C.jpg

MKP-GP関連の説明
(M1)Cherry MXタイプのメカニカルスイッチ、キーキャップを取り付けて下さい(6組)。
  秋葉原では、遊舎工房さんで買えます。
(M2)各キー用のLEDとその抵抗も追加可能です(6組)。
  LEDは、アキシャルリードタイプのものが使えます(秋月電子等)。
  方向を間違えないように取り付けて下さい。
(M3)液晶を見やすいように起こすための液晶アダプター基板を利用できます(オプション)。
  ピンソケット、ピンヘッダーを追加して御利用下さい。
(M4)液晶の方向を90度回転させて取り付ける場合、スルーホールJIL3およびJ53
  を利用できますが、JIL3と液晶間はジャンパー配線が必要です。

MKP-GPのオプションの液晶アダプター基板の利用例:
MKP-GP-1C.jpg

オプションの液晶アダプター基板:
基板間は粘着テープで繋ぐ(下図)か、垂直取付用ブロック(秋月P-07466)等で直角に固定します。
(ホットボンドで直角に固定してもよいと思います。)
MKP-LCD-ADP.jpg

その他情報:
KBJAM-picoのレイアウト
KBJAM-pico-layout.png

KBJAM-picoの回路図(2ページ)
(PS/2コネクタの部分にはUSBコネクタを取り付けられます。JX1の1と2をショート、JDP2/JDM2をショートして下さい。)
KBJAM-pico-circuit1b.png
KBJAM-pico-circuit2.png

MKP-GPのレイアウト
MKP-GP-layout.png

MKP-GPの回路図(1ページ)
(PS/2コネクタの部分にはUSBコネクタを取り付けられます。JX1の1と2をショートして下さい。JDP2/JDM2もショートします。)
MKP-GP-circuit_230617.png
以上
スポンサーサイト



ラジカセ型EEPROMキット EE156

ラジカセ型EEPROMキット EE156
本製品はIchigoJam用EEPROMキットです。(IchigoJamは、jig.jpの登録商標です。)
キット製品であり、半田付けが必要です。
容量は256Kbですので、IchigoJamのプログラムを32個格納できます。
以下の写真のようにSDA/SCL信号が接続されているCN5端子を持つIchigoJamに取り付けることができます(下部の穴にスペーサーを2個追加することができますが、付属しません)。
(CN5の位置と穴は、IchigoCakeにも対応しています。)
その他のIchigoJam互換機に対しては、後述のCN5用5Pピンヘッダーの代わりにジャンパー配線等が必要になることがあります。
ラジカセ型本体基板とカセット基板に分かれており、カセット部は単体でもIchigoJamで利用できます。カセットの端子のG,V,C,DがGND,VCC,SCL,SDAに対応します。なお、5Vは接続されていませんのでIchigiJam R等ではCN3に差し込むこともできます。
下記写真のように、基板とカセット基板の接続は、L型ピンヘッダーと足長ピンソケットで行っており、位置や高さを調整して半田付けしてください(本体基板とカセット基板は直接半田付けしませんが、本体基板側に位置合わせ用のスルーホールが存在します)。
足長ピンソケットは5P又は6Pが付属します(6Pの場合は、不要ピンを抜いて御使用下さい)。
A面/B面の裏返しはできませんので、写真のように取り付けて下さい。
IMG_E4030.jpg
IMG_E4032.jpg

その他、説明

付属部品
(1)基板
(2)EEPROM(256Kb) 
(3)抵抗x2本
(4)5P-L型ピンヘッダー(カセット基板用)
(5)足長ピンソケット(ロットにより6P又は5Pが付属)
(6)5Pピンヘッダー(本体基板用)

組み立て方法(半田付け等)

1.基板は、(1)本体基板、(2)カセット基板、(3)ユニバーサル基板
  に分割して使用します(力を入れると簡単に折れます)。
  断面は怪我をしやすいので、やすり掛けを行ってください。
2.カセット基板を組み立てます(B面に部品を取り付け)。
  <1>EEPROMを取り付けます
   (チップの1番ピンを示す窪みと基板上の丸を合わせます)。
  <2>抵抗R1、R2を取り付けます。
  <3>半田ジャンパーWPの中央と0側をショートします。
  <4>半田ジャンパーA2の中央と0側をショートします。
  <5>5P-L型ジャンパーピンの短い方をB面から取り付けます。
3.本体基板を組み立てます。
  <1>上記2で製作したカセット基板に足長ピンソケットを差し込みます。
  (6Pのピンソケットが付属している場合は、
   使用しないピンをラジオペンチ等で抜きます。)
  <2>足長ピンソケットのピンをA面側に90度曲げます。
  <3>この状態で足長ピンソケットの5ピンを本体基板の上部の
    5つのスルーホールに差し込み、高さ等の位置を調整し、半田付けします。
    (飛び出したピンの不要部分はニッパー等で切断します。
     危険なので保護メガネ等を御使用下さい。)
  <4>IchigoJam/IchigoCakeで使用する場合は、
    5Pピンヘッダーを本体基板右下の5ピン端子(CN5の位置;白枠)に取り付けます。
    その他、互換機で信号位置が合わない場合は、ジャンパー配線を行ってください
    (5Vを除く4本を接続)。
以上

KBJAM-J1(IchigoJam用)

IchigoJamをポケコン化するキーボード基板KBJAM-J1を作りました。
IchigoJamやその互換機(IchigoDake等も可)のソケットに差し込んで使います。
設計情報は右記で公開しています: https://github.com/maenoh/KBJAM-J1
IMG_4468.jpg
液晶ILI9341にも対応しているので、LCD用ファームウェアに更新すればポケコン化できます。
ただし、RISC-V版のIchigoJam RやGIGA IchigoDakeでは今のところLCDが利用できないので、モニタへの出力になります。
キーボード部(-J1は日本語配列)は半田ジャンパーのパターンになっており、ダイソー等で売っている導電繊維タイプのタッチペンでショートさせることでキー入力します(導電ゴムタイプは使用不可)。なお、一部の特殊キーはタクトスイッチを使用します(SHIFTキーは秋月P-07193等、その他のキーはP-08073等(色違いもありますね))。
なお、キーボード用ICとして、HT82K629A(40pin DIP)が必要です。
このICは、AmazonやAliExpressで購入できますが、半導体不足の影響で今は値段が上がっています。PCN北はりまさんのHeta-Pad(PCN通販で購入可能)にもHT82K629Aが搭載されていますので、これを抜いて挿しなおすこともできます(オススメです)。
なお、このICが入手できない場合でもカーソルキー等をゲームパッドとして利用できるように設計しています。以下の写真では実装していませんが、Xやスペースキーにもタクトスイッチを増設できます。これらをIchigoJamのI/Oにジャンパー配線すればIN命令で利用できます(スイッチの反対側はGNDに接続できるように半田ジャンパーを設けています)。
その他のオマケ機能としては、以下があります。
(1)USBシリアル接続端子
(2)エッジコネクタによりmicro:bit用の一部の拡張基板が利用可能
(3)音声出力用のミニジャックの追加が可能(秋月C-06070)
(4)IchigoDake用の3.3Vレギュレータが搭載可能(秋月I-16155等)
(5)IchigoDake用にキーボード接続用コネクタを増設可能(C-11551又はC-09385:ジャンパー切替)
(6)IchigoDake用にビデオ出力用RCAジャックを増設可能(C-06508)
(7)電池BOXを取り付け可能(P-02667):中央下のネジ穴1つのみです。
(8)赤外線通信実験用にリモコン受信モジュールや赤外線LEDの搭載が可能
(9)ゲームパッド利用をシリアル接続で行うためのマイコンを追加可能

以下の写真はHeta-PadからキーボードICを移植して動作確認した時のものです。
IMG_4455.jpg
IchigoJam互換機も利用できます(一部の互換機ではキーボード用の5V電源のジャンパーが必要かもしれません)。PCN通販で販売中のJ@mbitもソケット追加により利用できます。J@mbitは容量の大きなマイコンを搭載しているのでIchigoCakeBASICへのアップデートも可能で、4Kバイトのプログラミングが楽しめます。
IMG_5392.jpg
以下のようにゲームパッド専用にマイコンR8CM11Aを搭載することもできます。これにより、シリアル通信でゲームパッドの状態を把握できます。
IMG_4449.jpg
上級者の方向けですが、この基板に直接LPC1114マイコンを搭載することも可能です。
IMG_4446.jpg

以上

IJMOUSE(PS/2マウスインターフェース)

IchigoJam用PS/2マウスインターフェース基板IJMOUSEを開発しました。
5V電源用にIchigoJamのCN5コネクタを利用しますが、シリアル信号はジャンパー線でRXDに接続します。
下の写真のようにCN3,CN4コネクタ側にはみ出さない設計になっており、これらコネクタを利用する一部の基板とは併用が可能です(RXDのジャンパー配線が可能な場合)
なお、IchigoJam用のサンプルプログラム(DRAWおよびPCG編集)が内蔵されており、ジャンパー配線を通じてダウンロードし実行することが可能です。
DRAWではマウスによるお絵描きとキーボードによる文字入力が可能です。
IMG_8525.jpg
PCG編集では、選択した16x16ドットの領域に対してドットのセット、クリアが可能です。
IMG_8530.jpg
PS/2マウスだけでなくPS/2キーボードにも対応しており、例えば講師用キーボードとして個別指導や、対戦ゲーム等に活用できます。Altキー併用によるIchigoJam絵文字の入力に対応していますが、ローマ字入力には対応していません。PS/2専用キーボードを推奨しますが、SANWA SKB-L1UBK
ELECOM TC-FCM103は動作確認済みです。
IMG_8504.jpg
PS/2は標準のmini-DINコネクタを採用しています。推奨するPS/2マウスはELECOM M-K6P2RWH/RSです(Amazon等で購入可能です)。なお、基板にはEEPROMソケットの取り付けも可能になっています。
IMG_8479.jpg
プルアップ抵抗(6本:10KΩ程度)やLED用抵抗(1本:300Ω程度)は、基板の裏面又は表面に取り付けます(交換する可能性がある場合は裏面を推奨)。
IMG_8484.jpg

仕様(暫定)

機能:PS/2仕様の機器(マウス又はキーボード)と接続し、シリアルデータに変換します。なお、本基板のTXMとIchigoJamのRXDをジャンパー線で接続する必要があります。
   マウスに関してはASCIIコードに変換しています(1文字又は複数文字)。
   IchigoJam用のサンプルプログラム(DRAWツール,PCGエディタ)をマイコンに内蔵しており、IchigoJamにダウンロードすることが可能です。

動作確認済みPS/2マウスは、ELECOM M-K6P2RWH/RSです。
一部のマウスやキーボードは動かないことがあります(USBとPS/2兼用のSANWA MA-BL138は使用不可)。 
ただし、以下のキーボードは動作確認済みです(2022年10月現在)。
SANWA SKB-L1UBK
ELECOM TC-FCM103
なお、接続には変換アダプターが必要です。

***マウス編***

マウスのコードは通常のキーボードからの入力と同様のASCIIコードになっています。移動はカーソルコード(#1C~#1F)、3つのボタンの状態は数字の0~7、スクロール操作はPageUp/Downに相当します。ボタンは1が左、2が右、4が中央ボタンに対応し、すべてを離した状態が0です。
マウスの動きやボタンの操作の変化により、カーソルコードや数字等が出力されます。
なお、シリアルデータとは別にP15,P16,P17にはマウスのボタンの状態が出力されます(5V出力)。
これらはIchigoJamのIN1,IN2,IN4に接続することもできます。

PS/2マウスを接続した場合の説明
 (1)電源を入れるとLED2が点灯(約2秒)、消灯(約2秒)の後で
    2回点滅し、通常のマウス動作を開始します。
    動作中は、マウスの動きやボタンの状態により、
    LED2のON/OFFが変化します。
 (2)動作開始後に、SW3を押しながらマウスの左ボタンを押すと
    IchigoJamへのサンプルプログラムのロード、実行が可能です
    (この時、マウスが動くとこの動作はキャンセルされます)。
    なお、NEWを実行しておいてから、このモードに移行して下さい。
    LED2の点滅の数の番号のプログラムが転送され、実行されます。
     サンプル1:マウス動作確認
     サンプル2:IJMOUSE DRAW(お絵描き)
     サンプル3:IJMOUSE PCG(PCG編集)

 (3)動作開始後に、SW3を押しながらマウスの右ボタンを押し
    以下の回数の点滅を確認後に離すと、マウスの移動検出のON/OFF切り替えられます。
    点滅が1回の場合はOFFになりボタンの情報のみがシリアル出力されます。
    (IchigoJamのプログラミング時にマウスの移動による意図しない文字の入力を防ぎます。)
    点滅が2回以上の場合はONになり、通常の動作になります。

 (4)動作開始後に、SW3を押しながらマウスを左右に動かすし
    点滅を確認後に離すと、移動に対する感度(DPI)を変更できます。
    LED2の点滅の数が多くなると感度が悪くなります。
    適当な点滅数の時にSW3を離して下さい(デフォルトは2)。

上記サンプル1,2,3の詳細

サンプル1:マウスの1バイトコードを表示します。
  マウスの機種により動作しないものがありますので、
  先ずこれで確認してください。

サンプル2:IJMOUSE DRAW(お絵描き)
  本プログラムは、描いた絵を別のプログラム番号に保存し、そこから再開できるようにLRUNを使用しています。
  本プログラムを0番以外の番号に保存する場合は先頭行のLRUN0を書き換えて下さい。
  左ボタンを押しながらマウスを動かすことで文字(絵文字もOK)で絵が描けます。
  キーボードからの連続文字入力、Enterキーで改行、BSキー文字の削除が可能です。
  入力モード切り替えはEndキーで行いますが、以下の3種類のカーソルで区別可能です。
  モード0:@:英数入力、英小文字入力が可能
  モード1:点線の〇:英数入力、英小文字を#00~#1Fの記号に変換
  モード2:¥:キーボード数字入力モード
  (モード0,1では数字は入力できません。ボタン状態に使用の為。)
   IchigoCakeでは必ず先頭行が、P=#E02:T=#1B00に変更してください。
マウスの中央ボタンではモード0又はモード1への切り替えのみ可能です。
描画文字は最後に入力した文字が使用されます。
マウスの右ボタンのクリックでカーソル位置の文字を描画用文字としてセットすることもできます(スポイト機能)。
マウスのスクロール操作で、入力文字コードの増減が可能です(カーソルが変更されます)。

編集中の絵(画面)は以下の手順で保存できますが、
この時本プログラムは破壊されます(書き換えられます)。
1.HOMEボタンを押す。
2.OKが表示されたら、直ぐに空きのプログラム番号にセーブする
 (注意:その前にNEWすると絵が消えてしまいます)。
  完成した絵(画面)のセーブ:
  例、SAVE3
  (なお、@ARUNは、@IRUNに書き換えられています。)
3.お絵描きの再開:
  例、LOAD3
  RUNすると元の絵が画面に表示され、LRUN0,30によりDRAWのプログラムが実行されます。

サンプル3:IJMOUSE PCG(PCG編集)
  上部にPCGの全文字が2行の一覧エリアに表示され(#E0~#FF)、
  初期選択の4文字分(2x2)が16x16の描画エリアに表示されます。描画エリアの右には16進コードが表示されます。
  一覧エリアで左ボタンを押すことで選択対象の4文字を変更できます(描画エリアが更新されます)。
  描画エリアでは、マウスの左ボタンでドットをセット、右ボタンでドットをリセットします。
  ドットの変更によりPCGの内容と16進コードが変わります。
  なお、マウスのスクロール操作で、カーソル文字を変更できます。
  一覧エリアで選択中の4文字のうちの1文字の上で中央ボタンを押すと、
  現在のカーソル模様でその文字(PCG)を上書きします。
  制約:SAVE機能はありません。
  電源を切るまでは、PCGの変更結果は維持されています。
  NEWしても消えませんので編集したPCGデータをプログラム領域を利用してSAVEすることができます。
  NEW
  COPY#F00,#700,256 でプログラム領域の後ろにコピー
  (IchigoCakeの場合は、#F00の代わりに#1D00。以下も同様。)
  SAVE2 (例として2番にセーブ)
  これを、利用するプログラムを作成する場合は、
  LOAD2
  10 COPY#700,#F00,256 でPCG領域に復元
  なお、PCGデータが破壊されないよう767バイト以下(IchigoJamの場合)で
  プログラムを作成する必要があります。



***キーボード編***

PS/2キーボードを接続した場合の説明
 電源投入後にモードを設定する必要があります。
 1のキー(又はスペース等)を押すとモード1、
 2のキーを押すとモード2になります。

 1.モード1の説明   
  押したキーのASCIIコードをシリアル出力します。
  CapsLockを押すとアルファベットの大文字、小文字を切り替えられます。
  Shiftを押しながらキーを押すとシフトされた文字コードが出力されます。
  Ctrlを押しながらキーを押すと、00から1Fまでの制御コードが出力されます。
  Altを押しながらキーを押すとIchigoJam用の#E0から#FFのコードが出力されます。
  AltとShiftを押しながらキーを押すとIchigoJam用の#80から#9Fのコードが出力されます
  (ただし、英文字はCapsLock状態になっていないことが必要です)。
  Shift,Alt,Ctrlキーの状態はP15,P16,P17に出力されます。
  これらはIchigoJamのIN1,IN2,IN4に接続することもできます。
  なお、ローマ字入力はできません。

 2.モード2の説明
  PS/2キーボードのスキャンコードがそのまま出力されます。
  ASCIIコードには変換されません。
  キーを離した時にもブレイクコードが出力されますので、
  ゲームや音楽キーボード代用等に利用できます。

その他、技術仕様
 信号ピンの割り当て
  P14:TXM (シリアル出力、IchigoJamのRXDにジャンパー線で接続)
  P46:RXM (接続不要)
  P11:PS2CLK   (PS/2機器に接続されています)
  P12:PS2DATA (PS/2機器に接続されています)
  P13:SW3 (モード設定用スイッチ)
  P37:LED2 (動作確認用LED)
  P15:LEFT BUTTON 又はSHIFTキーのモニタ出力
  P16:RIGHT BUTTON 又はALTキーのモニタ出力
  P17:CENTER BUTTON 又はCTRLキーのモニタ出力
  P47:未使用(リザーブ)

オプション:USBシリアルを取り付けることができます(5V電源供給も可能)。
(HW-728:CH340E USB-TTLコンバータ:Shigezone等)
なお、ピンソケットの追加無しでもスルーホールがジグザク配置になっているのでピンヘッダーのまま挿すこともできます。その場合は、EEPROMの邪魔にならないようにピンヘッダーを縦に半田付けします。

IMG_9257.jpg

以上

FMラジオキット FMrabit-i

FMrabit-iは、IchigoJam用FMラジオキットです(半田付けが必要)。
(FMrabit-i簡易キットの場合は、下記の7セグLEDおよび関連部品、
 一部部品は含まれません。必要に応じて、秋月電子等で御購入下さい。
 また、7セグの代わりに液晶も取り付け可能ですのでご検討ください。)

7セグLEDによる周波数、音量の表示が可能です。
イヤホン又はアンプ付きスピーカーを御用意ください
(又はTVの音声入力にも接続可)。
スマホ用イヤホンのボタンによる操作にも対応しています。
ワイドFM(AM放送局のFM補完放送)にも対応しています。
エッジコネクタによりmicro:bit用周辺機器の利用が可能です。
また、液晶(ILI9341/AQM1602Y)やUSBシリアル用のスルーホールを備えています。
IchigoDakeでは電源供給用にIchigoIgai等を併用してください。
RISC-V版IchigoJamRに関しては1.5β8で動作確認済みです
(プログラムの先頭にLED0又はLED1の追加が必要になる場合があります:7セグ表示用)。
IchigoJam互換機J@mbitを使用する場合は、ピンソケットの追加が必要です。

IchigoJam/IchigoJamRに取り付けて、立てて使えるデザインになっています。
ボタンの長押しでチャンネル/音量のモードを切り替え、
短く押すとチャンネル/音量が変わります。
FMrabit & IchigoJam
拡張用のスルーホールとしして以下があります。
(1)USBシリアルHW-728用(左側:写真のピンソケットは付属しません。)
   こちらのお店で取り扱いがあるようです:https://www.shigezone.com/product/hw728/
(2)ILI9341液晶用(左側)
(3)AQM1602Y液晶用(中央下)
(4)NeoPixel用(左上)
(5)サーボ用(左下)
なお、右側はエッジコネクタになっており、micro:bitと接続したり、
micro:bitの周辺機器が使用できます。

FMrabit & IchigoJam 裏
IchigoJam基板の部品とぶつからないように長めのピンヘッダーが付属します。
基板間の距離は約18mmなので、立てて使用しても安定しています。

FMrabit パーツ
パーツ 一式(7セグLEDは時計用のものが付属します。)

FMrabit & IchigoDake & IchigoIgai 裏
IchigoDakeの場合は電源供給の為に、IchigoIgai等が必要です。

FMrabit & IchigoDake & IchigoIgai
IchigoDakeとの組み合わせでは、高さが合わないので寝かせて使用します。

FMrabit & J@mbit 裏
IchigoJam互換機J@mbitとの組み合わせでは、J@mbit側にピンソケットの追加が必要です。
J@mbitはIchigoCake用BASICに更新することも可能で、その場合は4Kバイトが利用できるので多機能なFMラジオも実現できるでしょう(時計表示、タイマー動作等)。

FMrabit & J@mbit
J@mbitとの組み合わせでは、高さが合わないので寝かせて使用します。

回路図です。
FMrabit-i_Circuit


FMrabit-i ラジオキット 説明書   2021.6.17 MAENOH

本製品はIchigoJam用FMラジオキットです。
キット製品であり、半田付けが必要です。*IchigoJamは、jig.jpの登録商標です。
IchigoJam BASICのバージョンは1.4.2を推奨します
(1.4.3ではプログラム対策しても7セグLED表示がちらつきます)。
IchigoDakeでは別途3.3VのVCC電源が必要です(IchigoIgai等を御利用ください)。
RISC-V版IchigoJam Rは1.5β8で動作確認済みです。
IchigoJam互換機J@mbitを使用する場合は、ピンソケットの追加が必要です。
(J@mbitの場合は、IchigoCake用ファームに更新することで4Kバイトが利用可能で、
 より多機能なFMラジオを実現できます。)

基本機能
(1)FMラジオ受信(周波数/音量をI2C制御)
(2)イヤホン端子からのステレオ音声出力(スマホ用イヤホンのボタンによる操作も可能)
(3)7セグLEDによる周波数/音量の表示
(4)イヤホン端子からのIchigoJam音声出力
  (ジャンパーピンによりラジオの右出力と切り替えます。
   左出力ではラジオを聴くことができます。)
 備考:ラジオ用プログラムを実行し、選曲、音量調整をした後は、
   プログラムを停止しても聴き続けることができます。
   外付けスピーカーはダイソーのアンプ内蔵タイプをお勧めします。
   アンプなしの100均のスピーカーでは音は小さめです。

拡張機能(上級者向け)
(EX1)イヤホン端子からのビデオ出力
    (ジャンパーピンによりラジオの左出力と切り替えます。
    TVとの接続にはステレオミニプラグRCAピン変換ケーブルが必要です。)
(EX2)液晶ILI9341を取り付け可能(1.4.3LCD用ファームに更新要、R6でバックライト調整可)  
(EX3)液晶AQM1602を取り付け可能(なお、JP6でリセットをVCCに固定できます)
(EX4)I2C用Groveコネクタを追加可能(JGRV1:縦型コネクタ)
(EX5)7セグLED はアノードコモンで6ピンx2行のものの多くに対応。
    (小数点なしの時計用4桁や、小数点付き3桁など。
    2行の距離が20.32mmの大型のものまで取り付け可能です。
(EX6)NeoPixel用端子(LE0)があります(電源はVCCなので電流容量に要注意:数個なら可)。
(EX7)サーボ用端子(SV2)があります(OUT2制御、電源は5Vです)。
(EX8)エッジコネクタによりmicro:bit用拡張ボードの一部が利用可能
            (I2Cはピン位置互換、P0/P1/P2は未接続:任意にジャンパー可能)
    信号端子の並びは以下:
    SND,P0,IN2,OUT1,OUT2,IN4,P1,IN1,IN3,VD2,BTN,LED,P2,
    OUT3,OUT4,OUT5,OUT6,VCC,VCC,VCC,SCL,SDA,GND,GND,GND
(EX9)ビデオ出力の予備としてJV0端子(RCAピン用)があります。
    (ただし、GNDの電極をクリップ等で自作する必要があります。)
(EX10)USBシリアル用端子JU1があります。
        Amazonで、CH340Eで検索するとHW-728モジュールの1個売りのものが見つかると思います
    (300円台から1000円程度)。
    JU1はこのHW-728のピン配列に合わせて設計しています。
    (G)ピンは必要に応じてJP0によりGNDに接続できます(HW-728は接続)。
    その他のUSBシリアルも使用できるものがありますが、適切にジャンパー配線してください。
(EX11)マイクロスピーカー (秋月電子P-12494)を取り付け可能です。
    (ユニバーサル領域の裏に貼り付け、GNDとL(又はR)に接続)
(EX12)USBコネクタを取り付け可能です。ダイソーのUSB電源のスピーカーへの電源供給や
    IchigoDake用のキーボードが接続できます。
    VBUS電源は。VCC又は5VをJPV35で切り替えることができます。
    (5Vを使用する場合は、CN5の接続が必要です。)

付属部品
(1)基板
(2)FMラジオモジュール(RDA5807M)
(3)ステレオミニジャック
(4)7セグLED(4桁時計用)  
(5)ボタンスイッチ(縦型/横型の2種)
(6)アンテナおよび取り付けネジ
(7)抵抗およびコンデンサー一式
(8)ピンヘッダー
(9)ジャンパーピン(3個)
(10)サンプルプログラムリスト

組み立て方法概要
 大部分の部品は基板の裏に取り付けます。
 FMrabit-iの表示のある側が表で、7セグLEDと縦型ボタンスイッチ(SW5)等を取り付けます。
 (電解コンデンサーは裏又は表に取り付けることができます。)

組み立て手順
(1)基板にFMラジオモジュールを取りつけます。
   銀色のクリスタルの位置がGND/3V3側になるようにします。
   つまようじ2本で左右のセンターピンを仮固定し、
   正確に位置を合わせて半田付けをします(四隅から)。
(2)半田ジャンパーを接続します。
   基板裏側
    JP1でCOL1をIN1に接続してください。
    JP4でCOL4をSNDに接続してください。
   基板表側
    JP3を接続してください(SW3をIchigoJamのボタン代わりに利用する為)。
    IchigoJam/IchigoDake/J@mbitの場合は、JP21でSDAをIN3に、JP22でSCLをEXに接続してください。
    IchigoJamRの場合は、JP21でSDAをRSDに、JP22でSCLをRSCに接続してください。
(3)抵抗を取り付けます(カラーコードはネット等で調べてください)。
   ・7セグLEDを使用する場合はR11~R18の8つに330Ωを取り付けます。
   ・LE0端子用R4に330Ωを取り付けます(LE0にはNeoPixelや普通のLEDが取り付け可能です)。
   ・I2C用プルアップ抵抗R21,R22に10KΩを取り付けます。
   ・スマホイヤホンボタン用プルアップ抵抗R3に1KΩを取り付けます。
   ・ボタンスイッチSW5用の直列抵抗R5として100Ωを取り付けます。
      (R5とR3で分圧するのでアナログ読み取り値は93程度になります。)  
   ・本基板からビデオ出力したい場合は、R1に470Ω、R2に100Ωを取り付けます。
(4)ステレオミニジャックを取り付けます。
(5)横型ボタンスイッチSW3を取り付けます(裏側)。
(6)ジャンパーピンを取り付けます(3か所)。
  JL0:ミニジャックのL側の信号を切り替えるジャンパーです。
   通常はLSND (ラジオの左音声) 側ですが、VID側に切り替えることで
   ビデオ出力に利用できます(ステレオミニRCA変換ケーブルを使用)。
  JR1:ミニジャックのR側の信号を切り替えるジャンパーです。
   通常はRSND側(ラジオの右音声)ですが、JAMSND側に切り替えることでIchigoJamのサウンドを出力できます。
   JM9:スマホ用イヤホンのボタンを利用する場合のジャンパーです(使用する場合はMIC側に切り替え)。
   通常のイヤホンや外部スピーカー、上記変換ケーブルを利用する場合は、
   ピンを抜くか又は反対側に切り替えます(重要)。
(7)CN3,CN4に各々14ピン分のピンヘッダーを取り付けます。
   IchigoJamにピンヘッダーを差し込んで、その状態で半田付けをします。
   (備考:CN5のピンヘッダーは基本的には不要。5V利用時のみ接続。
     IchigoJam Uでは、CN5の接続は禁止です:パソコンのUSB信号とショートする為。)
(8)縦型ボタンスイッチSW5を取り付けます(基板表側)。
(9)7セグLEDを取り付けます (基板表側) 。
    文字の書いてある側の6ピンをL70(又はL69)に取り付けます。
    7セグLEDを別のものに交換する可能性がある場合はピンソケットを利用します。
    なお、付属の時計用7セグLEDは、6ピン x 2行の他に余分なピンが出ていますが、
    使用しませんので、ショートしないように折り曲げます。
(10)コンデンサを取り付けます。
    電解コンデンサーC60,C61はリード線の長い方を+表示側に差し込んでください。
    IchigoJam等を差し込んでコンデンサーが他の部品と衝突しないか確認してから半田付けします。
    衝突する場合は、基板の裏側ではなく、表側に取り付けます。
    IchigoJamの音声をミニジャックから出力したい場合は、C52に0.1μF(104)、C53に1μF(105)を取り付けます。
(11)アンテナをJANT1にネジで取り付けます。

以上
備考:液晶ILI9341やUSBシリアル(HW-728)は秋葉原のShigezoneでも取り扱いがあるようです(21/7/1現在)。

 サンプルプログラム1:「7セグFMラジオ」

7セグ周波数表示のFMラジオです。
(小音量時に7セグの雑音が気になる場合は、サンプルプログラム2を御利用下さい。)
7セグ横のSW5ボタンを押す(又は上側のSW3を長押しする)とモード切替(チャンネル/音量調整)ができます。
各モードで、SW3を押すとチャンネルP又は音量Vを変更できます。
なお、周波数とチャンネル数は40行目で変更してください。
20行のVIDEO1をVIDEO0に変更することで7セグのちらつきが軽減できます(1.4.3以外)。
SW3の代わりに、スマホ用イヤホンのボタンを用いることもできます。
スマホ用イヤホン以外を用いる場合は、ジャンパーピンJM9を抜くか又はJM9側に切り替えてください。

10 'FM7SEG-A
20 V=1:P=1:M=0:VIDEO1:LED0
30 OUT8,0:OUT9,0:OUT10,1:OUT11,0
40 LET[0],795,800,813,825,847,905,916,930,0
50 LET[20],#3F,#06,#5B,#4F,#66,#6D,#7D,#27,#7F,#6F,0
60 LET[37],1,2,8
70 F=[P]:GSB@FUP
80 @LP:
90 IF!BTN(0)GSB@DISP:CONT
100 W=0:OUT#27F
110 A=ANA(0):IF A>500 CONT
120 IFBTN(0)W=W+1:CONT
130 IF A>50 W=200
140 IFW<200GOTO@CHANGE
150 M=(M+1)%2
160 IFM=0GSB@FUP
170 IFM=1GSB@VUP
180 OUT#37F+(1-M)<<9
190 IFBTN(0)CONT
200 WAIT10:GOTO@LP
210 @CHANGE
220 IFM=0P=P+1:GSB@FUP
230 IFM=1V=(V+1)%16:GSB@VUP
240 WAIT10:GOTO@LP
250 @VUP
260 LET[40],16,V/10,V%10
270 GOTO@SRD
280 @FUP:IF[P]=0P=0
290 F=[P]:LET[40],F/100,(F%100)/10,F%10
300 B=2:T=1:C=F-760
310 H=C>>2:L=((C&3)<<6)+(T<<4)+(B<<2)
320 @SRD:POKE#700,#C2,5,H,L,#A,0,#88,#80+V
330 S=I2CW(#10,#700,8):RTN
340 @DISP
350 IFZ=1OUT10,0ELSEOUT10,1
360 O=[[Z+40]+20]^#7F:OUT11,-2
370 O=O+([37+Z]<<7)+(M<<9):OUTO
380 IFZ=2OUT11,1
390 IFBTN(0)OUT10,1:RTN
400 Z=(Z+1)%3:GOTO@DISP

備考:360,380行のOUT11はIchigoJam1.4.3対応です。



 サンプルプログラム2:「7セグ自動消灯機能付きFMラジオ」

7セグ表示の自動消灯機能付きFMラジオです。
音量が小さい場合に7セグ表示による雑音が気になることがあります。
本プログラムでは一定時間後に7セグ表示をOFFにすることで雑音を低減します。
ボタンを押すと表示が開始され、表示されている間に再度ボタンを押すと
チャンネル又は音量がアップします。
なお、ボタンを長押しすることでモード切替(チャンネル/音量調整)ができます。
(ボタンの区別はありません:SW3/SW5/スマホ用イヤホンのボタン)
なお、周波数とチャンネル数は40行で変更してください。
20行のVIDEO1をVIDEO0に変更することで7セグのちらつきが軽減できます(1.4.3以外)。
20行のRが表示時間調整になります(IchigoJamRの場合はR=2000程度で調整して下さい)。
IchigoJamRでも1.5β8で動作確認済みです(20行目のLED0は1.5β8では必要です)。
スマホ用イヤホン以外を用いる場合は、ジャンパーピンJM9を抜くか又はJM9側に切り替えてください。

10 'FM7SEG-R
20 VIDEO1:P=1:V=1:R=300:D=0:LED0
30 OUT8,0:OUT9,0:OUT10,1:OUT11,0
40 LET[0],795,800,813,825,847,905,916,930,0
50 LET[20],#3F,#06,#5B,#4F,#66,#6D,#7D,#27,#7F,#6F,0
60 LET[37],1,2,8:'IN124
70 F=[P]:GSB@FUP
80 @LP:
90 IF!BTN(0)GOSUB@DISP:CONT
100 OUT#27F
110 WAIT6:W=0
120 IFBTN(0)W=W+1:WAIT6:IFW<9 CONT
130 IFD>R D=0:GOTO@WT
140 D=0:IFW<8GOTO@CHG
150 M=(M+1)%2
160 IFM=0GSB@FUP
170 IFM=1GSB@VUP
180 OUT#37F+(1-M)<<9
190 @WT:IFBTN(0)CONT
200 WAIT10:GOTO@LP
210 GSB@FUPDATE
220 @CHG:IFM=0P=P+1:GSB@FUP
230 IFM=1V=(V+1)%16:GSB@VUP
240 WAIT10:GOTO@LP
250 @VUP:LET[40],10,V/10,V%10:GOTO@SRD
260 @FUP:IF[P]=0P=0
270 F=[P]:LET[40],F/100,(F%100)/10,F%10
280 B=2:T=1:C=F-760
290 H=C>>2:L=((C&3)<<6)+(T<<4)+(B<<2)
300 @SRD:POKE#700,#C2,5,H,L,#A,0,#88,#80+V
310 S=I2CW(#10,#700,8):RTN
320 @DISP:IFD>ROUT#40:OUT11,-2:RTN
330 D=D+1:IFZ=1OUT10,0ELSEOUT10,1
340 O=[[Z+40]+20]^#7F:OUT11,-2
350 O=O+([37+Z]<<7)+(M<<9):OUTO
360 IFZ=2OUT11,1
370 IFBTN(0)OUT10,1:RTN
380 Z=(Z+1)%3:GOTO@DISP

備考:320,340,360行のOUT11はIchigoJam1.4.3対応です。



 サンプルプログラム3:「7セグ4桁カウンタ」

SOUNDピンを用いて4桁目の表示を実現したカウンタです(BEEP-1,-1を利用)。
TICK()の値をそのまま表示しているので秒単位になっていません。
改良してみてください。
なお、SOUNDピンを使っているので音が出てしまいます。

20 '7SEGx4 TICK COUNTER
30 VIDEO0:LED0
40 OUT8,0:'IN1 DIGIT1
50 OUT9,0:'IN2 DIGIT2
60 OUT10,1:'IN3 SEG-DOT(:)
70 OUT11,0:'IN4 DIGIT3
80 LET[0],#3F,#06,#5B,#4F,#66,#6D,#7D,#27,#7F,#6F:'0 to 9
90 LET[10],1,2,8,0:'IN1,IN2,IN4,DUMMY(SOUND)
100 LET[14],1,2,3,4:'4digit value
110 C=#0:'COLON OFF(#200),ON(#0) IN3
120 @LOOP
130 FORI=0TO3
140 T=TICK():[17]=T%10:[16]=(T/10)%10:[15]=(T/100)%10:[14]=(T/1000)%10
150 S=[[I+14]]^#7F
160 S=S+([10+I]<<7)+C
170 OUT11,-2:BEEP0:OUT S:'-2for1.4.3
180 IF I=2 OUT11,1
190 IF I=3 BEEP-1,-1
200 NEXT
210 GOTO@LOOP