

IVAN KICAD
Proyecto hecho por las siguientes personas: - Jose Esteban Lopez Montoya - Alejandro Rodriguez Cortès - Duberney Campo Tabares - Felipe Ramirez Satizabal
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 8
- Nets
- 4
- Pads
- 11
- Tracks, vias
- 6, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 22 Nov 2025
- Updated
- 22 Nov 2025
Overview
IVAN KICAD is an open-source printed circuit board by JL-esteban, from the JL-esteban/IVAN repository on GitHub. It is a 2-layer board with 8 parts on 4 nets, routed with 6 tracks and 0 vias.
README
README.mdProyecto hecho por las siguientes personas:
- Jose Esteban Lopez Montoya
- Alejandro Rodriguez Cortès
- Duberney Campo Tabares
- Felipe Ramirez Satizabal
En este github mostramos las conexiones, codigos tanto en arduino como en ros2, tambien simulación en RViz, que nos llevo a fformular este proyecto?, a quien no le gustaria controlar algo con solo el mover de sus manos?, que sea algo entretenido a la hora de sus terapias de recuperacion?, que las personas lo puedan usar tanto a la hora de su terapia como un juguete.
Así que comenzamos, tenemos de la siguiente fora su conexión y la cantidad de objetos,componentes,baterias y microchips que usamos.
Vamos a comenzar con el principal, la mano, la mano es aquella que va a ser de control con los movimientos de su muñeca, tu te preguntaras, como?, muy sencillo hay un modulo que se llama BMI160 el cual es un giroscopio y acelerometro, este modulo se programo para que soltara las coordenadas X Y, asi convertimos con el acelerometro que mande las posiciones como si fuera un mando, no sabes que hace un mando?, te lo explico:
El mando tiene una serie de nombres los cuales las computadoras detectan como por ejemplo cada palanca, movimiento o boton por un axis, en nuestro caso es un R3 de un mando (es la palanca de la izquierda) esta palanca tiene dos axis los cuales son axis0 y axis1, el axis0 son los movimientos de izquierda y derecha, el axis1 son los movimientos de arriba y abajo, estos sueltan unos numeros los cuales el computador traduce para generar un movimiento a un personaje.
Teniendo eso en mente se supo que con las coordenadas de la mano y su giro podiamos hacer un joystick, el que lee eso es un Arduino UNO, el cual obtiene los datos y se los manda a el computador.
Ahora el computador con los datos del BMI160 ya como un joystick mandara la señal atravez de wifi al microchip del semisumergible que esta en el agua para poder moverse.
Ahora te explicare que tiene el semisumergible, que los autores de este repositorio lo llamaron como IVAN,IVAN tiene un ESP32, el cual resive los datos del computador atravez del wifi que son las direcciones dadas por el joystick(BMI160), este ESP32 le mandara la señal a un puente h, el cual es un tb6612fng, y este segun las direcciones dadas comenzara a mandar el voltaje a las salidas de A0 y A1 que son las salidas del primer motor y B0 B1 que son las salidas del segundo motor, todos los gnds de esta mismas estan conectadas entre ellas, y asi este se desplazaria por el agua.
No nos olvidemos de lo mas importante ¿conque alimentamos a IVAN?, IVAN tiene dos tipos de alimentación interna, una que es solo para el ESP32 y el otro el cual es solo para los motores, para alimentar el ESP32 se utilizaron 3 paquetes de pilas AA y esta salida de voltaje que dan 9V entran a un regulador de voltaje creado (que aqui se pasara la kicad) para que asi entren 9V y salgan 5V un buen voltaje con un buen amperaje que salen de las pilas para mantener prendido el ESP32 por un largo rato aproximadamente 30-40min, el tb6612fng tiene dos pines uno llamado VCC y otro VM el VCC es aquel que resive entre 3.3V a 5V, los autores del proyecto alimentaron a 5V el tb6612fng y el VM a una bateria de 7.4V 1500mA
EL CODIGO, LO IMPORTANTE QUE NECESITAS SABER
el que se llama Codigo_BMI160 es aquel codigo que conectaras el BMI160 con el ARDUINO UNO, a continuaciòn te explico como conectarlo:
El BMI160 de la placa que yo te paso es realmente de 4 pines que es VCC,GND,SDA,SCL , esos se pondran de la siguiente forma con el ARDUINO UNO, y es: ESP32 |ARDUINO UNO VCC --------------->5V GND---------------->GND SCL----------------->A5 SDA----------------->A4
con esas conexiones y el codigo de arduino que se otorgo te debe comenzar a mostrar coordenadas en la terminal.
Luego las conexiones de el ESP32 son de la siguiente forma:
Tb6612fng | ESP32 AIN1 ----------------> 25; AIN2 ----------------> 26; PWMA ----------------> 27; BIN1 ----------------> 32; BIN2 ----------------> 33; PWMB ----------------> 14; STBY ----------------> 12;
lo que es VM y VCC fue explicado anteriormente, y los puntos A0.A1.B0.B1 son los puntos de los motores A y B, que tipo de motores usamos?, usamos motores Hélice submarina cepillada BM70.
una vez que has tenido esto vamos ha abrir el RVizte #iremos a la carpeta de ros2_ws cd ~/ros2_ws
#cada vez que hagas un cambio o abras por primera vez una terminal en ubuntu debes poner el siguiente com ando es ley
colcon build --packages-select robot_boat
#cargamos el entorno source install/setup.bash
#y ejecuta para verlo en rviz ros2 launch robot_boat display.launch.py
Ahora para cargar los codigos hay que hacerse de la siguiente manera Vas al archivo de "AVANCE2" que esta en el principio del GitHub y abres dos terminales y ejecutas los siguientes comandos
Terminal 1 - Lector BMI
source /opt/ros/humble/setup.bash python3 lector_bmi160.py --ros-args -p serial_port:=/dev/ttyUSB0
Terminal 2 - Control barco (después de que Terminal 1 funcione)
source /opt/ros/humble/setup.bash python3 bmi_to_boat_control.py --ros-args -p esp32_ip:=192.168.4.1
Parts
8| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | , , , , | ||
| 1 | 1N4004 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1 |
The 6 most common of 8 parts.
Questions
What parts does the IVAN KICAD use?
8 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 IVAN KICAD KiCad files?
From the JL-esteban/IVAN repository on GitHub, at the commit this page was made from: the board is IVAN/IVAN_KICAD/IVAN_KICAD.kicad_pcb and its schematic IVAN/IVAN_KICAD/IVAN_KICAD.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the IVAN KICAD design in my own project?
Its repository states no licence, so its author keeps all rights: ask JL-esteban before reusing the design.
Similar boards
- 2 layers20.5 × 24.8 mm

- 2 layers14.4 × 10.5 mm

OSO SWAB B1-00 Sensor Watch Accelerometer
joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch
8 parts2.1k - 2 layers7.9 × 39.1 mm

Brain board STM32F407 SD wing it
rusefi/rusefi
rusefi - GPL internal combustion engine control unit
8 parts1.2k - 2 layers59.9 × 25.7 mm

Buffer
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
8 parts1kGPL-3.0 - 2 layers52 × 12.6 mm

USB
shanteacontrols/OpenDeck
A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.
8 parts960Apache-2.0 - 2 layers87.5 × 48.5 mm

7 input macropad
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
8 parts915 - 2 layers36.2 × 63.1 mm

PicoMemcard pico
dangiu/PicoMemcard
Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico
8 parts694GPL-3.0 - 2 layers36 × 10 mm

PCB4-PWR BTN Rev.A
OLIMEX/DIY-LAPTOP
Do It Yourself Open Source Hardware and Software Modular Hacker's Friendly Laptop
8 parts578Apache-2.0