You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wall-E Bot Self-Balancing | Wall-E Bot with OLED Display | Wall-E Bot with LED Matrix
56
+
57
+
Wall-E is a two-wheeled educational **self balancing** and **line following** robot developed by **SRA-VJTI**, designed to teach embedded robotics concepts such as **control theory (PID)**, and **embedded communication**. The brain of the robot is an **ESP32** microcontroller paired with a custom-made SRA development board.
58
+
59
+
This repository hosts the firmware, demo projects, and study material used in SRA VJTI's Wall-E workshop. With features like inbuilt Wi-Fi support and BLE, and extensive application in several domains like IoT, RF, etc, The workshop entails various essential concepts such as PID Control, Embedded Communication Protocols, PWM, Filters, RTOS, etc. and gives its attendees (first-year students) a general idea about the world of robotics and embedded hardware.
60
+
61
+
## Architecture
56
62
57
-
</p>
63
+
### Hardware
64
+
-**ESP32 Microcontroller**: central processing, sensor reading, control loops
65
+
-**SRA Development Board**: custom PCB that connects ESP32 to sensors, motor drivers, power supply, etc.
66
+
-**Sensors**
67
+
- MPU6050 IMU (gyro + accelerometer) for self balancing
68
+
- Light Sensor Array (LSA) for line following
69
+
-**Actuators**: Dual DC motors (controlled via PWM)
70
+
-**Communication**: I2C, SPI, UART for peripheral communication
71
+
-**User Interface**
72
+
- (Optional) OLED display for local feedback
73
+
### Software
74
+
- Built using **ESP-IDF**, leveraging tasks in FreeRTOS.
75
+
- WebSocket interface for real-time tuning : dynamic tuning via WebSocket without reflashing firmware.
76
+
- runs Conway's Game of Life on the SRA Board LED matrix using ESP-IDF
58
77
59
-
How do you make a robot follow a line? Now what if the robot has only two wheels. How will it balance and follow the line? This is exactly what is taught in the Wall-E workshop.
60
-
The Wall-E workshop focuses on the concepts of line-following and self-balancing, using ESP32, a powerful micro-controller with features like inbuilt Wi-Fi support and BLE, with extensive application in several domains like IoT, RF, etc. The workshop entails various essential concepts such as PID Control, Embedded Communication Protocols, PWM, Filters, RTOS, etc. and gives its attendees (first-year students) a general idea about the world of robotics and embedded hardware. Following are some of the highlights:
61
-
- The custom-made SRA Development Board & ESP32.
62
-
- ESP-IDF, the official IoT Development framework by espressif.
63
-
- Motor Control with PWM and PID.
64
-
- Accelerometer , gyroscope and complimentary filter.
65
-
- Communcation protocols ( UART , SPI , I2C )
78
+
---
66
79
67
80
68
81
## Installation
@@ -74,23 +87,40 @@ The Wall-E workshop focuses on the concepts of line-following and self-balancing
| LED Matrix |[LED_Matrix](https://github.com/SRA-VJTI/Wall-E/blob/master/1_led_matrix/README.md)| Conway's Game of Life on the SRA Board LED matrix using ESP32 |
78
-
| Light Sensing Array |[LSA](https://github.com/SRA-VJTI/Wall-E/blob/master/2_LSA/README.md)| Sensing Array that uses different Light Sensors, majorly used for Line-Following |
79
-
| MPU6050 |[MPU](https://github.com/SRA-VJTI/Wall-E/blob/master/3_MPU/README.md)| Motion controlled MPU measures angles with respect to 6 Degrees of Freedom |
80
-
| Pulse Width Modulation |[PWM](https://github.com/SRA-VJTI/Wall-E/blob/master/4_PWM/README.md)| Calculate average voltage and controls speed accordingly |
81
-
| Line-Following |[Line_Following](https://github.com/SRA-VJTI/Wall-E/tree/master/5_line_following/)| Line-Following algorithm that enables the bot to follow the path of white line |
82
-
| Self-Balancing |[Self_Balancing](https://github.com/SRA-VJTI/Wall-E/blob/master/6_self_balancing/README.md)| Self-Balancing algorithm that enables the bot to balance its weight under the force of gravity |
83
-
84
-
85
-
86
-
<!-- ROADMAP -->
90
+
| LED Matrix |[LED_Matrix](https://github.com/SRA-VJTI/Wall-E/blob/master/1_led_matrix/README.md)| Performing LED Blink by connecting the LED with esp32 |
91
+
| Light Sensing Array |[LSA](https://github.com/SRA-VJTI/Wall-E/blob/master/2_LSA/README.md)| Sensing Array that uses different Light Sensors, majorly used for Line-Following |
92
+
| MPU6050 |[MPU](https://github.com/SRA-VJTI/Wall-E/blob/master/3_MPU/README.md)| Motion controlled MPU measures angles with respect to 6 Degrees of Freedom |
93
+
| Pulse Width Modulation |[PWM](https://github.com/SRA-VJTI/Wall-E/blob/master/5_PWM/README.md)| Calculate average voltage and controls speed accordingly |
94
+
| Line-Following |[Line_Following](https://github.com/SRA-VJTI/Wall-E/tree/master/6_line_following/)| Line-Following algorithm that enables the bot to follow the path of white line |
95
+
| Self-Balancing |[Self_Balancing](https://github.com/SRA-VJTI/Wall-E/blob/master/7_self_balancing/README.md)| Self-Balancing algorithm that enables the bot to balance its weight under the force of gravity |
96
+
97
+
## Running the Example Projects
98
+
99
+
100
+
### 1. Choose an Example
101
+
Navigate to one of the examples in the examples directory under Wall-E.
102
+
```bash
103
+
cd components/sra-board-component/examples/<example_name>
104
+
```
105
+
### 2. Configure
106
+
Opens the ESP-IDF configuration menu where you can set project options, enable features, and adjust hardware settings.
107
+
```bash
108
+
idf.py menuconfig
109
+
```
110
+
### 3. Build and Flash
111
+
Builds the project, flashes it to the ESP32, and starts the serial monitor to view real-time logs.
112
+
```bash
113
+
idf.py build
114
+
idf.py flash
115
+
idf.py monitor
116
+
```
87
117
88
118
## Resources
89
119
90
120
- Please visit and look at our [Custom-made SRA development board](https://github.com/SRA-VJTI/sra-board-hardware-design)
91
121
- Visit ESP-IDF SRA board [Components](https://github.com/SRA-VJTI/sra-board-hardware-design) to have a detailed information about the components of SRA board
92
122
<palign="center">
93
-
<imgsrc="documentation/images/sra_board.png"/>
123
+
<imgsrc="documentation/images/board_v2.7.jpeg"/>
94
124
<h3align="center"> SRA development board </h3>
95
125
</p>
96
126
@@ -126,3 +156,5 @@ Contributions are what make the open source community such an amazing place to b
0 commit comments