Skip to the content
PCBKitNew board
2 layers13.9 × 23.1 mmMT6701 ENCODER, the printed circuit board in 3D

A control theory and software development repo for a balancing robot.

Size
13.9 × 23.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
7
Nets
8
Pads
21
Tracks, vias
41, 7
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
3 Aug 2025
Updated
24 Jun 2026

Overview

MT6701 ENCODER is an open-source printed circuit board by owhite, from the owhite/balancing-robot-notes repository on GitHub, published under the MIT licence. It is a 2-layer board of 13.9 × 23.1 mm with 7 parts on 8 nets, routed with 41 tracks and 7 vias.

It is built around the MT6701CT-STD. Its parts include 1 capacitor, 1 IC and 1 connector. It belongs with the robots and motor control boards of this library.

Main components

1

README

PCBs/brainboardV1.4/README.md

MESC BRAIN BOARD

A PCB and software development project for a balancing robot.

The goal is to use a hobby Electronic Speed Controller (one open source example, and this circuit for a brain board, a teensy 4.0, and an ESP-32, in combination with MESC firmware.

GENERAL APPROACH

A separation of concerns is divided across these architectures:

  • Teensy: Runs the high-level brain → gait generator, balance estimator, RC inputs
  • MESC: The firmware on the ESC for control → torque or velocity loops per joint
  • ESP32: Easy to log and analyze later → pumps UDP to the computer
  • Desktop computer → perfectly adequate way of viewing high speed data with UDP

TEENSY 4.0

  • 600+ MHz ARM Cortex-M7 — plenty of headroom for filtering, control loops, gait logic, telemetry
  • Tons of I/O for IMU, encoders, RC input, WiFi (via ESP add-on), etc.
  • Precise timing with elapsedMicros or interrupts for deterministic control
  • Great for real-time control, sensor fusion, and behavior modeling

MESC MOTOR CONTROLLER

  • Deploys on simple DIY or commercially available ESC boards
  • Executes low-level Field-Oriented Control (FOC) motor control
  • Built-in support for encoders, FOC, and torque estimation
  • Accurate low-level motor control using current sensing
  • Reads angular position from the MT6701 encoder via SPI or PWM
  • UART/CAN interface (RX + TX) Real-time communication with the Teensy
  • PWM / FOC commutation w/ efficient, smooth motor operation

OTHER BRAIN BOARD FEATURES

  • RC receiver connector (for PWM/PPM/SBUS input)
  • ESP32 UART serial programmer
  • Power input connector
  • Voltage divider (to monitor battery voltage)
  • Push-button E-stop connector
  • Power button (for system on/off)
  • IMU connector (e.g., MPU-6050)
  • Buzzer (for system alerts or E-stop signal)
  • MESC I/O
  • Reserved 2 GPIO pins on Teensy for emergency shutoff to MESC
  • CAN connector (for MESC motor control)

CAN BUS

  • Full-duplex communication between Teensy and motor controllers
  • Carries:
    • Commands: set_torque, set_velocity, enable_motor, zero_encoder, etc.
    • Telemetry: encoder position, estimated torque, velocity, fault codes
  • Real-time performance with minimal latency
  • Can support multiple motor controllers on the same bus

MANY THANKS

This project would never happen without:

NOTES

Ever wanted to change all the names of kicad files at once?

use this:

text
python3 replace_kicad_names.py VESC_brain_board MESC_brain_board

[LINK]

STILL NEEDS WORK

  • Not great design w/ DC-DC conversion from high voltage VBat
  • Replace out the IMU for a ICM-42688-P
  • Order / revise pushbuttons for programming the ESP32
  • Ensure 3.3V CAN transciever

VERSIONS

  • See github tag pcb-v1 for V1.0
  • Retreive with this command: "git checkout pcb-v1"

Parts

7
QtyValueFootprintReferences
2,
1C_SmallCapacitor_SMD:C_0603_1608MetricC1
1Conn_01x05Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ5
1MT6701CTPackage_SO:SO-8_3.9x4.9mm_P1.27mmU1
1SMFJ6.0A / SMFJ6.0CACapacitor_SMD:C_0805_2012MetricTVS1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1

Questions

How big is the MT6701 ENCODER PCB?

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

What parts does the MT6701 ENCODER use?

7 parts, built around the MT6701CT-STD. 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 MT6701 ENCODER KiCad files?

From the owhite/balancing-robot-notes repository on GitHub, at the commit this page was made from: the board is PCBs/MT6701_12mm/MT6701_ENCODER.kicad_pcb and its schematic PCBs/ESC_caddyV1.0/ESC_caddyV1.0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MT6701 ENCODER 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).

More from owhite/balancing-robot-notes

7
  • 4 layers84.5 × 64 mmMESC brain board, the printed circuit board in 3D

    MESC brain board

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    59 partsMIT
  • 4 layers90.5 × 68.6 mmMESC brain board, the printed circuit board in 3D

    MESC brain board

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    55 partsMIT
  • 4 layers84.5 × 64 mmMESC brain board, the printed circuit board in 3D

    MESC brain board

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    53 partsMIT
  • 4 layers84.5 × 64 mmMESC brain board, the printed circuit board in 3D

    MESC brain board

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    45 partsMIT
  • 2 layers59.1 × 59.1 mmESC caddyV1.0, the printed circuit board in 3D

    ESC caddyV1.0

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    26 partsMIT
  • 2 layers49.7 × 38 mmMoteus adaptor, the printed circuit board in 3D

    Moteus adaptor

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    14 partsMIT
  • 4 layers38.4 × 30 mmMT6701 ENCODER, the printed circuit board in 3D

    MT6701 ENCODER

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    11 partsMIT

Similar boards

  • 4 layers81.2 × 81.2 mmView base, the printed circuit board in 3D

    View base

    SeedLabs-it/smartknob-hardware

    PCB and CAD files for smartknob devkit

    259 parts47
  • 2 layers32 × 20 mmGd32 encoder, the printed circuit board in 3D

    Gd32 encoder

    avenhaus/SO-ARM100-Encoders

    It explores to use much cheaper magnetic encoders for the Leader Arm instead of the regular servos. These dummy servos are also much easier to move manually, as there is no gear train that needs to back drive the servo…

    26 parts45
  • 4 layers46.3 × 37.7 mmInterface, the printed circuit board in 3D

    Interface

    earlynerd/bl4818-servo-M23

    This repository contains the electronics, embedded firmware, host software, and browser players for a network of brushless servo percussion actuators.

    20 parts3
  • 2 layers60 × 50 mmMini pd psu, the printed circuit board in 3D

    Mini pd psu

    ManhTi3012/mini-pd-psu

    A portable power supply with PD3.0

    70 parts2MIT
  • 4 layers92.5 × 85 mmELEC3300 DEMO, the printed circuit board in 3D

    ELEC3300 DEMO

    coopjz/FOC_Control_Boards

    166 parts1MIT
  • 2 layers50 × 50 mmTriad Actuator L, the printed circuit board in 3D

    Triad Actuator L

    kennethsauers/Triad-Actuator-L

    41 parts1MIT
  • 2 layers42 × 42 mmNEMA17 FOC Driver, the printed circuit board in 3D

    NEMA17 FOC Driver

    maxmunzner/NEMA17_FOC_Driver

    A Stepper Driver project with a PCB that acts as the driver and encoder.

    37 parts1MIT