
Micromouse
UBIEEE/FrankenMouse
FrankenMouse is a MicroMouse robot that was designed, built, and programmed from scratch by members of the University at Buffalo's IEEE Student Branch.

High-performance, open-source micromouse robot platform built for Robosam and MEB Robot (Ministry of National Education Robotics Competition, Turkey).
AratMicro is an open-source printed circuit board by vorlaxen-labs, from the vorlaxen-labs/AratMicro repository on GitHub, published under the MIT licence. It is a 4-layer board of 80 × 87.6 mm with 110 parts on 93 nets, routed with 101 tracks and 11 vias.
It is built around the STM32F411CEU6, AP63203WU and DRV8833PWP, with the QRE1113, LSM6DS3 and PCA9554PW among its other parts. Its parts include 35 resistors, 31 capacitors, 10 diodes, 7 ICs and 7 transistors. It belongs with the robots and motor control boards and the STM32 boards of this library.
High-performance, open-source micromouse robot platform built for Robosam and MEB Robot (Ministry of National Education Robotics Competition, Turkey).
AratMicro is a competition-focused maze-solving robot with a custom PCB, wall-detection sensors, dual-encoder drive, and STM32F411-based firmware. Hardware and software are developed together; all design files are shared in this repository.
This robot is designed to meet the maze-solving requirements of:
The mechanical dimensions, sensor layout, and control architecture are tuned for fast, reliable maze exploration and shortest-path solving under competition rules.
| Area | Detail |
|---|---|
| MCU | STM32F411CEU6 — Cortex-M4 @ 100 MHz, 512 KB Flash, 128 KB RAM |
| Motor driver | DRV8833 — dual-channel H-bridge |
| Wall sensors | 4× IR receivers + 4× IR LEDs (front left/right, left, right) |
| Maze solver | Flood fill (16×16 grid) |
| Position feedback | Left/right quadrature encoders (L_ENC_A/B, R_ENC_A/B) |
| I/O expansion | PCF8574AP — I2C GPIO expander |
| Power | 2S LiPo → AP63203WU buck (3.3 V logic), separate motor rail |
| Programming | ST-Link SWD (PA13/PA14), optional UART Bluetooth |
| Firmware | PlatformIO + Arduino framework, C++17 |
| Part | Size | Notes |
|---|---|---|
| Motor | 40 × 12 × 17 mm | 3 mm D-shaft |
| Wheel | 32 × 7 mm | 3 mm D-shaft |
Mechanical CAD files are not yet included. Dimensions were chosen to match the PCB and drivetrain layout.
AratMicro/
├── hardware/
│ └── pcb/ # KiCad 10 schematics and PCB (AratMicro.kicad_pro)
├── software/
│ ├── src/ # Firmware source code
│ ├── include/ # Public API headers
│ ├── lib/ # PlatformIO module libraries
│ ├── test/ # Host-side unit tests (Unity)
│ ├── docs/ # Architecture and hardware reference
│ └── platformio.ini
├── LICENSE
└── CONTRIBUTING.mdcd software
pio run -e aratmicro_f411
pio run -e aratmicro_f411 -t uploadAlgorithms and core logic can be tested on the host:
cd software
pio test -e nativeKiCad project: hardware/pcb/AratMicro.kicad_pro
Schematic sub-sheets:
| Sheet | File | Contents |
|---|---|---|
| Power Supply | power_supply.kicad_sch | 2S LiPo input, buck, protection |
| MCU | mcu.kicad_sch | STM32F411, clocks, SWD, I/O |
| Motor Controller | mc.kicad_sch | DRV8833 motor driver |
| Sensor Unit | su.kicad_sch | IR wall-detection circuit |
Full BOM and signal list: hardware/README.md
Firmware is organized in layers:
Details: software/docs/architecture.md
| Component | Status |
|---|---|
| PCB schematic | Active development |
| PCB layout | Active development |
| Firmware skeleton | Available |
| Motor driver code | Planned |
| Wall sensor code | Planned |
| Maze solver (flood fill) | Available (host-tested) |
| Mechanical CAD | Planned |
Contributions are welcome. Please read CONTRIBUTING.md.
This project is released under the MIT License — hardware and software may be used, modified, and shared freely.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 100nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C5, C9, C17, C21, C25, C26, C27, C28, C30, C33, C34, C35, C36 |
| 7 | 10K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R8, R17, R20, R29, R31, R34, R36 |
| 5 | 2.2K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7, R37, R38, R39, R40 |
| 5 | 4.7K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9, R41, R42, R43, R44 |
| 5 | LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D3, D4, D5, D6, D7 |
| 4 | 1K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R11, R12, R13, R14 |
| 4 | 22Ohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R21, R22, R23, R30 |
| 4 | SFH4545 | LED_THT:LED_D5.0mm_Horizontal_O1.27mm_Z15.0mm | D9, D10, D11, D12 |
| 4 | TEFT4300 | LED_THT:LED_D3.0mm_IRBlack | Q4, Q5, Q6, Q7 |
| 3 | 22uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C3, C7, C8 |
| 2 | 0.1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C24, C29 |
| 2 | 0.22Ohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R15, R16 |
| 2 | 100Ohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R26, R27 |
| 2 | 100Ohm | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R28, R35 |
| 2 | 15pF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C39, C40 |
| 2 | 22pF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C37, C38 |
| 2 | 4.7uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C10, C11 |
| 2 | Conn_01x06 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J3, J4 |
| 2 | QRE1113 | OptoDevice:OnSemi_CASE100AQ | U4, U5 |
| 2 | SI2302DS | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_B3U-3000P | SW4, SW5 |
| 1 | 0Ohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R6 |
| 1 | 100uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C4 |
| 1 | 10nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C22 |
| 1 | 10uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C2 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C32 |
| 1 | 1812L260/16 | Fuse:Fuse_1812_4532Metric | F1 |
| 1 | 1nF | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | C6 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C12 |
| 1 | 2.2Ohm | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R5 |
| 1 | 2.2uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C23 |
| 1 | 2S LiPo Connector | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | P1 |
| 1 | 3.9uH | Inductor_SMD:L_Sunlord_SWPA4030S | L1 |
| 1 | 32.768 kHz Crystal | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering | Y4 |
| 1 | 39K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3 |
| 1 | 8.2K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4 |
| 1 | 8MHz Crystal | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSoldering | Y3 |
| 1 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q3 |
| 1 | AP63203WU | Package_TO_SOT_SMD:TSOT-23-6 | U1 |
| 1 | Conn_01x05 | Connector_PinHeader_1.00mm:PinHeader_1x05_P1.00mm_Vertical | J1 |
| 1 | Conn_01x06 | Connector_PinHeader_1.00mm:PinHeader_1x06_P1.00mm_Vertical | J2 |
| 1 | DRV8833PWP | Package_SO:HTSSOP-16-1EP_4.4x5mm_P0.65mm_EP3.4x5mm_Mask2.46x2.31mm_ThermalVias | U3 |
| 1 | LSM6DS3 | Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y | U6 |
| 1 | PCA9554PW | PCA9554PW:SOP65P640X120-16N | U8 |
| 1 | SMAJ9.0A | Diode_SMD:D_SMA | D1 |
| 1 | STM32F411CEU6 | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U2 |
| 1 | SW_SPDT | Button_Switch_SMD:SW_SPDT_PCM12 | SW1 |
The 102 most common of 110 parts.

UBIEEE/FrankenMouse
FrankenMouse is a MicroMouse robot that was designed, built, and programmed from scratch by members of the University at Buffalo's IEEE Student Branch.


ChristopherAwomolo/Nova-Micromouse
Newer version based off the Futura Micromouse



Maahi-V/26-27-UCI-Kit-Micromouse
Kit Mouse Schematic and Layout for the 2026-27 Micromouse IEEE program

RoboJackets/roboracing-micromouse-pcb
This year, we are making Ratatouillii! 🐭🔥

It measures 80 × 87.6 mm and has 4 copper layers, 1.6 mm thick.
110 parts, built around the STM32F411CEU6, AP63203WU, DRV8833PWP and QRE1113. 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.
From the vorlaxen-labs/AratMicro repository on GitHub, at the commit this page was made from: the board is hardware/pcb/AratMicro.kicad_pcb and its schematic hardware/pcb/AratMicro.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
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).