

UMOUSE-85 placement
MOUSITO: micromouse ATtiny85. Documentación, electrónica y mecánica. Antes MICROTINY-85.
- Size
- 46 × 50 mm
- Copper layers
- 2
- Thickness
- 1 mm
- Parts
- 32
- Nets
- 17
- Pads
- 83
- Tracks, vias
- 176, 29
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 22 Sep 2026
- Updated
- 22 Sep 2026
Overview
UMOUSE-85 placement is an open-source printed circuit board by teamatomicbee, from the teamatomicbee/MOUSITO repository on GitHub. It is a 2-layer board of 46 × 50 mm with 32 parts on 17 nets, routed with 176 tracks and 29 vias.
It is built around the ATTINY85-20SU, AO4806 and MCP1700-3302E/TT. Its parts include 10 resistors, 6 capacitors, 5 diodes, 3 ICs and 3 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
3ATTINY85-20SU
SOIC-8-208mil-40℃~+85℃ 10bit 2.7V~5.5V 20MHz 512Byte 512Byte 6 8 Bit 8KB AVR Built-in FLASH SOIC-8-208mil Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)AO4806
SOIC-8SOIC-8 MOSFETs ROHSTECH PUBLICMOSFETsMCP1700-3302E/TT
SOT-23-40℃~+125℃@(Tj) 1 1.6uA 178mV@(250mA) 250mA 3.3V 44dB@(100Hz) 6V Fixed Over Temperature Protection、Short Circuit Protection Positive SOT-23 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSMicrochip TechnologyVoltage Regulators - Linear, Low Drop Out (LDO) Regulators
README
historico/README.mdMICROTINY-85 / µMOUSE-85
Micromouse minimalista basado en ATtiny85, con 2 motores N20, 2 micro-ESC bidireccionales y 3 sensores IR analógicos formados por SFH4550 + fototransistor.


