ESP32 Suitability for Project?

dspau1
Posts: 13
Joined: Sat Jan 14, 2017 9:25 am

ESP32 Suitability for Project?

Postby dspau1 » Sat Jan 14, 2017 9:39 am

Hi all, just want some advice regarding the suitability of the ESP32 and current SDK for my project.


Requirements are:

- Hardware PWM LED control at least 10bit and 1khz without using CPU
- Capacitive touch sensors, pref with adjustable sensitivity via software or hardware (anyone tried this yet?)
- Basic http server (no tls required)
- Basic http client (tls required)
- Switch between AP and STA mode during runtime (reboot ok)
- Udp broadcast send/receive for device discovery
- Tcp send/receive for device control (ie setting PWM duty cycle)
- Enable / disable wifi & bluetooth radios
- Save string data to flash during runtime to persist across device reboots
- Remote firmware update via http polling of update server (if not too complex...)

Is all of the above possible with the current hardware and SDK? I don't mind which software toolset I have to use so long as it all works :lol:

ESP_igrr
Posts: 1658
Joined: Tue Dec 01, 2015 8:37 am

Re: ESP32 Suitability for Project?

Postby ESP_igrr » Sat Jan 14, 2017 4:12 pm

dspau1 wrote: - Hardware PWM LED control at least 10bit and 1khz without using CPU
Yes, using LEDC peripheral (driver available).
dspau1 wrote: - Capacitive touch sensors, pref with adjustable sensitivity via software or hardware (anyone tried this yet?)
Driver for touch sensor is available, although currently it doesn't have any adjustable parameters. Exposing them is possible though.
dspau1 wrote: - Basic http server (no tls required)
AFAIK Esphttpd project has been ported to the ESP32, and provides a feature-rich HTTP server.
dspau1 wrote: - Basic http client (tls required)
Depending on how basic it needs to be; Libcurl has been reported running on the ESP32 (see http://esp32.com/viewtopic.php?f=17&t=409). There is also a fair number of HTTP clients written in C and C++ using socket APIs — in general they should work with little or no modifications. TLS is supported via mbedTLS library. OpenSSL wrappers for mbedTLS are also available in the ESP-IDF.
dspau1 wrote: - Switch between AP and STA mode during runtime (reboot ok)
- Enable / disable wifi & bluetooth radios
This is supported in the current master branch.
dspau1 wrote: - Udp broadcast send/receive for device discovery
- Tcp send/receive for device control (ie setting PWM duty cycle)
Supported using sockets API, or LwIP netconn API, or LwIP raw API.
dspau1 wrote: - Save string data to flash during runtime to persist across device reboots
Supported in the SDK using non-volatile storage (NVS) library. SPIFFS file system has also been ported to the ESP32 (a number of open source projects are using it).
dspau1 wrote: - Remote firmware update via http polling of update server (if not too complex...)
This is supported, see OTA demo in the current master branch of ESP-IDF.

WiFive
Posts: 2951
Joined: Tue Dec 01, 2015 7:35 am

Re: ESP32 Suitability for Project?

Postby WiFive » Sat Jan 14, 2017 8:04 pm

ESP_igrr wrote: AFAIK Esphttpd project has been ported to the ESP32, and provides a feature-rich HTTP server.
https://github.com/Spritetm/libesphttpd/commits/esp-idf

dspau1
Posts: 13
Joined: Sat Jan 14, 2017 9:25 am

Re: ESP32 Suitability for Project?

Postby dspau1 » Sun Jan 15, 2017 2:42 am

Great, it all sounds viable then, thanks for the detailed reply!

What would be your recommended toolchain to implement the above functionality? I'm most familiar with C in Visual Studio on Windows.

ESP_igrr
Posts: 1658
Joined: Tue Dec 01, 2015 8:37 am

Re: ESP32 Suitability for Project?

Postby ESP_igrr » Sun Jan 15, 2017 5:53 am

Regardless of the development environment, you need to use https://github.com/espressif/esp-idf as the development framework. On Windows, you can use Eclipse or Visual Studio with VisualGDB plugin (https://visualgdb.com/w/tutorials/tag/esp32/). One note about VisualGDB though: it is not clear how often VisualGDB folks update their ESP-IDF package, or how difficult it would be to use VisualGDB along with an ESP-IDF copy obtained from GitHub.

dkaufmann
Posts: 11
Joined: Wed May 17, 2017 9:06 am

Re: ESP32 Suitability for Project?

Postby dkaufmann » Wed May 17, 2017 10:15 am

Hi everyone.

I tried to use the esphttpd freertos example with ESP32. But I could not manage to do it yet. Anybody successfull with this? later I would like to connect the esphttpd example in ESP32 with SSL (integrated TLS 1.2 library) to have a secure webserver in ESP32. Has anybody done this?

madscientist_42
Posts: 95
Joined: Tue Feb 21, 2017 10:17 pm

Re: ESP32 Suitability for Project?

Postby madscientist_42 » Wed May 17, 2017 7:29 pm

ESP_igrr wrote:Regardless of the development environment, you need to use https://github.com/espressif/esp-idf as the development framework. On Windows, you can use Eclipse or Visual Studio with VisualGDB plugin (https://visualgdb.com/w/tutorials/tag/esp32/). One note about VisualGDB though: it is not clear how often VisualGDB folks update their ESP-IDF package, or how difficult it would be to use VisualGDB along with an ESP-IDF copy obtained from GitHub.
PlatformIO makes for a pretty good IDE for ESP-IDF and ESP Arduino setups. (http://platformio.org) It's built against the Atom Editor/IDE framework from GitHub. Works nicely and as long as you're not using an unreleased mid-stream from the GitHub pull for the IDF because of an issue, it's a bit easier for novices to deal with than the other two.

Drawback? It doesn't have the debugging hooks in place for the ESP32 yet...yet...

Who is online

Users browsing this forum: WiFive and 35 guests