# PCB and Scheme analyze
Project files
https://easyeda.com/dr.cleverest/pcb-design
## PCB's purpose

Location of the PCB at the top of the robot
> I need this PCB can be produced at PCBway.com
>
1. PCB will be controller part of the educational robot.
2. It will be connected to the motors, line detection sensor, 2 ultrasonic sensors, Li-Po battery inside the robot.
3. Microcontroller board ESP32 will be connected to the PCB to controll it.
4. PCB has battery charge, protection modules.
5. PCB has battery level indication modules with diodes and Fuel Gauge modules.
6. PCB has logic level converters, because some of the elements works on 5V and ESP32 works on 3V.
7. PCB has TB6612 motor controller.
8. Sizes and big mount holes at the angles of the PCB has to be the same as in my design.
9. Location of ESP32 headers has to be at the same place as in my design.
10. PCB has some headers to add modules to the robot.
## Analyze scheme diagram

PCB scheme diagram
Details:
1. BOOST MOTORS is used to create 5V power sourse for motors from battery - you can change it to other.
2. LDO 3.3V is used to downgrade battery voltage to 3.3V for ESP32 3V pin - you can change it to other.
3. PROTECTION is battery protection module - you can change it to other.
4. CHARGE is charging battey from 5V pin of ESP32, here you can put some Zener Diode or other to protect charging from ESP32 when there is no USB connection - you can change it to other.
5. Battery Level Indicator is used to show battery level via button push. If you have idea to use other type of indicator - feel free to change it. It can be 4 diode module.
6. Motor Contoller - TB6612 is used. I used Sparkfun Datasheet to create this part. [Datasheet is from here](http://www.sparkfun.com/datasheets/Robotics/TB6612FNG.pdf)
7. Logic Level is logic level converter bi-directional from 5V to 3V to controll Ultrasonic Sensors. [I used this datasheet](http://cdn.sparkfun.com/datasheets/BreakoutBoards/BSS138.pdf) - you can change it to other.
8. Lipo Fuel Gauge is used to know battery level from ESP32, you can use better module if find such. I used this [Datasheet](http://cdn.sparkfun.com/datasheets/Prototyping/MAX17043-MAX17044.pdf) - you can change it to other.
**I need you to check will this PCB work with next elements:**
1. ESP32 - datasheet can be found there: [Schematic diagram](https://resource.heltec.cn/download/WiFi_Kit_32/WIFI_Kit_32_Schematic_diagram_V2.pdf) and [Pinout diagram](https://resource.heltec.cn/download/WiFi_Kit_32/WIFI_Kit_32_pinoutDiagram_V2.pdf)
2. Motors - [info](https://chile.desertcart.com/products/64569637-o-latus-ol-motor-tt-dc-bo-motor-dual-shaft-smart-car-robot-gear-motor-for-arduino-2-pieces)
3. LiPo - [info](https://aliexpress.ru/item/32923003185.html)
4. Line traction sensor - [info](https://aliexpress.ru/item/32658867501.html)
5. Ultrasonic Sensors - [info](https://aliexpress.ru/item/32823879826.html)
## PCB

PCB
Characteristics:
1. Two sided
2. White
What has to be the same:
1. Size
2. Huge holes at the angle of the PCB
3. RESET and BOOT headers
4. 5V, GND, 3V3, PINS headers mostly the same