Espressif: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
m Brian Wilson moved page ESP32 to Espressif
Brian Wilson (talk | contribs)
mNo edit summary
Line 1: Line 1:
[https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/modules-and-boards.html Espressif modules and boards]
[https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/modules-and-boards.html Espressif modules and boards]


== M5 hardware ==
== Hardware ==
 
Wemos D1 R1 - ESP8266 board in Arduino form factor. Purchased from MPJA, available elsewhere for less.
 
Espressif WROVER-DEVKITC boards (2) from Digikey. Great except they are too wide to use on a breadboard.
 
I have a some [[Home Control]] stuff deployed around my house that's based on ESP8266 chips including FEIT dimmers and Marin Jerry switches.
I intend to reflash them all soon to get them off the IoT and onto the local network.
 
ESP-PROG anxiously awaiting the arrival of this programmer / JTAG board.
 
=== M5 hardware ===


[https://github.com/m5stack/M5StickC M5StickC] orange and wearable.
[https://github.com/m5stack/M5StickC M5StickC] orange and wearable.
Line 9: Line 20:


[Atom Echo] white, with a speaker and microphone. It also has a Neopixel
[Atom Echo] white, with a speaker and microphone. It also has a Neopixel
== Projects ==
Motion sensor -- I have had one deployed for months in our bedroom, it switches on a light in the evening. Works via MQTT
I used a RADAR sensor that is too good, it can see through drywall and picks up motion everywhere. I am switching to
PIR sensors soon.
LED strip controller -- working on this soon, to control RGBW strips over WiFi, or maybe I will press on with the [[Nordic]] nRF52840's and Zigbee.


== Toolchains ==
== Toolchains ==
Line 55: Line 74:


https://mcuoneclipse.com/2019/10/20/jtag-debugging-the-esp32-with-ft2232-and-openocd/
https://mcuoneclipse.com/2019/10/20/jtag-debugging-the-esp32-with-ft2232-and-openocd/


== Books and resources ==
== Books and resources ==

Revision as of 20:02, 8 January 2021

Espressif modules and boards

Hardware

Wemos D1 R1 - ESP8266 board in Arduino form factor. Purchased from MPJA, available elsewhere for less.

Espressif WROVER-DEVKITC boards (2) from Digikey. Great except they are too wide to use on a breadboard.

I have a some Home Control stuff deployed around my house that's based on ESP8266 chips including FEIT dimmers and Marin Jerry switches. I intend to reflash them all soon to get them off the IoT and onto the local network.

ESP-PROG anxiously awaiting the arrival of this programmer / JTAG board.

M5 hardware

M5StickC orange and wearable. Also has an 80x160 OLED display, a 6-axis accelerometer, and a microphone

Atom Matrix grey with 5x5 Neopixel LED matrix and a 6-axis IMU

[Atom Echo] white, with a speaker and microphone. It also has a Neopixel

Projects

Motion sensor -- I have had one deployed for months in our bedroom, it switches on a light in the evening. Works via MQTT I used a RADAR sensor that is too good, it can see through drywall and picks up motion everywhere. I am switching to PIR sensors soon.

LED strip controller -- working on this soon, to control RGBW strips over WiFi, or maybe I will press on with the Nordic nRF52840's and Zigbee.

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.

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.

JTAG debugging

Example of JTAG debugging

JTAG debugging

https://mcuoneclipse.com/2019/10/20/jtag-debugging-the-esp32-with-ft2232-and-openocd/

Books and resources

Neil Kolban

Random Nerd