Skip to the content
2 layers60 × 60 mmProjectionball, the printed circuit board in 3D

ProjectionBall v7.x with RP2040

Size
60 × 60 mm
Copper layers
2
Thickness
1.6 mm
Parts
76
Nets
63
Pads
294
Tracks, vias
1,121, 68
Pours
293
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
21 Oct 2023
Updated
9 Feb 2024

Overview

Projectionball is an open-source printed circuit board by meerstern, from the meerstern/ProjectionBallUnit repository on GitHub. It is a 2-layer board of 60 × 60 mm with 76 parts on 63 nets, routed with 1,121 tracks and 68 vias.

It is built around the RP2040, W25Q16JVUXIQ and LD3985M33R, with the SD3077 and CR1220-2 among its other parts. Its parts include 27 capacitors, 14 resistors, 7 connectors, 5 ICs and 5 switches. It belongs with the RP2040 boards of this library.

Main components

5

README

README.md

簡易レーザープロジェクタ ProjectionBall Unit

概要

  • ロボット制御技術を応用したガルバノスキャナ方式の簡易レーザープロジェクタです
  • 文字や時刻、日時、内蔵図形を描画することが可能です
  • 本体ボタン、PCのCOMポートやUARTを介して設定を変更することが可能です
  • 任意の文字列は英数字を最大5文字同時表示、それ以上は32文字までスクロール表示可能です
  • 投影距離は明るい場所で数m以下、暗い場所で10m以下が目安です
  • Pico-SDKを使用したソースコードを公開しています

仕様

  • 電源スイッチ、モード切替、パターン切替、BOOTボタン、RESETボタンを搭載しています
  • マイコンRP2040、RTC SD3077、モータFA-130、ドライバTB6612、エンコーダMA732Qを使用しています
  • 赤色レーザーモジュール(出力1mW以下、ClassⅡ同等品)
  • 5V/0.8AのUSB電源(micro USB)で動作
  • 電源LED(青)、エラーLED(オレンジ)を搭載
  • 時刻(RTC)/設定データ一時保存用電池 CR1220
  • シリアルポートP1 ボーレート9600bps、データサイズ8bit、パリティ無、ストップ1bitが既定値
  • サイズ60mm x60mm x 43mm(突起部、USBコネクタ除く)、固定穴45mm x45mm M3x4

アプリケーション例

  • 移動ロボットに組込して進路を表示
  • イベント等での情報を表示

注意点

  • この製品はclassⅡのレーザーを使用しています
  • レーザーを使用しているため、光源を直視しないでください
  • 分解や改造をした状態で使用すると非常に危険ですので、お控えください
  • この製品によって引き起こされることについては、当社は責任を持ちません
  • 目にレーザー光が入る可能性があるため、人や動物に対して投影しないでください
  • 汎用モータを使用しているため、描画のちらつきや崩れがあります
  • ガルバノミラーはガラス製表面鏡のため、怪我をする恐れがあります 手を触れなでください
  • 光軸がずれる可能性があるため、落下や衝撃を与えないでください
  • 本製品は研究、開発目的の用途を想定しています
  • 起動後にエラーLEDが点灯する場合はミラー部分が回転できるか、引っかかりがないか確認し、電源を入れ直してください
  • 告知なしに部品や仕様を変更する場合があります

使い方

a.単体で使用する場合

 microUSBをUSB電源等に接続し、電源スイッチ、モード切替、パターン切替スイッチで操作することが可能です

b.他の機器と連携する場合

 microUSBをUSB電源等に接続し、P1端子を介してUART通信(ボーレート9600bps, 3.3V)可能です
マイコン等からコマンドを送信して制御することが可能です

c.設定を行う場合

 PC等にmicroUSBを接続し、Teraterm等からシリアルポートを介してコマンドで設定を行うことが可能です

d.ファームウェアの書換を行う場合

 PC等にmicroUSBを接続し、BOOTボタンを押した状態でRSTボタンを押すとUSBドライブとして認識されます
ファームウェアファイル(*.uf2)を認識されたUSBドライブに書き込むことでファームの書換が可能です

描画モード

  • パターン0: 星
  • パターン1: 矢印
  • パターン2: メール
  • パターン3: スマイル
  • パターン4: 太陽
  • パターン5: 雲
  • パターン6: 傘
  • パターン7: 雪だるま
  • パターン8: 雲と雷
  • パターン9: ハート

描画パターン

  • モード0: 通常描画
  • モード1: 一筆書き描画
  • モード2: 回転描画
  • モード3: デジタル時計
  • モード4: デジタル日付
  • モード5: 任意メッセージ
    ※メッセージは英数字、最大5文字、それ以上はスクロール表示です

