CitrusBoyを作ってみた

CitrusBoy

Masahiro Higuchi

企業提供

Masahiro Higuchi
提供:PCBWay

 PCBWayは、プリント基板(PCB)の製造から部品実装(SMT・DIP)、筐体加工、3Dプリント、CNC加工、さらには組立までを一貫して行うものづくりサービスを提供する企業である。高品質かつ短納期で、試作から量産まで幅広く対応しており、学生や研究者、個人開発者にも利用しやすい環境を整えている。

Masahiro Higuchi
Masahiro Higuchi

 特に、2層FR-4基板を標準仕様で10枚あたり$5~ (※2025/10現在)で製作できるなど、低コストで高精度な試作を行える点が大きな特徴である。オンライン上で即時に見積もりを確認できるシステムも備えており、設計段階からコストや納期を明確に把握することができる。
 本開発では、PCBWayのご提供により、CitrusBoyのプリント基板を製作することができた。PCBWayの高品質なサービスと迅速な対応により、CitrusBoyの開発を円滑に進めることができたことに深く感謝申し上げる。

- 以下リンクより内容の確認ができます -
https://www.pcbway.com/project/sponsor/Student_Mentorship_Through_Game_Console_Events_758c8320.html

概要

Masahiro Higuchi

 CitrusBoyは、オープンソースの携帯型ゲーム機「ArduBoy」をベースに、独自に設計・開発した互換機である。 マイコンには Pro Micro を採用し、ディスプレイには、SH1106 OLED を使用している。本開発は、大学内におけるメンター制度を活用した学習支援活動の一環として、電子工作企画のために行ったものである。
 CitrusBoyの「Citrus」は、所属大学である京都橘大学の「橘」をとって名付けられたものである。

ArduBoyとは

「ArduBoy」は、Arduino互換のマイクロコントローラを搭載したオープンソースの携帯型ゲーム機である。 モノクロOLEDディスプレイ、ボタン入力、スピーカー、USB通信機能を備え、PCからプログラムを転送して独自のゲームやアプリケーションを実行できる。教育用途やプロトタイピング、組込み開発の入門プラットフォームとしても利用されている。

部品

登場するパーツは以下の通りである。

  • Pro Micro (ATmega32U4搭載) ¥400
  • 1.3inch SH1106 OLEDディスプレイ (SPI通信) ¥500
  • タクトスイッチ ×6 ¥30
  • ボタン電池CR2032 ×2 ¥200
  • ボタン電池ソケット ×2 ¥100
  • スライドスイッチ ×2 ¥10
  • PCB基板 ×1 ¥200

開発目標

 装置の開発では、主に「ArduBoy」を参考に設計した。しかし、ArduBoyのハードウェアに実装されている機能をそのまま利用するのではなく、独自の改良を加えることを目指した。 改良点は以下のように整理した。

  • ディスプレイを1.3inchのSH1106 OLEDに変更
  • 交換可能なバッテリーの搭載
  • ミュートスイッチの実装
  • 組み立て工程で表面実装部品を使用せずスルーホール部品のみを使用する
  • CitrusBoyのロゴを起動画面に表示する
  • 1台あたりのコストを1500円以内に抑える

 学習支援活動の一環であること、調達できた予算の都合、持続可能な企画にすることや学生の教育効果を考慮したため、特に組み立ての容易さとコスト削減に重点を置いた。

ハードウェアの実験

 ArduBoy Formの回路図をもとに、GamePadに割り当てられているピンアサインなどを確認して実験した。参照した資料ではSSD1306 0.96inchでI2Cを使用した設計である。 実験では、SH1106 1.3inch SPIを使用した通信で実装する。回路エディタはFrizingを使用した。

Masahiro Higuchi
Frizingの回路エディタ

 参照したArduBoy2ライブラリでは、SSD1306 OLEDの仕様である。SH1106で実現するために、ArduBoy Formなどの資料を参考に関数、命令アドレスや表示可能領域の定義を改修した。 さらに、CitrusBoyロゴをBitMap形式に変換を行い、ArduBoy2ライブラリ内に組み込んだ。

改修済みのライブラリはGitHubの「CITRUSBOY-Ver1.0.0.zip」よりダウンロード
https://github.com/Hmasa2005/DIY-GAMEHARD/tree/main

または、Arduino IDEでは、環境設定より追加ボードリンクに次を追加
https://raw.githubusercontent.com/Hmasa2005/DIY-GAMEHARD/refs/heads/main/CitrusBOYver1.0.json
ボードマネージャで「CITRUSBOY-ATmega32U4」をインストール

Masahiro Higuchi

上記のライブラリをArduino IDEにインストールすることで、CitrusBoyの開発環境を整えることができる。

Masahiro Higuchi
起動ロゴの表示
Masahiro Higuchi
ゲームの動作確認

基板設計と製造

Masahiro Higuchi
設計した基盤の表面
Masahiro Higuchi
裏面

 回路設計が完了した後、基板設計を行った。基板設計には、Frizingを使用した。基板設計では、GamePadの操作性を考慮し、パーツの配置を行った。また、スルーホール部品のみを使用する設計とした。 バッテリは交換可能なCR2032ボタン電池を採用し、ソケットを基板に実装することで、簡単に電池交換ができるようにした。さらに、ミュートスイッチを追加した。 基板データの作成が完了した後、Gerberファイルを生成し、PCBWayに発注した。PCBWayのオンライン見積もりシステムを活用し、コストや納期を確認しながら発注手続きを進めた。

Masahiro Higuchi
製造されたCitrusBoyの基板

 PCBWayから届いた基板は、高品質であり、設計通りに製造されていた。

完成

Masahiro Higuchi
表面
Masahiro Higuchi
裏面

 表面には、SH1106 OLED全体の重量による端子への負荷を軽減するため、3DプリンタでOLEDを支えるパーツを作成し、実装した。 裏面には、半田付け部分への直接的な手の接触を防ぐため、レーザー加工機で切削したアクリル板を、PCBの四隅の穴にネジとナットで固定している。

文献