
Robot PCB
Mario-dango/Proyecto-RV
Dispositivos de Entrada: Joystick analógico (2 GDL) para tracción, pulsadores de acción y MPU6050 (Acelerómetro/Giroscopio) para seguimiento de gestos de inclinación.

Dispositivos de Entrada: Joystick analógico (2 GDL) para tracción, pulsadores de acción y MPU6050 (Acelerómetro/Giroscopio) para seguimiento de gestos de inclinación.
Control PCB is an open-source printed circuit board by Mario-dango, from the Mario-dango/Proyecto-RV repository on GitHub. It is a 2-layer board of 67.6 × 46.8 mm with 30 parts on 23 nets, routed with 179 tracks and 4 vias.
It is built around the AMS1117-3.3 and BC548. Its parts include 9 resistors, 7 connectors, 3 capacitors, 3 ICs and 2 diodes. It belongs with the ESP32 and RISC-V boards of this library.
Asignatura: Realidad Virtual Carrera: Ingeniería en Mecatrónica Alumno: Mario Papetti - 11807
El presente proyecto propone el diseño y desarrollo de un Sistema de Realidad Mixta basado en el concepto de "Gemelo Digital". El sistema consta de una Interfaz Hombre-Máquina (IHM) inmersiva desarrollada en hardware, que permite a un usuario teleoperar una plataforma robótica móvil (tanque) en el mundo físico. Simultáneamente, el estado, posición y entorno del robot se replican y extienden en un entorno tridimensional virtual interactivo.
El desarrollo aborda de manera integral los requisitos estipulados en la rúbrica del Trabajo Práctico Integrador:
Desarrollo de Hardware IHM: Se diseña y adapta un mando de control físico específico (no ofimático), incorporando sensores inerciales de seguimiento (tracking) y actuadores hápticos.
Desarrollo de Software: Se implementa un motor gráfico (Godot Engine) manejando primitivas gráficas 3D, iluminación y físicas de colisión.
Interacción Bidireccional: El hardware IHM controla el entorno virtual y el robot físico; a su vez, los eventos del entorno virtual y físico generan respuestas en la IHM (vibración, indicadores visuales).
Múltiples Escenarios: Se proponen dos escenarios lógicos de interacción diferenciados dentro del entorno virtual.
El proyecto se divide en tres nodos principales comunicados en tiempo real mediante protocolo UDP sobre una red Wi-Fi local:
Controlador: Microcontrolador ESP32-C3.
Dispositivos de Entrada: Joystick analógico (2 GDL) para tracción, pulsadores de acción y MPU6050 (Acelerómetro/Giroscopio) para seguimiento de gestos de inclinación.
Dispositivos de Salida (Feedback): Motor de vibración (realimentación háptica) e indicadores visuales de estado (conexión/batería).
Alimentación: Batería de litio gestionada por módulo TP4056 con protección integrada.
Controlador: Microcontrolador ESP32-S3.
Tracción: Chasis tipo tanque con control diferencial de motores de CC.
Percepción del Entorno: Array de 3 sensores ultrasónicos fijos (frontal, izquierdo, derecho) para detección de obstáculos.
Actuadores de Inmersión: Micro servo con emisor láser (simulación de herramienta/cañón), Buzzer pasivo (sonido espacial primario) y Display OLED I2C para telemetría local.
Motor: Godot Engine 4.x (GDScript).
Lógica: Renderizado del modelo 3D del robot, cálculo de físicas, interpretación de telemetría UDP y gestión de la interfaz gráfica de usuario (GUI).
El software presentará dos niveles o escenarios de uso que modifican la forma en la que el usuario interactúa con la realidad mixta:
El usuario maneja el tanque físico observando únicamente el entorno 3D en la pantalla (Teleoperación). Las lecturas de los 3 sensores ultrasónicos físicos se renderizan como campos de fuerza o escudos alrededor del modelo 3D. Si el robot físico se acerca peligrosamente a un obstáculo real, el motor gráfico detecta la proximidad, cambia el color del escudo virtual a rojo, emite una alarma sonora (en el robot) y envía un comando al mando IHM para generar una advertencia háptica (vibración).
Se añade un plano con colisiones y "dianas" u objetivos virtuales en el entorno 3D. Al presionar el gatillo en el mando físico, el tanque real acciona el servo con el láser (acción física), mientras que en el motor virtual se proyecta un Raycast (acción virtual). Si el rayo virtual impacta una diana, el motor gráfico actualiza el puntaje, hace parpadear los LEDs/Display físicos del tanque y genera un pulso háptico de confirmación en el mando del usuario.
Fase 1: Ensamblaje, ruteo de PCBs y programación de bajo nivel de los nodos ESP32 (IHM y Tanque).
Fase 2: Programación de la capa de red (UDP) y diseño de l entorno 3D (primitivas y físicas) en Godot.
Fase 3: Integración de sistemas, diseño de los 2 escenarios lógicos y depuración de latencias.
Fase 4: Elaboración de la documentación técnica ("manual paso a paso") y grabación del video demostrativo de 5-7 minutos.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2, R3, R5, R6, R7, R8 |
| 4 | M3_Hole_With_Spacer_H10mm | MountingHole:MountingHole_3mm_Pad_Via | H1, H2, H3, H4 |
| 2 | 10uf | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C1, C3 |
| 2 | 1N4007 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1, D2 |
| 2 | 4k7 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4, R9 |
| 2 | BC548 | Package_TO_SOT_THT:TO-92_HandSolder | Q1, Q2 |
| 1 | 103 | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C2 |
| 1 | 5v | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J7 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | Alimentación | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal | J2 |
| 1 | AnalogXY | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5 |
| 1 | Botones | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J1 |
| 1 | ESP32-C3_SUPERMINI_TH | ESP32-C3_SUPERMINI_TH:MODULE_ESP32-C3_SUPERMINI_TH | U2 |
| 1 | LCD OLED | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | buzzer | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | module_mpu6050 | usini_sensors:module_mpu6050 | U3 |
| 1 | motoVibrador | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J4 |

Mario-dango/Proyecto-RV
Dispositivos de Entrada: Joystick analógico (2 GDL) para tracción, pulsadores de acción y MPU6050 (Acelerómetro/Giroscopio) para seguimiento de gestos de inclinación.

Sakib-Ansari/Linear_Programmable_Power_Supply
This repository contains the complete KiCad project for a multi-board linear programmable bench power supply. The design is organized into separate PCBs, including the Power Board, Control Board, Front Panel, Output…


ExploreEmbedded/8051_DevelopmentBoard
Design files and sample code for 8051 development Ultra Boards



DarcyJProjects/touchtone555
An open-source DIY, NE555-based analogue synthesizer - play notes with a stylus


clemarfolly/Microdigital-TK2000
Reprodução da PCB do TK-2000 da Microdigital, clone do Micro-Professor MPF-II
It measures 67.6 × 46.8 mm and has 2 copper layers, 1.6 mm thick.
30 parts, built around the AMS1117-3.3 and BC548. 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 Mario-dango/Proyecto-RV repository on GitHub, at the commit this page was made from: the board is Control/Control-PCB/Control-PCB.kicad_pcb and its schematic Control/Control-PCB/Control-PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Mario-dango before reusing the design.