Skip to the content
PCBKitNew board
2 layers99.3 × 47.2 mmController, the printed circuit board in 3D

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

Size
99.3 × 47.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
37
Nets
46
Pads
130
Tracks, vias
171, 22
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
15 Jan 2022
Updated
28 Apr 2022

Overview

Controller 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 99.3 × 47.2 mm with 37 parts on 46 nets, routed with 171 tracks and 22 vias.

It is built around the ESP32-SOLO-1C, AZ1117CD-3.3TRG1 and SS8050-G. Its parts include 11 resistors, 7 capacitors, 7 switches, 3 connectors and 2 ICs. It belongs with the ESP32 boards of this library.

Main components

3

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

37
QtyValueFootprintReferences
1010kResistor_SMD:R_0805_2012MetricR1, R2, R3, R4, R5, R6, R7, R8, R10, R11
5SW_Push_DualButton_Switch_THT:SW_TH_Tactile_Omron_B3F-10xxSW3, SW4, SW5, SW6, SW7
20.1uFCapacitor_SMD:C_0805_2012MetricC1, C2
2100nFCapacitor_SMD:C_0805_2012MetricC3, C5
210uFCapacitor_SMD:C_0805_2012MetricC6, C7
2Conn_01x05Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ1, J2
2SS8050-GMouser:SOT95P240X115-3NQ1, Q2
2SW_PushButton_Switch_SMD:SW_SPST_CK_KXT3SW1, SW2
10Resistor_SMD:R_0805_2012MetricR9
122uFCapacitor_SMD:C_0805_2012MetricC4
1AZ1117CD-3.3TRG1Mouser:AZ1117CD33TRG1IC1
1Conn_01x06Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ3
1ESP32-SOLO-1RF_Module:ESP32-WROOM-32IC2
1LEDMouser:APHCM2012QBCDF01D1

The 33 most common of 37 parts.

Questions

How big is the Controller PCB?

It measures 99.3 × 47.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Controller use?

37 parts, built around the ESP32-SOLO-1C, AZ1117CD-3.3TRG1 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 Controller KiCad files?

From the AndreHatu/MarioKart repository on GitHub, at the commit this page was made from: the board is schematics/controller.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 Controller 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).

More from AndreHatu/MarioKart

3
  • 2 layers70.8 × 60.7 mmCar, the printed circuit board in 3D

    Car

    AndreHatu/MarioKart

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

    44 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 layers98 × 79.5 mmEsp32 example, the printed circuit board in 3D

    Esp32 example

    rharpalani/InventoryIQ

    An ESP32 microcontroller-based inventory management solution for the computer engineering lab.

    35 parts
  • 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
  • 4 layers135.6 × 54.6 mmDragonmanh7, the printed circuit board in 3D

    Dragonmanh7

    martinribelotta/h7dragonman

    STM32H7 board for industrial protocol bridge

    147 parts19BSD-2-Clause
  • 2 layers305.2 × 234.8 mmReflow, the printed circuit board in 3D

    Reflow

    mickdassive/reflowow-oven-controler

    firmware for a reflow controller

    117 parts2GPL-3.0
  • 2 layers50 × 60 mmGO, the printed circuit board in 3D

    GO

    Ainacteru/GO

    The source code for the GO PCB

    72 parts1
  • 2 layers98.9 × 83.2 mmOscilloSketch, the printed circuit board in 3D

    OscilloSketch

    JJ1553/ECE445-Oscillosketch

    This repo serves as a Lab Notebook for The Oscillosketch project for ECE 445 senior design managed by Eric Vo and Josh Jenks

    130 parts