Skip to the content
PCBKitNew board
2 layersIVAN KICAD, the printed circuit board in 3D

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.md

Proyecto 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

image image

Parts

8
QtyValueFootprintReferences
5, , , ,
11N4004Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1

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 mmPi interface, the printed circuit board in 3D

    Pi interface

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    8 parts3.7k
  • 2 layers59.9 × 25.7 mmBuffer, the printed circuit board in 3D

    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 mmUSB, the printed circuit board in 3D

    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 mm7 input macropad, the printed circuit board in 3D

    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 mmPicoMemcard pico, the printed circuit board in 3D

    PicoMemcard pico

    dangiu/PicoMemcard

    Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico

    8 parts694GPL-3.0
  • 2 layers36 × 10 mmPCB4-PWR BTN Rev.A, the printed circuit board in 3D

    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