1. Objetivo
El proyecto busca un micromouse compacto con muy poco hardware: ATtiny85, tres sensores IR, dos motores y control bidireccional. El prototipo actual incorpora arranque tapando el sensor frontal, corrección lateral y giros sobre el eje.
2. Arquitectura
flowchart LR
BAT[Batería] --> REG[Regulación]
REG --> MCU[ATtiny85]
REG --> S[3 sensores IR]
REG --> E1[ESC izquierdo]
REG --> E2[ESC derecho]
MCU -->|PB1| E1
MCU -->|PB0| E2
MCU <-->|PB2 / ADC1| L[IR izquierdo]
MCU <-->|PB3 / ADC3| F[IR frontal]
MCU <-->|PB4 / ADC2| R[IR derecho]
E1 --> M1[N20 izquierdo]
E2 --> M2[N20 derecho]Mapeo confirmado: PB1 = motor izquierdo, PB0 = motor derecho.
3. Materiales
| Cant. | Componente | Nota |
|---|---|---|
| 1 | ATtiny85 | DIP-8 prototipo / SOIC-8 PCB final |
| 2 | Motor N20 | Tracción |
| 2 | Micro-ESC bidireccional | Para motor DC brushed |
| 3 | SFH4550 | Emisor IR |
| 3 | Fototransistor IR | Receptor analógico |
| 3 | 150 Ω | Serie con SFH4550 |
| 3 | 2.2 kΩ | Carga del fototransistor |
| 1 | 100 nF | Desacoplo ATtiny85 |
| 1 | 470–1000 µF | Reserva cerca de ESC |
| 2 | 100 nF | En bornes de los N20 |
| 1 | ISP 2x3 | Programación |
| 1 | AVRISP mkII | Programador |
| 1 | Batería + regulación | Según montaje |
4. Pinout ATtiny85
| Pin físico | Puerto | Uso |
|---|---|---|
| 1 | PB5 / RESET | RESET / ISP |
| 2 | PB3 / ADC3 | IR frontal |
| 3 | PB4 / ADC2 | IR derecho |
| 4 | GND | Masa |
| 5 | PB0 / MOSI | ESC / motor derecho |
| 6 | PB1 / MISO | ESC / motor izquierdo |
| 7 | PB2 / SCK / ADC1 | IR izquierdo |
| 8 | VCC | +5 V |
ISP 2x3
| Señal | ATtiny85 |
|---|---|
| MISO | PB1 / pin 6 |
| VCC | pin 8 |
| SCK | PB2 / pin 7 |
| MOSI | PB0 / pin 5 |
| RESET | PB5 / pin 1 |
| GND | pin 4 |
PB0, PB1 y PB2 comparten funciones con el robot. Durante programación conviene dejar la potencia de los motores en neutro o desconectada.
5. Montaje mecánico
- Montar los N20 simétricos y comprobar que las ruedas queden paralelas.
- Colocar la PCB con el morro redondeado hacia delante.
- Centrar la batería para evitar desequilibrio entre lados.
- Mantener libre el acceso al conector ISP.
- Comprobar que nada roce con el suelo.
El firmware actual usa:
#define ESC_IZQ 1 // PB1
#define ESC_DER 0 // PB06. Sensores IR
Cada canal usa un SFH4550 y un fototransistor.
Emisor
+5 V
|
150 Ω
|
SFH4550
|
GNDReceptor
+5 V
|
C
Fototransistor
E
|
+------> ADC ATtiny85
|
2.2 kΩ
|
GNDComprobar siempre colector y emisor. Durante el desarrollo un montaje invertido produjo lecturas erráticas.
Orientación:
- izquierdo hacia la pared izquierda;
- frontal hacia delante;
- derecho hacia la pared derecha.
El SFH4550 tiene haz estrecho: antes de fijar los sensores, mover emisor/receptor hasta encontrar la lectura ADC más alta y estable.
7. Calibración actual con SFH4550
| Situación | Izquierdo | Frontal | Derecho |
|---|---|---|---|
| Sin pared | 48 | 40 | 87 |
| Centrado en pasillo | 368 | 66 | 588 |
| Pared lateral a 2 cm | 636 | — | 893 |
| Pared lateral a 1 cm | 871 | — | 921 |
| Pared frontal a 4 cm | — | 912 | — |
| Pared frontal a 2 cm | — | 949 | — |
| Pared frontal a 1 cm | — | 939 | — |
Referencias actuales:
const int CENTRO_IZQ = 368;
const int CENTRO_DER = 588;Recalibrar si cambia la geometría, el sensor, las resistencias, la tensión o la PCB.
8. Micro-ESC y motores
La entrada de cada ESC usa una señal tipo RC:
~1500 µs = neutro
>1500 µs = un sentido
<1500 µs = sentido contrarioEsto permite:
GIRO DERECHA:
izquierdo -> adelante
derecho -> atrás
GIRO IZQUIERDA:
izquierdo -> atrás
derecho -> adelante9. Alimentación
Todos los módulos comparten masa.
BATERÍA
|
+----> regulación lógica/sensores
|
+----> alimentación ESC
|
+--> N20 izquierdo
+--> N20 derechoRecomendado:
- 100 nF junto al ATtiny85;
- 470–1000 µF cerca de las ESC;
- 100 nF directamente entre bornes de cada N20;
- separar retornos de motor de las entradas ADC;
- no superar la tensión nominal de las ESC.
10. Programación
Configuración utilizada:
- Arduino IDE 2.x;
- ATTinyCore;
- ATtiny85;
- reloj interno a 8 MHz;
- AVRISP mkII;
- sin bootloader.
Procedimiento:
ATtiny25/45/85 (No bootloader).- Chip:
ATtiny85. - Clock:
8 MHz internal. - Programmer:
AVRISP mkII. - Ejecutar Burn Bootloader una vez para configurar fuses.
- Cargar con Upload Using Programmer.
Firma correcta:
0x1e930b11. Puesta en marcha
- Levantar las ruedas.
- Alimentar el robot.
- Verificar neutro de ambas ESC.
- Probar motor izquierdo y derecho.
- Probar avance y retroceso.
- Probar pivote a ambos lados.
- Leer los tres sensores.
- Comprobar calibración con el robot centrado.
- Probar un pasillo recto.
- Probar una sola esquina.
- Solo después probar el laberinto completo.
12. Arranque por sensor frontal
- Encender el robot.
- Tapar el sensor frontal.
- Mantenerlo cubierto brevemente.
- Destaparlo.
- El firmware espera y comienza la marcha.
13. Parámetros de ajuste
VEL_BASE
VEL_GIRO
CORRECCION_MAX
CENTRO_IZQ
CENTRO_DER
KP_IZQ
KP_DER
IZQ_ON
DER_ON
FRONT_ON
GIRO_IZQ_90
GIRO_DER_90
GIRO_180Modificar un solo parámetro cada vez.
14. Problemas encontrados
Fototransistores invertidos
Provocaron lecturas anómalas. Verificar C/E.
Emisor IR derecho averiado
La lectura derecha quedó artificialmente baja. Se sustituyó antes de recalibrar.
Mapeo de motores invertido
El montaje real es:
PB1 -> izquierdo
PB0 -> derechoCon el orden contrario el robot corregía hacia la pared.
Giro abierto con MOSFET
Con un MOSFET por motor la rueda interior quedaba libre. La solución fue usar micro-ESC bidireccionales.
15. Estructura del repositorio
MICROTINY-85/
├── README.md
├── BOM.csv
├── assets/
│ ├── microtiny85_front.jpg
│ └── microtiny85_assembled.jpg
├── docs/
│ └── PINOUT.md
├── firmware/
├── hardware/
│ ├── kicad/
│ └── gerbers/
└── mechanical/
└── stl/16. Estado actual
- ATtiny85 programable por AVRISP mkII
- 8 MHz interno
- Tres sensores IR analógicos
- SFH4550
- Dos N20
- Micro-ESC bidireccionales
- Avance y retroceso
- Giro sobre el eje
- Arranque por sensor frontal
- Corrección básica de pasillo
- PCB definitiva
- Calibración final sobre PCB definitiva
- Optimización de velocidad
- Navegación avanzada / mapeo
MICROTINY-85 / µMOUSE-85 — micromouse minimalista con ATtiny85.
Parts
32| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 10k | Resistor_SMD:R_0603_1608Metric | R8, R9, R10 |
| 3 | 150R | Resistor_SMD:R_0603_1608Metric | R5, R6, R7 |
| 3 | 4.7nF DNP | Capacitor_SMD:C_0603_1608Metric | C4, C5, C6 |
| 2 | 100R | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | 100k | Resistor_SMD:R_0603_1608Metric | R3, R4 |
| 2 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C1, C2 |
| 2 | B5819W/SS14F | Diode_SMD:D_SOD-123 | D1, D2 |
| 2 | N20 1812 90deg | Custom:Motor_Wire_Pads_SMD | M1, M2 |
| 1 | 100nF | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | AO4806 | Custom:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | ATtiny85-20SU | Custom:SOIC-8_5.3x5.3mm_P1.27mm | U1 |
| 1 | AVR ISP POGO | Custom:AVR_ISP_POGO_2x3_P1.27mm | J2 |
| 1 | IR 940nm 5mm FRONT | LED_THT:LED_D5.0mm | D4 |
| 1 | IR 940nm 5mm LEFT | LED_THT:LED_D5.0mm | D3 |
| 1 | IR 940nm 5mm RIGHT | LED_THT:LED_D5.0mm | D5 |
| 1 | LiPo 1S JST-PH | Connector_JST:JST_PH_B2B-PH-SM4-TB_1x02-1MP_P2.00mm_Vertical | J1 |
| 1 | MCP1700-3302E/TT | Package_TO_SOT_SMD:SOT-23 | U3 |
| 1 | ON/OFF | Custom:SW_SPST_SMD_6.4x3.4mm | SW1 |
| 1 | Phototransistor IR 5mm FRONT | OptoDevice:PhotoTransistor_D5.0mm_P2.54mm | Q2 |
| 1 | Phototransistor IR 5mm LEFT | OptoDevice:PhotoTransistor_D5.0mm_P2.54mm | Q1 |
| 1 | Phototransistor IR 5mm RIGHT | OptoDevice:PhotoTransistor_D5.0mm_P2.54mm | Q3 |
Questions
How big is the UMOUSE-85 placement PCB?
It measures 46 × 50 mm and has 2 copper layers, 1 mm thick.
What parts does the UMOUSE-85 placement use?
32 parts, built around the ATTINY85-20SU, AO4806 and MCP1700-3302E/TT. 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 UMOUSE-85 placement KiCad files?
From the teamatomicbee/MOUSITO repository on GitHub, at the commit this page was made from: the board is historico/uMOUSE-85_placement.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the UMOUSE-85 placement design in my own project?
Its repository states no licence, so its author keeps all rights: ask teamatomicbee before reusing the design.
Similar boards
- 2 layers15 × 31 mm

- 2 layers73 × 94 mm

Sportiduino base
sportiduino/sportiduino
Electronic timing system for orienteering and similar outdoor sports events on Arduino
119 parts78GPL-3.0 - 2 layers50 × 75 mm

- 2 layers97.2 × 55.9 mm

Mjs pcb
meetjestad/mjs_pcb
This repository contains various versions of the sensor station PCB used by Meetjestad.
83 parts6 - 2 layers100 × 100 mm

- 4 layers70 × 40 mm

UHoubolt PCB ECU
SpaceTeam/uHoubolt_PCB_ECU
µHoubolt Engine Control Unit KiCad project
216 parts2CERN-OHL-W-2.0 - 2 layers37.8 × 50 mm

- 2 layers60 × 40 mm

Cargofy IoT Node
Afuu-coder/Cargofy
🚚 Cargofy — AI-Powered Cold Chain Intelligence Platform | Autonomous Rerouting Agent | Google ADK | ULIP Integration | FAR AWAY 2026 Hackathon
41 parts