描画例

各部機能

コマンド

  • コマンド文字列を送信することで描画モードやパターン等の設定が可能です
  • 改行コードは"\r\n"がデフォルトです

日時設定コマンド

コマンド名コマンド引数例
時刻設定tim=hhmmsstim=220212(Enterキー)
時刻確認tim?なしtim?(Enterキー)
日時設定day=YYMMDDday=220305(Enterキー)
日時確認day?なしday?(Enterキー)

※日付時刻は必ずそれぞれ2桁で入力してください
 例 2時8分01秒→tim=020801

制御コマンド

コマンド名コマンド引数例
モード確認mod?なしmod?(Enterキー)
モード設定mod=モードmod=1(Enterキー)
パターン確認ptn?なしptn?(Enterキー)
パターン設定ptn=パターンptn=2(Enterキー)
ソフトリセットrst!なしrst!(Enterキー)
描画一時停止pus!なしpus!(Enterキー)
描画再開rsm!なしrsm!(Enterキー)
描画角設定deg=角度deg=90(Enterキー)
描画角確認deg?なしdeg?(Enterキー)

※描画角は描画の上下左右等の角度を変更する場合に使用します
※描画角のデフォルトは0度(deg=0)です

ユーザ設定コマンド

コマンド名コマンド引数例
描画文字列確認str?なしstr?(Enterキー)
描画文字列設定(MEM)str=英数字str=Hello(Enterキー)
描画文字列設定(RAM)stg=英数字stg=Hello(Enterキー)

※MEMの場合、文字列はメモリに保存され、自動的に再起動します
※RAMの場合、文字列は即時反映されますが、電源再投入等でメモリに保存された文字列に戻ります

タイマ設定コマンド

コマンド名コマンド引数例
タイマ確認tst?なしtst?(Enterキー)
タイマ有効化ten!なしten!(Enterキー)
タイマ無効化tds!なしtds!(Enterキー)
停止時刻確認pus?なしpus?(Enterキー)
停止時刻設定pus=hhmmpus=1230(Enterキー)
再開時刻確認rsm?なしpus?(Enterキー)
再開時刻設定rsm=hhmmpus=1530(Enterキー)

※タイマ確認は0で無効状態、1で有効状態を示しています

キャリブレーションコマンド

コマンド名コマンド引数例
描画中心確認cen?なしcen?(Enterキー)
描画中心設定cen=X,Ycen=100,-200(Enterキー)

※レーザーが基板や筐体に当たって描画が隠れてしまう場合にのみ、描画中心を調整します
※描画中心のキャリブレーション値は出荷時に調整しています
※キャリブレーション値は初期値に対してX軸(縦方向)、Y軸(横方向)のオフセット値を設定します

エラーLED点灯時の確認

  • 起動後にエラーLEDが点灯する場合はミラー部分が回転できるか、引っかかりがないか確認し、電源を入れ直してください
  • ミラーが回転して描画を開始しない場合は下記の図のようにミラーの角度を調整して電源を入れ直してください
  • 手前から見てレーザーモジュールからの光がX軸ミラー、Y軸ミラーの2つのミラーに反射する角度に調整します
  • ミラーはガラス製のため、怪我の恐れがあります 手を触れないように注意してください

電池交換時の確認

  • RTC電池は電源供給なしで3年以上、日時、時刻及び設定情報を保持することが可能です
  • 万一、保持できなくなった場合はCR1220の電池交換を行ってください
  • 設定情報はモード、パターン、タイマ状態、描画角を保持しています
  • 電池交換後は日時、時刻及び設定情報が不定値となるため、必ず時刻、日付、モード、パターン、タイマ状態、描画角を再設定してください
  • 特に描画角が不定値になると正しく描画されません deg=0(Enterキー)とコマンドを入力して設定してください

外観

License - MIT

Parts

