Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions _en/2026-07-06-pcb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
---
layout: post
title: 2027 Robot Main PCB Overview & Parts List
date: 2026-07-06 14:00:00 +00:00
tag: [robot, pcb, K10-K10's article]
author: "K10-K10"
thumbnail-img: "/assets/images/2026-07-06-schematic.jpg"
lang: "en"
---

Hello, this is K10-K10.
The main PCB for the 2027 season (Kanto region spec) is finally complete!

Once again, I manufacturing this board through JLCPCB.

# Schematic & Layout

![schematic image](/assets/images/2026-07-06-schematic.jpg)

![footprint image](/assets/images/2026-07-06-footprint.jpg)

The entire system is consolidated into a single main board.

For this iteration, I adopted a 4-layer structure, dedicating specific internal layers as full GND, 3.3V, and 6V planes.

In the previous year's model, only the motors were powered directly by the LiPo battery, while the rest of the circuits drew power from the ESP32 pins. In this new design, I integrated **dedicated 3.3V and 6V DC-DC converters** to supply stable power to both the sensors and motors directly from the LiPo battery, significantly improving power stability.

Due to the increased number of components compared to last year, the ESP32 GPIO pin assignment was cut extremely close.

# PCB Photos

![pcb surface](/assets/images/2026-07-06-f.jpg)
![pcb back](/assets/images/2026-07-06-b.jpg)

Since our robot design relies on a camera for line tracing, I needed to reserve a large open space in the center of the robot chassis. This required minimizing the PCB footprint as much as possible. To achieve this compact form factor, the buzzer and the motor URT interface board are strategically mounted on the back side of the PCB.

# Key Improvements from Last Year

Previously, I used ultrasonic sensors (one on the front-left and one on the front-right) for distance measurement. This year, I have upgraded to **ToF (Time-of-Flight) sensors**.

By placing two ToF sensors on each front corner (four in total for the front-sides), the robot can now handle the "Rescue Zone evacuation," which was a major hurdle last year.

Additionally, I've designed a bumper utilizing load cells, which should make obstacle avoidance much smoother.

I also added an onboard buzzer for debugging, which is going to drastically boost development efficiency.

# Parts List

The primary computing unit is a `Raspberry Pi 5`, while an `ESP32-DevKitC-32E` is onboard to handle low-level control for the motors and sensor array.

For the drivetrain, I am using four **Feetech STS3032** serial servos, as mentioned in [previous post](../2026-06-01-FEETECH/). Huge thanks to Feetech for their support!

The rescue arm mechanism is planned to use either an `SG90` or an `STS3032`.

Here are the main sensors and components populated on or connected to the board:

| Component / Sensor | Qty | Description / Use Case |
| --- | :---: | --- |
| **LTC3111** | 1 | Buck-boost DC-DC converter for the 6V rail. |
| **M78AR033-0.5** | 1 | 3.3V switching regulator (DC-DC converter). |
| **BNO055** | 1 | 9-axis IMU. Used for slope detection and attitude control. |
| **ToF VL53L0X** | 6 | Measures distance to walls (2 units each for front-left/right sides). |
| **Load Cell SC616C (1kg)** | 2 | Used for contact detection on the front bumper. |
| **HX711 AD Converter** | 2 | Amplifier module to read load cell values via ESP32. |
| **NJL7502L** | 2 | Phototransistor to detect successful victim rescue. |
| **FE-URT-1** | 1 | Interface board to control the STS3032 servos. |
| **PKM22EPPH4001-B0** | 1 | Onboard buzzer for debugging and status alerts. |

*Note: Resistors, decoupling capacitors, and connectors are placed appropriately throughout the circuit.*

# Known Issues & Workarounds

While testing the board, I discovered a couple of gremlins:

1. **Power Leakage via Switch**
Even when unplugging the programming cable from the ESP32, power leaks through the switch circuit, keeping it turned on. However, since I don't unplug the cable often during operation, and turning off the program requires hitting the switch anyway, this shouldn't be a major issue in practice.

2. **Faulty Photoreflector Circuit**
Due to a potential design oversight in the schematic, the photoreflectors (NJL7502L) intended for victim detection are not functioning correctly. To bypass this, I plan to offload the victim detection logic to the camera on the Raspberry Pi 5. Handling this via software should completely cover the required functionality.

3. **Physical Interference Between Switch and Cable**
The ESP32 communication cable physically interferes with the power switch when plugged in. Frustratingly, I made the exact same layout mistake in the previous iteration. Improving the orientation and placement of connectors and switches is definitely a top priority for my next hardware spin.

Fortunately, all other core sensors are working perfectly, which is a huge relief.

# Conclusion

The design files for this PCB (schematics, layouts, etc.) are open-source and available on GitHub. Feel free to check it out!

[techno-robocup/robocup2027-pcb-data](https://github.com/techno-robocup/robocup2027-pcb-data)

With far more sensors and features than last year, this is shaping up to be a highly capable robot.
Once the physical chassis is fully assembled, I'll dive straight into software development.

~Thank you for reading~
96 changes: 96 additions & 0 deletions _ja/2026-07-06-pcb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
layout: post
title: 2027年度基板の解説とパーツリスト
date: 2026-07-06 14:00:00 +00:00
tag: [robot, pcb, K10-K10's article]
author: "K10-K10"
thumbnail-img: "/assets/images/2026-07-06-schematic.jpg"
lang: "ja"
---

こんにちは、K10-K10です。
2027年度(関東用)のロボット用メイン基板が完成しました。

今回もJLCPCBに発注を行いました。

# 回路図

![schematic image](/assets/images/2026-07-06-schematic.jpg)

![footprint image](/assets/images/2026-07-06-footprint.jpg)

今回はメイン基板1枚の構成です。

今回の基板は4層構造を採用し、GND、3.3V、6Vはそれぞれプレーンで配置しています。

前年度はモーターの電源のみリポバッテリーを使用し、その他の回路はESP32のピンから電力を供給していました。しかし、今回の設計では3.3V用と6V用のDC-DCコンバータを搭載し、センサーとモーターの両方をリポバッテリーから安定して供給できるように電源系統を大幅に改善しました。

また、前回よりも部品数が多くなったため、ESP32のGPIOピンの数はギリギリの設計となりました。

# 基板写真

![pcb surface](/assets/images/2026-07-06-f.jpg)
![pcb back](/assets/images/2026-07-06-b.jpg)

今年度もライントレースをカメラで行う設計にしています。そのため、機体中央に大きな空間を残す必要があり、基板面積をなるべく削らなければなりませんでした。
この省スペース化を実現するため、基板の裏側にブザーとモーター用のURT基板を配置しています。

# 前回からの改善点

前回は超音波センサーを前左右に1つずつ配置して距離を取得していましたが、今年度はToFセンサーを採用しました。

さらに、ToFセンサーを前左右それぞれ2つずつ配置することで、前年度の課題であった、救助ゾーンからの脱出を確実に行えるようにしています。

また、新たに追加したロードセルを用いたバンパーにより、障害物回避がより容易に行えるようになる見込みです。

さらにデバッグ用のブザーも配置したため、今後の開発効率がぐっと上がると思います。

# パーツリスト

メインマイコンには `Raspberry Pi 5` を採用し、モーターやセンサーの足回り・制御用に `ESP32-DevKitC-32E` を基板上に配置しています。

駆動用のモーターは、[前回の記事](../2026-06-01-FEETECH/)でご紹介した通り、**Feetech STS3032** を4つ使用しています。Feetech様、サポートありがとうございます!

レスキュー機構のアーム部分には、`SG90` または `STS3032` を使用する予定です。

基板に搭載・接続する主なセンサーや部品類は以下の通りです。

| 部品名 / センサー名 | 個数 | 用途・説明 |
| --- | :---: | --- |
| **LTC3111** | 1 | 6V用のDCDCコンバーター(昇降圧)です。 |
| **M78AR033-0.5** | 1 | 3.3V用のDCDCコンバーターです。 |
| **BNO055** | 1 | 9軸ジャイロセンサー。坂道の傾き検知や姿勢制御に使用します。 |
| **ToF VL53L0X** | 6 | 前方・左右の壁との距離を測定します(前左右に各2個配置)。 |
| **ロードセル SC616C (1kg)** | 2 | 前方バンパーの接触検知に使用します。 |
| **HX711搭載 ADコンバーター** | 2 | ロードセルの値をESP32で読み取るためのモジュールです。 |
| **NJL7502L** | 2 | 被災者の救助が成功したかを判定する光センサーです。 |
| **FE-URT-1** | 1 | STS3032制御用のインターフェースボードです。 |
| **PKM22EPPH4001-B0** | 1 | デバッグや状態通知用のブザーです。 |

※その他、各種抵抗やコネクタ類は回路に合わせて適宜配置しています。

# 既存の問題点とリカバリー策

現状、いくつかの問題も見つかっています。

1. **スイッチからの回り込み(漏電)**
ESP32へのケーブルを抜いても、スイッチ側から回り込んで起動し続けてしまう現象が発生しています。ただ、ケーブルを抜く頻度が少ないことや、プログラムを停止する際はどのみちスイッチを押す必要があるため、運用上は大きな問題にはならないと踏んでいます。

2. **フォトリフレクタの不調**
回路設計の影響か、被災者救助を検知するフォトリフレクタ(NJL7502L)がうまく機能していません。しかし、こちらについては被災者救助の判定を「カメラ(Raspberry Pi 5)」側で行うようにソフトを組めば、当初やりたかった機能はカバーできるため、十分に対処可能です。

3. **スイッチとケーブルの物理的干渉**
ESP32の通信用ケーブルを挿すと、電源スイッチと物理的に干渉してしまいます。実は前回もまったく同様の配置ミスをしてしまっており、コネクタやスイッチの向き・配置については、次回の設計時に必ず改善しなければならない猛省ポイントです。

幸い、その他の主要なセンサーはすべて正常に動作しているため一安心です。

# 終わりに

今回の基板設計データ(回路図やレイアウトなど)は、GitHubにて公開しています。興味のある方はぜひご覧ください。

[techno-robocup/robocup2027-pcb-data](https://github.com/techno-robocup/robocup2027-pcb-data)

前年度よりもセンサー類が大幅に充実し、かなり多機能なロボットになりそうです。
機体のハードウェアが完成したら、いよいよ本格的なソフト開発に取り組もうと思います。

~Thank you for reading~
Binary file added assets/images/2026-07-06-b.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/2026-07-06-f.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/2026-07-06-footprint.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/2026-07-06-schematic.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading