Espressif: Difference between revisions
Brian Wilson (talk | contribs) |
Brian Wilson (talk | contribs) |
||
Line 51: | Line 51: | ||
=== VSCode + PlatformIO + Arduino framework === | === VSCode + PlatformIO + Arduino framework === | ||
When creating a project with PlatformIO you can pick Arduino as the Framework if you don't need the ESP-IDF platform | When creating a project with PlatformIO you can pick Arduino as the Framework if you don't need the ESP-IDF platform. | ||
I | '''<big>I put all my source code in ''~/source/platformio/''.</big>''' | ||
I just built and uploaded a Blink program and it worked flawlessly on the first try. | I cloned the M5Stack repo https://github.com/m5stack/M5Stack.git The Examples/ are great. I just built and uploaded a Blink program and it worked flawlessly on the first try. In the blue bar there are build and upload tools.There is a "serial monitor" tool in the blue bar too; output goes to a Terminal window. | ||
In the blue bar there are build and upload tools. | |||
There is a "serial monitor" tool in the blue bar too | |||
So far I find this experience much better than using Arduino IDE, perhaps because I already use VS Code, | So far I find this experience much better than using Arduino IDE, perhaps because I already use VS Code, also partly because the project is organized more the way I'd want. I like having one window for everything, I've never liked how Arduino opens a new window for each "sketch". Also I never liked the word "sketch", lol. | ||
also partly because the project is organized more the way I'd want. I like having one window for everything, I've never liked how Arduino opens a new window for each "sketch". Also I never liked the word "sketch", lol. | |||
=== VSCode + PlatformIO + ESP-IDF framework === | === VSCode + PlatformIO + ESP-IDF framework === | ||
Line 74: | Line 69: | ||
PlatformIO has its own library manager and when you add a library, the library is downloaded and referenced in the platformio.ini in the current project. | PlatformIO has its own library manager and when you add a library, the library is downloaded and referenced in the platformio.ini in the current project. | ||
== Projects == | == Projects == | ||
Line 83: | Line 76: | ||
Called the "red box" because it's in a Hammond box that's translucent red. | Called the "red box" because it's in a Hammond box that's translucent red. | ||
This project is VSCODE+PlatformIO | This project is VSCODE+PlatformIO+Arduino | ||
Source location, on Pearl at ~/Documents/source/platformio/esp_motion and it's in github here: brian32768/esp_motion.git | Source location, on Pearl at ~/Documents/source/platformio/esp_motion and it's in github here: brian32768/esp_motion.git | ||
Line 96: | Line 89: | ||
* I used to have a radar sensor on there too. Not sure why I removed it. | * I used to have a radar sensor on there too. Not sure why I removed it. | ||
* I see a TO-92 on there. I think it's a Dallas 18B20 temperature sensor. | * I see a TO-92 on there. I think it's a Dallas 18B20 temperature sensor. | ||
* IR receiver so that I can make this board read IR remote codes for a light fixture we got a few weeks ago | * IR receiver so that I can make this board read IR remote codes for a light fixture we got a few weeks ago. | ||
The build is failing to find "Arduino.h" and "Wifi.h" hmmm where'd it go? | |||
== JTAG debugging == | == JTAG debugging == |
Revision as of 00:15, 11 November 2024
Hardware
ESP-C3-12F - These are in the old ESP12F form factor but have a RISC-V processor. I will put them in a page on the C3, here ESP-C3.
ESP12F and programmer, see docs at Amazon
Wemos D1 R1 - ESP8266 board in Arduino form factor. Purchased from MPJA for about $13, available on eBay for $7.
Espressif WROVER-DEVKITC-VIE boards (2) from Digikey ($11). Great except they are too wide to use on a breadboard. This device has 520KB RAM + 4MB Flash + 8MB PSRAM making it a good choice for Micropython.
I have a some Home control stuff deployed around my house that's based on ESP8266 chips including FEIT dimmers and Martin Jerry switches. I intend to reflash them all soon to get them off the IoT and onto the local network. There are more details on the ESP8266 page.
ESP-PROG / JTAG board. https://www.digikey.com/en/products/detail/espressif-systems/ESP-PROG/10259352 Flash download tools: https://www.espressif.com/en/support/download/other-tools There is no install step, you just run it.
M5 hardware
520 kB RAM, 4MB flash; really not enough RAM to mess around with Micropython.
M5 Atom Matrix grey with 5x5 Neopixel LED matrix and a 6-axis IMU
M5 Atom Echo white, with a speaker and microphone. It also has a Neopixel.
Toolchains
Right now it's a blob in my mind so I am here writing this to sort it out. I got some nRF52840's and that's just added to the confusion.
Arduino, Espressif IDF, FreeRTOS Visual Studio Code, PlatformIO
I have been using Arduino but I really want to try out working with RTOS and I want to use VSCode as my IDE, I am getting comfortable with it at work.
There is a tutorial here: https://randomnerdtutorials.com/vs-code-platformio-ide-esp32-esp8266-arduino/
- Visual Studio Code (VSCode) is an IDE. It is far more useful than Arduino's IDE.
- PlatformIO is an extension for VSCode.
- There is also an Espressif IDF extension.
- PlatformIO adds the "alien" icon in the left bar.
- ESP-IDF adds a bunch of tools to the blue bar at the bottom.
VSCode + PlatformIO + Arduino framework
When creating a project with PlatformIO you can pick Arduino as the Framework if you don't need the ESP-IDF platform.
I put all my source code in ~/source/platformio/.
I cloned the M5Stack repo https://github.com/m5stack/M5Stack.git The Examples/ are great. I just built and uploaded a Blink program and it worked flawlessly on the first try. In the blue bar there are build and upload tools.There is a "serial monitor" tool in the blue bar too; output goes to a Terminal window.
So far I find this experience much better than using Arduino IDE, perhaps because I already use VS Code, also partly because the project is organized more the way I'd want. I like having one window for everything, I've never liked how Arduino opens a new window for each "sketch". Also I never liked the word "sketch", lol.
VSCode + PlatformIO + ESP-IDF framework
I followed this tutorial. https://docs.platformio.org/en/latest/tutorials/espressif32/espidf_debugging_unit_testing_analysis.html#
It worked fine, I tested it on an M5 Atom Matrix. I got a soft AP running.
2024-03-30 I am stumbling through the Stamp-C3 demo.
Libraries
PlatformIO has its own library manager and when you add a library, the library is downloaded and referenced in the platformio.ini in the current project.
Projects
I have done so many that they are scattered hither and thither. Herein I am trying to pull them together. Starting with this one.
ESP32 Red Box
Called the "red box" because it's in a Hammond box that's translucent red.
This project is VSCODE+PlatformIO+Arduino
Source location, on Pearl at ~/Documents/source/platformio/esp_motion and it's in github here: brian32768/esp_motion.git
The current version right here in front of me currently has
- Espressif Wrover dev kit board
- External WiFi antenna
- PIR motion sensor
- Piezo buzzer
- Neopixel
- I used to have a radar sensor on there too. Not sure why I removed it.
- I see a TO-92 on there. I think it's a Dallas 18B20 temperature sensor.
- IR receiver so that I can make this board read IR remote codes for a light fixture we got a few weeks ago.
The build is failing to find "Arduino.h" and "Wifi.h" hmmm where'd it go?
JTAG debugging
https://mcuoneclipse.com/2019/10/20/jtag-debugging-the-esp32-with-ft2232-and-openocd/
Books and resources
Random Nerd