
Badge kicad
netik/dc25_spqr_badge
KiCad files and all component files to manufacture the IDES OF DEF CON Badge, an Unofficial Electronic Badge.

ENGR 2110 Final Project: Centripetal Electronic Robotic Navigator (CERN)
Robot is an open-source printed circuit board by olincollege, from the olincollege/CERN repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 67.6 × 59.8 mm with 79 parts on 75 nets, routed with 712 tracks and 70 vias.
It is built around the ESP32-DEVKITC-VE, DRV8833PW and TM1000Q, with the SD0805S020S1R0, DMG1012UW-7-VB and DMG1013UW-7-VB among its other parts. Its parts include 17 resistors, 15 capacitors, 7 diodes, 5 ICs and 4 connectors. It belongs with the robots and motor control boards and the ESP32 boards of this library.
ENGR 2110 Final Project: Centripetal Electronic Robotic Navigator (CERN)
Welcome to the Centripetal Electronic Robotic Navigator (CERN) project! In this repository, we embark on our exciting journey to build our own version of a Sphero-like robot—a small, spherical robot capable of dynamic movements and engaging interactions. Our goal was to create a Sphero-like robot with inductive charging, a custom PCB, modular and elegant design, and coherent software to control the robot.
This software runs on both C++ and Python. Our C++ infrastructure includes firmware for an ESP32 that can run the robot's control algorithms to drive the robot. The Python infrasture include code that is required to connect to the ESP32 over Bluetooth serial to control the robot.
The repository has a set of 4 folders which each have important information regarding the items inside of the repository
app_interface contains the Python script file required to run our control interface for our robots
kicad contains a set of schematics and PCB board designs utilized in our project. Inside this folder, the kicad.kicad_sch file contains the transmitting circuit for the inductive charging base station. robot.kicad_sch and robot.kicad_pcb contain the circuit and PCB respectively for the receiving end of the charging circuit and the control circuitry placed inside our robot.
motor_communicate contains the C++ firmware required to run the robot.
SymFoot contains footprints and symbols for our schematic with unique components not readily available in KiCAD.
To run the software, you will need the following:
To install the all of the necessary libraries, we recommend doing the following:
conda create --name <Environment Name> python=3.9Where you may name your environment whatever you would like
conda activate <Environment Name>To activate your Anaconda environment
ls in the repository directory, you should see a file called requirements.txt. Finally, you can run the followingpip install -r requirements.txtWe built a set of 3 CERN Robots. The connection information and motor pinouts have been provided
| Name | MAC Address | Drive Pins | Turn Pins |
|---|---|---|---|
| Stubby | 78:21:84:B9:0A:1E | A1A: 33 A1B: 32 B1A: 2 B1B: 23 Sleep: 25 | A1A: 12 A1B: 14 B1A: 26 B1B: 27 Sleep: 13 |
| Girthy | E0:5A:1B:E4:66:56 | A1A: 26 A1B: 27 B1A: 14 B1B: 12 Sleep: 13 | A1A: 2 A1B: 23 B1A: 32 B1B: 33 Sleep: 25 |
| Kirby | E0:5A:1B:E4:9D:D6 | A1A: 32 A1B: 33 B1A: 2 B1B: 23 Sleep: 25 | A1A: 12 A1B: 14 B1A: 27 B1B: 26 Sleep: 13 |
These steps work best with Linux based systems
Firstly, make sure that the robot you want to connect to is on. Next, you'll want to connect to the robot by Bluetooth using the systems settings to connect to your robot. You will briefly connect to the robot, but you will then disconnect to the robot. This doesn't mean that you've lost connection, but this only means that you've placed the connection to the robot as a familiar device. Next, you're going to want to run friendly_control.py under the app_interface folder which can be executed by using the following command in a bash terminal: python friendly_control.py which will then ask you what device you would like to connect to. You may also open the Python script in a code editor and run the code manually. Once you run the code, it will then ask you to enter your password to because the controls will enter in root. This is because the following code is ran sudo rfcomm bind <PORT NUMBER> <MAC ADDRESS> which is when a radio frequency communication port will be established by your computer and robot to the Bluetooth MAC address of your robot. This is important since data is sent over serial for bluetooth. This then opens up a Pygame experience which should allow you obtain live data of the robot, control the lights of the robot, and control the robot using the WASD keys. Once you've finished driving the robot, you may close the Pygame interface, and the following command is ran: sudo rfcomm release <PORT NUMBER> which is when the communication port established will be dissolved, and the robot can then be reconnected or connected to another client.
If you have trouble connecting to the robot, typically running sudo rfcomm release <PORT NUMBER> to ensure that there doesn't exist a port that already exists that the robot tries to talk to on your computer to is typically recommended.
If you have any questions about any aspect about our project, please feel free to reach out to any of us: Ari Bobesh (abobesh@olin.edu), Kevin Lie-Atjam (klieatjam@olin.edu), Venkadesh Eswaranandam (veswaranandam@olin.edu), Sohum Kothavade (skothavade@olin.edu), and Angela Huang (ahuang3@olin.edu)
| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | TestPoint | TestPoint:TestPoint_Pad_D2.0mm | TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11, TP12 |
| 8 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R10, R11, R12, R13, R14, R15, R16 |
| 4 | 5 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R5, R7, R8 |
| 4 | Adafruit Coil Jumper | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J1, J2, J3, J4 |
| 4 | Motor_DC | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | M5, M6, M7, M8 |
| 4 | MountingHole_2.2mm_M2_DIN965_Pad | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad | REF1, REF2, REF3, REF4 |
| 3 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C13, C16, C19 |
| 3 | SD0805S020S1R0 | Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D9, D11, D12 |
| 2 | 0.01uF,16V | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C8, C14 |
| 2 | 1mF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C6, C7 |
| 2 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C11, C12 |
| 2 | 2.2uF,6.3V | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C4, C15 |
| 2 | 4.7uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C9, C10 |
| 2 | 65 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6, R9 |
| 2 | DMG1012UW-7 | Package_TO_SOT_SMD:SOT-323_SC-70_Handsoldering | Q1, Q2 |
| 2 | DRV8833PW | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U6, U13 |
| 2 | TM1000Q | TM1000Q:SW_TM1000Q | S1, S2 |
| 1 | 0.47uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C20 |
| 1 | 150 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2 |
| 1 | 1S 3000mAh | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | BT2 |
| 1 | 2k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3 |
| 1 | AP7366EA-33W5-7 | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | AP7366EA-33W5-7 |
| 1 | C | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C5 |
| 1 | DMG1013UW-7 | Package_TO_SOT_SMD:SOT-323_SC-70_Handsoldering | Q3 |
| 1 | ESP32-DEVKITC | ESP32-DEVKIT:MODULE_ESP32-DEVKITC | U8 |
| 1 | GY-521 | GY-521:GY-521 | U10 |
| 1 | L | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | L2 |
| 1 | LTST-C171GKT | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D13 |
| 1 | MCP73831-2-OT | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U9 |
| 1 | MFU0805FF01000P100 | Fuse:Fuse_0805_2012Metric_Pad1.15x1.40mm_HandSolder | F1 |
| 1 | MFU0805FF03000P100 | Fuse:Fuse_0805_2012Metric_Pad1.15x1.40mm_HandSolder | F2 |
| 1 | QBL8RGB60D0-2897 | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | D14 |
| 1 | QBL8RGB60D0-2897 | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | D8 |
| 1 | R1500H050B1 | Package_TO_SOT_SMD:SOT-89-5 | R1500H050B1 |
| 1 | SD0805S020S1R0 | Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D10 |
| 1 | SolderJumper_2_Open | Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder | JP1 |
It measures 67.6 × 59.8 mm and has 2 copper layers, 1.6 mm thick.
79 parts, built around the ESP32-DEVKITC-VE, DRV8833PW, TM1000Q and SD0805S020S1R0. 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 olincollege/CERN repository on GitHub, at the commit this page was made from: the board is kicad/robot.kicad_pcb and its schematic kicad/birdsarentreal.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

netik/dc25_spqr_badge
KiCad files and all component files to manufacture the IDES OF DEF CON Badge, an Unofficial Electronic Badge.



doppelgrau/esp32-f9p-io-board
An IO-PCB (two motor-driver/H-bridge, CAN, RS232, ADS1115, relay, ethernet, ardusimple f9p compatible connector) with an ESP32 for 12V power, three 15V tolerant analog inputs, three 5V tolerant inputs.


Thecactusman0/Nebula-openwatch
Nebula is a ESP32 based smartwatch that features a rotating bezel encoder

krishchan007/DUT_Interface_board_v0.2
v0.2 of DUT interface board with significant changes in layout, architecture etc.

lufixSch/effect-pedals
Circuits and PCB designs for audio effect pedals