76
QtyValueFootprintReferences
180.1uCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C6, C13, C14, C15, C18, C20, C21, C22, C23, C24, C25, C28 +2
8MountingHole_3mmMounting_Holes:MountingHole_3mmREF1, REF2, REF3, REF4, REF9, REF10, REF11, REF12
51kResistor_SMD:R_0603_1608MetricR1, R3, R9, R10, R11
527Resistor_SMD:R_0603_1608MetricR4, R5, R6, R7, R13
4SW_PushSMD_PUSHSWITCH:SKRPACE010SW1, SW2, SW3, SW4
310uCapacitor_SMD:C_0805_2012MetricC8, C12, C17
210kResistor_SMD:R_0603_1608MetricR2, R15
210pCapacitor_SMD:C_0603_1608MetricC5, C11
2Ferrite_Bead_SmallInductor_SMD:L_0603_1608MetricFB1, FB2
10.01uCapacitor_SMD:C_0603_1608MetricC10
1100uCapacitor_SMD:CP_Elec_6.3x3.9C26
112MHzFA238V:FA238VX1
12.2uCapacitor_SMD:C_0603_1608MetricC16
120kResistor_SMD:R_0603_1608MetricR12
1330Resistor_SMD:R_0603_1608MetricR14
1470uCapacitor_SMD:CP_Elec_8x10C19
1CR1220CR1220_2895:2895BT1
1Conn_01x07Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ1
1DDiode_SMD:D_SOD-123D3
1ENC1Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ3
1ERR_LEDLED_SMD:LED_0603_1608MetricD2
1FuseResistor_SMD:R_1210_3225MetricF1
1GROVE_I2CGroveCon:GROVEP2
1GROVE_UARTGroveCon:GROVEP1
1LD3985M33RPackage_TO_SOT_SMD:SOT-23-5U1
1MICRO-USB-SHIELD-ZX62R-B-5PCON_FCI_USB:CONN-10118194-0001LF-FCIM1
1MOTOR1Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalP3
1MOTOR2Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalP4
1POW_LEDLED_SMD:LED_0603_1608MetricD1
1Q_NMOS_GSDPackage_TO_SOT_SMD:SOT-23Q1
1RP2040MCU_RaspberryPi_and_Boards:RP2040-QFN-56U3
1SD3077Package_SO:SO-8_5.3x6.2mm_P1.27mmU4
1SW_DPDT_x2DPDT_SMD:DPDT_SMD_LargeSW5
1TB6612FNGtb6612:tb6612-SSOP24IC1
1W25Q16JVUXPackage_SON:SON-8-1EP_3x2mm_P0.5mm_EP1.4x1.6mmU2
1microTFConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ4

More from meerstern/ProjectionBallUnit

2
  • 2 layers20 × 28 mmMa73x, the printed circuit board in 3D

    Ma73x

    meerstern/ProjectionBallUnit

    ProjectionBall v7.x with RP2040

    5 parts7
  • 2 layers20 × 11 mmMa73x, the printed circuit board in 3D

    Ma73x

    meerstern/ProjectionBallUnit

    ProjectionBall v7.x with RP2040

    3 parts7

Similar boards

  • 4 layers92 × 56 mmREIN R1, the printed circuit board in 3D

    REIN R1

    rein-baremetal/REIN_R1_KiCad

    Dual-MCU baremetal embedded development board featuring high-speed QSPI storage, hardware USB hub, and flexible power management. Open for PCB trace routing collaboration

    177 parts2
  • 2 layers42.5 × 21 mmPS2USB, the printed circuit board in 3D

    PS2USB

    meerstern/PS2USB_CONVERTER

    PS/2 USB CONVERTER for old computers with USB keyboard

    25 parts9
  • 4 layers58 × 58 mmRgb matrix, the printed circuit board in 3D

    Rgb matrix

    joh/rgb-matrix

    RGB Matrix with USB and 48-bit colors!

    138 parts3
  • 2 layers22 × 26.4 mmConverter, the printed circuit board in 3D

    Converter

    meerstern/USBSerial_I2C_Converter

    USBSerial I2C Converter

    26 parts3
  • 2 layers45 × 45 mmFlight ctrl v2, the printed circuit board in 3D

    Flight ctrl v2

    MickAvery/flight-controller-design

    Design of my flight controller using KiCAD

    50 parts1
  • 2 layers99.1 × 95.3 mmTmb musicplayer, the printed circuit board in 3D

    Tmb musicplayer

    janfietz/tmb_board

    Hardware design for toddlerMusicBox project

    203 partsCC-BY-SA-4.0
  • 4 layers40 × 49 mmADC, the printed circuit board in 3D

    ADC

    maknoll/MRI_ADC_Probe

    This repository includes all hard- firm- and software resources realated to MRI ADC Probe developed for measuring gradient fields in a running MRI scanner.

    69 parts
  • 2 layers23.9 × 19.8 mm.watch, the printed circuit board in 3D

    .watch

    silardg/.watch

    PCB for a small watch

    28 parts

Questions

How big is the Projectionball PCB?

It measures 60 × 60 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Projectionball use?

76 parts, built around the RP2040, W25Q16JVUXIQ, LD3985M33R and SD3077. 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 Projectionball KiCad files?

From the meerstern/ProjectionBallUnit repository on GitHub, at the commit this page was made from: the board is pcb/main/projectionball.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Projectionball design in my own project?

Its repository states no licence, so its author keeps all rights: ask meerstern before reusing the design.