Skip to the content
2 layers70.8 × 60.7 mmCar, the printed circuit board in 3D

Senior Design Project using ESP32s to remake Mario Kart with RC Cars

Size
70.8 × 60.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
44
Nets
59
Pads
155
Tracks, vias
399, 48
Pours
4
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
15 Jan 2022
Updated
28 Apr 2022

Overview

Car is an open-source printed circuit board by AndreHatu, from the AndreHatu/MarioKart repository on GitHub, published under the MIT licence. It is a 2-layer board of 70.8 × 60.7 mm with 44 parts on 59 nets, routed with 399 tracks and 48 vias.

It is built around the ESP32-SOLO-1C, L298HN and IN4148W, with the SS8050-G among its other parts. Its parts include 12 resistors, 9 diodes, 7 capacitors, 6 connectors and 2 ICs. It belongs with the ESP32 boards of this library.

Main components

4

README

README.md

Mario Kart with RC cars and ESP32s

This project aims at developing a real-life Mario Kart with RC cars and ESP32s. The boards used utilize a single-core MCU (ESP-MINI-1 and ESP-SOLO-1). Schematics and wiring will be posted in the near future.

ECE477 Senior Design at Purdue University.

How it works

We control RC cars with electronics replaced by our own ESP32. All communications are made using ESP-NOW, which is a Wi-Fi like wireless communication protocol. It enables low latency and long distance transmission of packets, with the only restriction they must be less than 250 bytes long. Then, we place checkpoint towers and power-up blocks along the desired track and when cars run over them, a NFC tag is read and its information is sent to a central tower, which either updates records of checkpoints or determines what modifier to give the cars. Modifiers are randomly chosen using ESP's esp_random() function. Checkpoints are stored in two-dimensional arrays initialized upon race creation.

Cloning

When cloning this repo, make sure to use git clone --recursive git@github.com:AndreHatu/MarioKart.git or run git submodule update --init --recursive after doing a standard clone. This ensures all dependencies are downloaded.

Config, Build and Flash

To build, you will need to have installed Espressif's idf from their website. Then run the following commands from a terminal.

text
idf.py set-target esp32
idf.py menuconfig

Inside the menuconfig, you might need to set the Components->freeRTOS->Run only on first core option in case your ESP32 only has one core (like the ones we are using for the project) Then you can build and flash with

text
idf.py build
idf.py -p (PORT) flash

Parts

44
QtyValueFootprintReferences
8IN4148Diode_SMD:D_SOD-123FD1, D2, D3, D4, D5, D6, D7, D8
610kResistor_SMD:R_0805_2012MetricR7, R8, R9, R10, R11, R12
620Resistor_SMD:R_0805_2012MetricR1, R2, R3, R4, R5, R6
4100nFCapacitor_SMD:C_0805_2012MetricC2, C4, C5, C6
4MountingHoleMountingHole:MountingHole_2.5mm_PadH1, H2, H3, H4
2100uFCapacitor_THT:CP_Radial_D8.0mm_P5.00mmC3, C7
2Conn_01x05_FemaleConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ5, J6
2SS8050-GSamacSys_Parts:SOT95P240X115-3NQ1, Q2
2SW_PushButton_Switch_SMD:SW_SPST_CK_KXT3SW1, SW2
122uFCapacitor_SMD:C_0805_2012MetricC1
1Conn_01x02_FemaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1Conn_01x04_MaleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1Conn_01x06_FemaleConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ4
1Conn_01x09_FemaleConnector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_VerticalJ1
1ESP32-SOLO-1RF_Module:ESP32-SOLO-ONEIC1
1L298HNPackage_TO_SOT_THT:TO-220-15_P2.54x2.54mm_StaggerOdd_Lead4.58mm_VerticalU1
1LEDSamacSys_Parts:APHCM2012QBCDF01D9

More from AndreHatu/MarioKart

3
  • 2 layers99.3 × 47.2 mmController, the printed circuit board in 3D

    Controller

    AndreHatu/MarioKart

    Senior Design Project using ESP32s to remake Mario Kart with RC Cars

    37 partsMIT
  • 2 layers79.7 × 66.9 mmCar (1), the printed circuit board in 3D

    Car (1)

    AndreHatu/MarioKart

    Senior Design Project using ESP32s to remake Mario Kart with RC Cars

    33 partsMIT
  • 2 layers100.1 × 58.2 mmTower, the printed circuit board in 3D

    Tower

    AndreHatu/MarioKart

    Senior Design Project using ESP32s to remake Mario Kart with RC Cars

    31 partsMIT

Similar boards

  • 2 layers120 × 80 mmAkilli guvenlik kasasi, the printed circuit board in 3D

    Akilli guvenlik kasasi

    eemreinceer/Smart_Safe

    AI-powered IoT security system with ESP32-CAM, custom PCB design (KiCad), 3D enclosure (Fusion 360), Firebase cloud sync, and React dashboard. End-to-end embedded engineering project.

    18 parts2
  • 2 layers100 × 60 mmX8-pcb, the printed circuit board in 3D

    X8-pcb

    mattuna15/x8-pcb

    Commander X8 PCB

    100 parts1
  • 2 layers60 × 47.5 mm86 BOX PANEL, the printed circuit board in 3D

    86 BOX PANEL

    yaozong1/86BOX_PCB

    86_BOX PCB

    48 parts1
  • 2 layers47.6 × 69.1 mmPico Drone, the printed circuit board in 3D

    Pico Drone

    TheNoobInventor/pi-pico-drone

    A micro drone is made using the Raspberry Pi Pico W. It is fitted with the MPU6050 IMU module and BMP280 barometric sensor. The drone will be controlled using TinyMPC and employ a Micro-ROS client on FreeRTOS.

    33 parts29Apache-2.0
  • 2 layers106 × 128.5 mmEuroClockMD TwoBoards, the printed circuit board in 3D

    EuroClockMD TwoBoards

    fablabnk/HagiwoClockMultiDivide

    This is an attempt to make a PCB version of Hagiwo's Clock Multi Divide module.

    49 parts3
  • 2 layers92 × 44 mmBf-037, the printed circuit board in 3D

    Bf-037

    botanicfields/PCB-Grove-VU-Meter

    VU Meters into the Grove of M5

    45 parts1CC0-1.0
  • 2 layers285.3 × 94.9 mmTp60, the printed circuit board in 3D

    Tp60

    gzeronet/tp60

    custom PCB for gh60-like keyboard with trackpoint

    128 parts1Unlicense

Questions

How big is the Car PCB?

It measures 70.8 × 60.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Car use?

44 parts, built around the ESP32-SOLO-1C, L298HN, IN4148W and SS8050-G. 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 Car KiCad files?

From the AndreHatu/MarioKart repository on GitHub, at the commit this page was made from: the board is schematics/car.kicad_pcb and its schematic car/car (1).kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Car design in my own project?

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