ESP32 Programming Tutorial for Custom Hardware (GPIO, Serial, SPI, WiFi) - Phil's Lab #91

preview_player
Показать описание
Board bring-up using the Arduino IDE for simplicity.

[SUPPORT]

Advanced Hardware Design Course Survey

[GIT]

[LINKS]

[TIMESTAMPS]
00:00 Introduction

02:02 Altium Designer Free Trial
02:27 PCBWay

03:04 Hardware Overview

05:30 Arduino IDE Set-Up for ESP32
06:35 Board Set-Up
09:00 Flashing Firmware
10:27 LED GPIOs
12:57 USB Serial
14:02 SPI Sensor Interface, Basic Set-Up
18:34 SPI Protocol Basics, Read Register Implementation
24:50 SPI Test (Chip ID and Temperature Sensor)
28:06 WiFi Test (Basic Server to Toggle LED)

31:12 Outro
Рекомендации по теме
Комментарии
Автор

Please do create a video showcasing your non-Arduino IDE/debugging workflow! Many (like me) who use IDEs and debuggers but are newer to ESP32 would be infinitely grateful, and many people who have only ever used Arduino will have their minds blown how quickly high quality code can be written and debugged so quickly with a proper debugger. Esspressif's own videos get outdated very quickly, and don't show a real walkthrough from start to finish, and it would be good to see a real developer demonstrate.

nathanwiebe
Автор

I am a last year mechanical engineering student. In our finishing project, we needed to design mechatronic part too. For that part, I have designed pcb just by watching your videos and with kicad. I have learned a lot of things from you. Thank you Phil!

McReaL
Автор

If you will make a comparison between espressif and Arduino IDE I think It would be very appreciated, one of most viewed about this topic for sure

matteopoggiali
Автор

A video about ESP-IDF setup would actually be great!

michalpesko
Автор

I would love to see you doing this with VSCode and ESP-IDF!
I've tried editing other microcontroller code in VSCode before - it can be very challenging to setup, but if you can get it working, it is the most fluid development experience in my opinion. I'd also like to know what you think of PlatformIO plugin for VSCode.

dyn
Автор

Your videos are amazing I'm learning a lot from them, thank you for sharing this! The fact that you start from scratch is awesome, you explain everything in detail. You should make more series about designing esp32, stm32 and perhaps pic32 embedded hardware from scratch and how to program them with professional IDEs. Here are some ideas I'd be interest seeing in your videos: - designing full speed USB-C hardware - communication between multiple microcontrollers - interfacing an embedded system with a pc (maybe with a GUI) - some IoT application (WiFi and BLE) - talking more about FPGAs and how to program them.

Alberto
Автор

Point of clarification regarding "Pins" for those unfamiliar with the Arduino IDE. Arduino libraries that interact with I/O often require a "Pin Number" argument. WIth an actual Arduino, that argument corresponds to the I/O pin numbers printed on the board. Of course, within the Arduino hardware description files, those pin numbers are mapped to particular bits on particular ports. So, for example, on ATMEGA328-based boards, the hardware config file maps "Pin 0" to Port D, bit 0, which, on the hardware is brought to a connector where it is labeled "0", and so on. But...
For boards that are not actual Arduinos, like Phil's board, there is no existing reason for any particular physical I/O or GPIO to be any particular "Arduino pin number". So it's up to someone to create a board definition that maps Arduino library "Pin numbers" to GPIOs. It's quite convenient that the libraries Phil used just map Ardunio numbers to the same-number GPI0, but that's not required, and can be changed. Anyhow, this discussion explains why Phil named his constants Xxx_PIN, after just explaining that these are _not_hardware pin numbers. Instead, they are for use as "Arduino pin numbers" in functions that require such an argument, and rely on the mapping described above to interact with the desired GPIOs.

Graham_Wideman
Автор

Really Amazing. this how any engineer should read Components References.

mathhack
Автор

Thank you Phil for the this comprehensive series on the ESP32!

fredflickinger
Автор

Thank you, just thank you. This tutorial is a lifesaver for a project Im working on right now and many more projects in the future

andrewdhs
Автор

Your series is flat out amazing!!!! Thank you for this!!!! I couldn't find anything for the SOC ESP32. Only the prebuilt controller board and the solder that on. I wanted to step it up a notch and do my own and not a bunch of soldered PCBs on my own board. And going through tech design docs and all that from esspresif, I was 90% there and your series helped me get that final hump complete while teaching myself

MikeHarris
Автор

Excellent video, right pace, very clear and concise, ideal for a rusty old retired engineer like me to think about dipping my toe into electronics once again.

andrewturnbull
Автор

Thanks, Phil! These resources are great and please keep them coming!
And yes, please make a video covering an IDE like VSCode or what you prefer for a professional workflow. I am independently making a product using the ESP32-C3, so my only resources are online. I would love to see how you create your own workflow and see what is recommended for professional standards. I have been using VSCode on my Mac but it has been somewhat temperamental but thankfully does what I need to.

kevinjypiter
Автор

I'd love to see an IDF free project setup. Of all the vendor tools I've played with, IDF is the most frustrating one to work with. If you're building something based on there example projects, it works surprisingly well. However, if your needs deviate from its supplied customization parameters, it requires a monumental effort to reverse engineer it.

IDF a giant onion of interdependent scripts, configurations, and tools that must be peeled away to understand. Although its tools are open source, you can't simply download and use them independently. Many of them are customized builds, and or require highly specialized and complex configuration parameters supplied by IDF.

bobweiram
Автор

I'm woundering why this channel hasn't more subscribers. Coming from IT-Sec, would appreciate if you also do videos in that direction. eg safe communication with sensors and actuators. Also safe WiFi setup without saving the Wifi credentials locally. Thanks!

hofertyp
Автор

Thank You!

If you are doing something more on this, please consider writing firmware for a custom IC that has different clocks and signals to get the function working. For example, TLC5957 LED controller IC. That'll give a lot of knowledge on firmware.

UmairAhmadh
Автор

Thank you!
I would really like to see projects on Xilinx working with NAND, PCI and flow control

sergeyp
Автор

World have been interesting to print the RSSI out and compare it to a standarised module in the same location on the same network (plus RSSI of both from the other end). I ponder the legal requirements one might have using a non pre-certified RF implementation in a commercial product. Excellent video 👍

pete
Автор

Hahahaha... watching Phil bringing up a new board using Arduino IDE while taking a break from... bringing up a new board using Arduino IDE. 🙂

Graham_Wideman
Автор

I use PlatformIO on VSCode to program my ESP32 projects. As I’m yet to get an in-line debugger working with it, I’d appreciate any videos in that regard.

thedrunknmunky