

Micon board
主なファイル: - Anglemodeflightcontrollerver3/ - メインのフライトコントローラー - motorcalibrationesp32/ - モーターキャリブレーション - recieverpwmesp32/ - 受信機テスト - measureanglesfrommpu/ - IMU角度測定 - Voltagemeasurementesp32/ - バッテリー電圧測定 -…
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 9
- Nets
- 4
- Pads
- 14
- Tracks, vias
- 0, 0
- Routed
- Not yet
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 14 Dec 2024
- Updated
- 18 May 2026
Overview
Micon board is an open-source printed circuit board by dev-toraiz, from the dev-toraiz/halo-data repository on GitHub. It is a 2-layer board with 9 parts on 4 nets.
Its parts include 1 resistor, 1 diode, 1 connector and 1 switch.
README
README.mdHalo Drone - ESP32 Flight Controller Project
ESP32ベースのクアッドコプター用フライトコントローラープロジェクト
プロジェクト構成
halo-data/
├── halo-flight-controller/ # メインのフライトコントローラー
├── archives/ # 過去のバージョン・参考実装
├── test-tools/ # ハードウェアテストツール
├── development/ # 開発環境・実験コード
└── docs/ # ドキュメント・回路図メインフライトコントローラー
halo-flight-controller/
現在の最新実装。以下の2つのバージョンがあります:
h.ino
- IMU: MPU6050(ライブラリ使用)
- 姿勢推定: Madgwickフィルター(6DOF)
- 受信機: PPM(6チャネル)
- モーターピン: 16, 17, 18, 19
- PWM方式: ledcAttach(ESP32 Arduino Core 3.x対応)
- PID制御: 角度モード(2段階PID)
- Angle PID: Roll/Pitch (P=6.06, I=0, D=0.83)
- Yaw: レートモード (P=0, I=0, D=0)
- 特徴: モーター個別オフセット、フレームレート計測
halo_contoroller_241201.ino
- ESCキャリブレーション機能付き
- その他の仕様は h.ino と同じ
主な機能
- MPU6050によるIMU読み取り
- Madgwickフィルタによる姿勢推定
- PPM受信機からの制御信号受信
- PID制御によるクアッドコプター安定化
- 4モーター独立制御
アーカイブ
archives/
ESP32-Flight-controller-main/
オリジナルの実装。Kalmanフィルター使用、8チャネルPPM対応。
主なファイル:
Anglemode_flightcontroller_ver3/- メインのフライトコントローラーmotor_calibration_esp32/- モーターキャリブレーションreciever_pwm_esp32/- 受信機テストmeasure_angles_from_mpu/- IMU角度測定Voltage_measurement_esp32/- バッテリー電圧測定anglemode_flightcontroller_ver3_PID_values_tuning_webserver/- Webサーバー経由PIDチューニング
halo_contoroller/
旧バージョンの実装
esp-drone-master/
Espressif公式のドローン参考実装
テストツール
test-tools/
ハードウェアの動作確認用ツール:
- ESC_Checker/ - ESC(モータードライバー)チェック
- L293D_Checker/ - L293Dモータードライバーチェック
- MPU6050_Checker/ - MPU6050 IMUセンサーチェック
- PPM_Checker/ - PPM受信機チェック
- ppm_receiver/ - PPM受信機テスト
開発環境
development/
開発関連ファイル:
- PlatFormIO/ - PlatformIO プロジェクト
- ArduinoIDE/ - Arduino IDE プロジェクト
- Python/ - Pythonスクリプト
- MINI-python/ - 小規模Pythonツール
- filters/ - フィルター実験コード
- controller/ - コントローラー関連
- h/ - h.inoのオリジナルディレクトリ
- halo_contoroller_241201/ - 最新版のオリジナルディレクトリ
ドキュメント
docs/
- Circuit/ - 回路図・基板設計
micon_board/- マイコンボード設計
- その他関連データ/ - その他のドキュメント
ハードウェア仕様
主要コンポーネント
- マイコン: ESP32
- IMU: MPU6050(加速度計 + ジャイロ)
- モーター: 4基(ブラシレスモーター)
- ESC: 各モーター用に1基ずつ
- 受信機: PPM方式(6チャネル)
ピン配置(halo-flight-controller)
- PPM入力: GPIO 4
- モーター1: GPIO 16 (Front Left)
- モーター2: GPIO 17 (Front Right)
- モーター3: GPIO 18 (Back Right)
- モーター4: GPIO 19 (Back Left)
- I2C (MPU6050): SDA/SCL(デフォルト)
モーター配置(X型クアッド)
Front
M1 M2
\ X /
/ X \
M4 M3
Rearセットアップ
必要なライブラリ
- Wire (標準)
- MadgwickAHRS
- MPU6050
- Arduino (ESP32 Core)
初回セットアップ
- ESP32ボードを水平な場所に設置
- コードをアップロード
- キャリブレーション待機(約10秒)
- LED点滅後、飛行準備完了
ESCキャリブレーション(必要に応じて)
halo_contoroller_241201.inoのcalibrateESCs()関数を有効化してアップロード
PIDチューニング
現在の設定値
- Angle PID (Roll/Pitch)
- P: 6.06
- I: 0.00
- D: 0.83
- Angle Limits
- Max Roll: 18度
- Max Pitch: 18度
- Max Yaw Rate: 10度/秒
チューニング方法
- コード内のPIDパラメータを調整
- 再アップロード
- または、WebサーバーPIDチューニング版を使用(archives/ESP32-Flight-controller-main/参照)
安全上の注意
- 初回テストは必ず屋外で実施
- プロペラの回転方向を回路図通りに確認
- モーター回転方向をメインコードアップロード前に確認
- バッテリー電圧を定期的にチェック
- テスト時はプロペラガードの使用を推奨
トラブルシューティング
MPU6050接続失敗
- I2C配線を確認
- MPU6050の電源供給を確認
- I2Cプルアップ抵抗(4.7kΩ)の確認
モーターが回転しない
- ESCキャリブレーションを実行
- モーターピン配線を確認
- スロットル最小値以上であることを確認
機体が不安定
- PIDパラメータを調整
- センサーキャリブレーションをやり直す
- モーターバランスを確認
ライセンス
各サブプロジェクトのライセンスに従います。
参考リンク
- ESP32 Flight Controller YouTube: https://youtu.be/BcPTe-hTJGc
- Tutorial Video: https://www.youtube.com/watch?v=TmAVuMhu9no
Parts
9| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 1 | Buzzer | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | BZ1 |
| 1 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1 |
| 1 | LED | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | D1 |
| 1 | R | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | R1 |
| 1 | SW_DPST_x2 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | SW1 |
Questions
What parts does the Micon board use?
9 parts. 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 Micon board KiCad files?
From the dev-toraiz/halo-data repository on GitHub, at the commit this page was made from: the board is docs/Circuit/micon_board/micon_board.kicad_pcb and its schematic docs/Circuit/micon_board/micon_board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Micon board design in my own project?
Its repository states no licence, so its author keeps all rights: ask dev-toraiz before reusing the design.
Similar boards
- 2 layers103 × 30.5 mm

- 2 layers31.8 × 47.6 mm

- 2 layers24 × 27.3 mm

Expansion Card Retrofit
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
9 parts1.1kCC-BY-4.0 - 2 layers15.6 × 17.3 mm

SKR Mini TFT Thermistor Board
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
9 parts1.1kGPL-3.0 - 2 layers39.1 × 49.5 mm

Learnoliver
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
9 parts915 - 2 layers17.4 × 16.9 mm

- 2 layers9.8 × 108 mm

- 2 layers

Keyboard after
adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing
9 parts547GPL-3.0