Skip to the content
2 layers12 × 31 mmB ART typeU, the printed circuit board in 3D

B ART typeU

idt12312/B-ART11

UARTをBLEで飛ばすモジュール

Size
12 × 31 mm
Copper layers
2
Thickness
1.6 mm
Parts
22
Nets
23
Pads
94
Tracks, vias
263, 118
Pours
4
Routed
Yes
KiCad
KiCad 4
Created
26 Nov 2016
Updated
23 Jan 2022

Overview

B ART typeU is an open-source printed circuit board by idt12312, from the idt12312/B-ART repository on GitHub, published under the MIT licence. It is a 2-layer board of 12 × 31 mm with 22 parts on 23 nets, routed with 263 tracks and 118 vias.

It is built around the FT234XD-R and BLM18P. Its parts include 5 capacitors, 5 resistors, 3 ICs, 3 diodes and 1 connector. It belongs with the interfaces and adapters boards of this library.

Main components

2

README

README.md

概要

B-ARTはXbee ZigBeeモジュールみたいにUARTを無線で飛ばすモジュールです。 マイコンのプログラムを追加で書くことなく、UARTのTXとRXだけをつなげるだけでUARTを無線化できます。 無線部分はBLE(Bluetooth Low Energy)で実装をしています。

非常に小さいことが特徴で、開発中の基板に挿して簡単に使える無線モジュールをコンセプトに開発をしています。 (現状、秋月で買えるどの無線モジュールよりも小さいはず)

B-ARTにはType-PとType-Uの2種類があり、Type-Pはピンヘッダ、Type-UはUSBコネクタがついています。 Type-Pには4pinのピンヘッダが付いていて、3.3V-GND-TX-RX の4本を接続するだけで使うことができます。 Type-UにはPCに直接挿せるUSBコネクタと、FTDIのUSB-UART変換IC(FT234XD)が載っています。 FT234XDのおかげでPCにさすとシリアルポートとして認識されるので、 普段シリアルポートを使うときと全く変わることなく使うことができます。

B-ARTの裏面にはType-P、Type-UともにDIPスイッチがあり、そこからIDを設定できます。 IDが同じ相手を選択して通信をするので、同じ環境にB-ARTが何組もあってもIDさえ違えば混線が起きないようになっています。

使用例

例えば小さい走行ロボットを無線を使ってデバッグする時にB-ARTは役立つでしょう。 走行をさせるときに有線だと線が邪魔になり、Xbeeなどはモジュールが大きすぎて載せられないという状況です。

下の写真は現在制作中のマイクロマウスの機体MIZUHOv2に B-ART TypePを挿しているところです。

B-ARTは非常に小さく軽いので、マイクロマウスの機体に乗せても走行時にそれほど問題にはなりません。 基板に4pinのコネクタさえつけておけばほしい時にだけB-ARTを挿して使うことができます。

使い方

DIPスイッチの設定

B-ARTのType-PとType-Uの基板の裏にはDIPスイッチが4bit分あり、 1bitはクライアント動作をするかサーバー動作をするか、3bitはIDを意味していています。

DIPスイッチ意味
10:client動作 1:server動作
2ID bit2
3ID bit1
4ID bit0

B-ARTは通信においてはType-PであるかType-Uであるかは関係なく、 同じIDを持つサーバーとクライアントが1対1で通信できるという仕組みになっています。 なので、同じIDを持っていさえすれば、

  • TypeU <-> TypeU
  • TypeP <-> TypeP
  • TypeU <-> TypeP

の全ての組み合わせで通信が可能です。

TypePのセットアップ

4pinのピンヘッダ(というよりスルーホール)があり、それぞれのpinは次のような意味を持っています。

B-ARTは最大30mAくらいの電流を必要とするので、それに耐えられるような電源につないでください。

電源・IOの電圧は3.3Vであることに注意してください

TypeUのセットアップ

パソコンのUSBに挿すだけです。

電源を入れる

電源を入れると クライアント動作に設定されているB-ARTは赤色LEDが、 サーバー動作に設定されているB-ARTは緑色のLEDが光ります。

サーバーとクライアントの接続

サーバー側とクライアント側に同じIDを持たせた状態で電源を入れると自動的に接続されます。 接続された瞬間にB-ARTに乗っている緑と赤の両方のLEDが一瞬点滅します。

一旦切断されても、接続可能な状態になると自動で接続されます。

データを送受信する

UARTにデータを流すとサーバー側、クライアント側どちらからでももう片方に送信されます。 その際にLEDが点滅するので、LEDを見ることで正常に動作しているかが分かります。

UARTの通信仕様

以下の設定でのみ動作します。

パラメータ値
Baudrate115200bps
Data size8bit
Start bit1bit
Stop bit1bit
Parityなし
Flow controlなし
信号レベル3.3V

※UART側からデータを連続して送り続けると、データが欠損する可能性があります。 確実に連続して送信できるのは70byteくらいです。 それ以上のデータが連続する場合は、70byteくらいごとに間隔をあけてください。

基板

TypeP

回路図

アートワーク

TypeU

USB周りの回路図

マイコン周りの回路図

アートワーク

ファームウェア

最新のファームウェアのバイナリ

最新のビルドされたバイナリはbinディレクトリに入っています。

開発環境

Eclipseのプロジェクトごとリポジトリにあげてあるので、 きっとEclipseにimportするだけで動かすことができます。

動作

起動時にDIPスイッチの状態を読み取って(main.c)、サーバー動作(main_server.c)をするか、 クライアント動作(main_client.c)をするかを決定しています。

BLEの操作はNordicのサンプルにある、NUSを参考にしています。 SDKにあるble_nusとble_nus_cをもとにble_bartsとble_barts_cを書いています。(名前を変えただけ)

サーバー動作

GATTサーバーとして、次のようなサービスを立てます。

AttributeTypeNamePermissionsUUID
ServiceBART ServiceRead20yy0001-DA04-4C71-ADBE-6CA269E7E983
CharacteristicTXWrite20yy0002-DA04-4C71-ADBE-6CA269E7E983
CharacteristicRXNotify20yy0003-DA04-4C71-ADBE-6CA269E7E983

TXにwriteするとUARTからデータが出力され、 UARTにデータが入るとRXをsubscribeしているデバイスにNotifyします。

UUIDのyyはID(3bit)を16進数に変換したものが入ります。

クライアント動作

自分と同じIDをもつサーバーを探します。 このとき、サーバーのもつServiceのUUID(上の表のyy)をもとに同じIDのものを検索します。

同じIDのサーバーが見つかったらConnectし、RXのCharactericics(notify)をsubscribeします。

後はUARTからデータが来たらサーバーのRXにwriteをし、サーバーからnotifyが来たらUARTにデータを流します。

Parts

22
QtyValueFootprintReferences
40.1uCapacitors_SMD:C_0603C1, C2, C3, C5
21kResistors_SMD:R_0603R3, R4
2BLM18PResistors_SMD:R_0603R1, R2
110uCapacitors_SMD:C_0603C4
1510Resistors_SMD:R_0603R5
1BVMCN5103-BKB-ART:BVMCN5103-BKIC2
1BlueLEDs:LED_0603D1
1DIPSW-4B-ART:DIPSW-4PSW1
1FT234XDHousings_DFN_QFN:DFN-12-1EP_3x3mm_Pitch0.45mmIC1
1GNDB-ART:test_th_padW2
1GREENLEDs:LED_0603D3
1LXES11DB-ART:LXES11DU1
1REDLEDs:LED_0603D2
1SWDCLKB-ART:test_th_padW3
1SWDIOB-ART:test_th_padW4
1USB_AB-ART:USB_A_plugP1
1VCCB-ART:test_th_padW1

More from idt12312/B-ART

1
  • 2 layers10.6 × 21.8 mmB ART typeP, the printed circuit board in 3D

    B ART typeP

    idt12312/B-ART

    UARTをBLEで飛ばすモジュール

    14 parts11MIT

Similar boards

  • 4 layers128.5 × 40 mmScalenode cm4-baseboard, the printed circuit board in 3D

    Scalenode cm4-baseboard

    antmicro/scalenode-cm4-baseboard

    Baseboard for Raspberry Pi 4 Compute Module optimized for clustering

    146 parts152Apache-2.0
  • 4 layers172.7 × 135.9 mmJJ65c02, the printed circuit board in 3D

    JJ65c02

    jimjag/JJ6502

    My 6502 Based Breadboard Project

    53 parts26MIT
  • 4 layers150 × 50 mmQI Charger, the printed circuit board in 3D

    QI Charger

    drewsum/QI_Charger

    A DIY QI Wireless Phone Charger

    322 parts20
  • 8 layers100 × 100 mmThermal Camera, the printed circuit board in 3D

    Thermal Camera

    drewsum/Thermal_Camera

    DIY Thermal Camera

    559 parts19
  • 8 layers126 × 117 mmDemo board, the printed circuit board in 3D

    Demo board

    azonenberg/electronics-training

    Training materials for classes etc

    311 parts15
  • 2 layers24 × 18 mmUsb2serial autovtg, the printed circuit board in 3D

    Usb2serial autovtg

    znuh/usb2serial-autovtg

    USB to serial converter with automatic target voltage detection, buffered IOs, 1.8V to 5V support and backflow current protection

    38 parts9CC-BY-SA-4.0
  • 2 layersController, the printed circuit board in 3D

    Controller

    alvarop/ostur

    This is a work in progress for a cheese cave controller system. The goal is to be able to control a mini fridge to get the right conditions for cheesemaking.

    89 parts8MIT

Questions

How big is the B ART typeU PCB?

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

What parts does the B ART typeU use?

22 parts, built around the FT234XD-R and BLM18P. 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 B ART typeU KiCad files?

From the idt12312/B-ART repository on GitHub, at the commit this page was made from: the board is pcb/typeU/B-ART_typeU.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the B ART typeU design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).