
Car
AndreHatu/MarioKart
Senior Design Project using ESP32s to remake Mario Kart with RC Cars

Senior Design Project using ESP32s to remake Mario Kart with RC Cars
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.
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.
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.
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.
To build, you will need to have installed Espressif's idf from their website. Then run the following commands from a terminal.
idf.py set-target esp32
idf.py menuconfigInside 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
idf.py build
idf.py -p (PORT) flash| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 10k | Resistor_SMD:R_0805_2012Metric | R1, R2, R3, R4, R5, R6, R7, R8, R10, R11 |
| 5 | SW_Push_Dual | Button_Switch_THT:SW_TH_Tactile_Omron_B3F-10xx | SW3, SW4, SW5, SW6, SW7 |
| 2 | 0.1uF | Capacitor_SMD:C_0805_2012Metric | C1, C2 |
| 2 | 100nF | Capacitor_SMD:C_0805_2012Metric | C3, C5 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C6, C7 |
| 2 | Conn_01x05 | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J1, J2 |
| 2 | SS8050-G | Mouser:SOT95P240X115-3N | Q1, Q2 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_CK_KXT3 | SW1, SW2 |
| 1 | 0 | Resistor_SMD:R_0805_2012Metric | R9 |
| 1 | 22uF | Capacitor_SMD:C_0805_2012Metric | C4 |
| 1 | AZ1117CD-3.3TRG1 | Mouser:AZ1117CD33TRG1 | IC1 |
| 1 | Conn_01x06 | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J3 |
| 1 | ESP32-SOLO-1 | RF_Module:ESP32-WROOM-32 | IC2 |
| 1 | LED | Mouser:APHCM2012QBCDF01 | D1 |
The 33 most common of 37 parts.
It measures 99.3 × 47.2 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
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).

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

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

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

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

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.



martinribelotta/h7dragonman
STM32H7 board for industrial protocol bridge



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