The ESP32 is an integrated circuit or "chip" not unlike the processor in a computer. The ESP32 is a class of chips called "Microcontrollers". You can think of microcontrollers as simple microprocessors on steroids. They are "simple" because of low clock speeds, and not much memory. They are "on steroids" because the "pins", the connections to the chip can handle real-world inputs and outputs like pushbuttons or LEDs. If you have already used an Arduino at school then you are familiar with the capabilities of a microprocessor. If you are new to this don't worry. It will make sense once you get some projects working.
What is a microcontroller?
A microcontroller is an electronic device that processes electrical signals. It will take input, and produce output. What makes each microcontroller unique is how each one is programmed.
Microcontrollers think in binary, or 1s and 0s. A 1 is 5 Volts, and a 0 is 0 Volts or Ground.
Binary numbers have only 2 possible values for each digit of the number. A bit is a single digit of a binary number. A byte is made up of 8 bits.
For example, the decimal number 25 is represented in binary as 11001.
Microcontrollers perform their tasks by being given a series of binary messages, or instructions. We create these instructions by using a programming language such as BASIC, C, or Java. For the OOPIC, we create our program in that language, and then it is translated, or compiled, into binary messages that the OOPIC microcontroller will understand. (Taken from the instruction manual for an OOPIC - an early microcontroller)
Microcontrollers can be found in everyday devices in your home and car. A microwave oven uses a microcontroller to take user input via a keypad to run the oven and a display that shows programs and times. A thermostat similarly takes user input from a simple set of buttons and a temperature and humidity detector to run your furnace and display the current temperature or menu setting. Modern cars have several or more microcontrollers. One of them, the antilock braking system, monitors a number of inputs including brake pedal pressure and axle rotation to more effectively stop your car without skidding.
The first few pages of this graphic text explain Arduino, digital vs analog and a good refresher on Ohm's Law. Read pages 1 to 6.
The ESP3 chip that we are using is already soldered to a circuit board. This special circuit board is called a "development board" because it can be used on a breadboard to develop new circuit ideas. This particular development board is called the ESP32 DevKit V1. The ESP32 is similar to an Arduino but it has some added capabilities like WiFi and Bluetooth. This allows developers to work on IoT (Internet of Things) ideas. IoT devices are sometimes called "smart" devices because you can connect to them with your home or business network. For instance, modern thermostats can be programmed via the internet from a smartphone or computer. You can connect before getting home to turn up the thermostat so that the house is nice and warm when you arrive. From work, you can open the garage door to allow a delivery person to drop off a parcel.
FRC Robots are teleoperated using a WiFi network controlled by the game field. If we can build and program a robot around the ESP32 we can get a feel for the system used by FRC. Along with WiFi, Bluetooth, and a few other goodies we will investigate later, the ESP32 Dev Kit also sports a micro USB port to program and power the device. All you will need, for now, is a USB to micro USB cable (like the ones used to charge an Android phone). Later, for driving around without a wire, you will need a cell phone power bank and a short USB to micro USB cable. Your CKSS4992 robot kit should have some wire jumpers and other odds and ends. Check the Ingredients page.