New Open Source Hardware OSHW board with ESP32-S2 have native USB-OTG allowing USB host and device functionality with ESP32-S2 low power modes down to 20uA are possible

ESP32-S2 is new SOC from Espressif, compared to ESP32 it has no Bluetooth and Ethernet connectivity, but offers plenty of GPIOs and has native USB-OTG interface.

Our first version uses USB to Serial converter as Espressif IDE at that time didn’t support programming via the native USB interface, but now their SDK supports USB programming, so we released new version without the not necessary USB-Serial converter.

To the best of our knowledge this is the first board to the market where USB-OTG is implemented and the board can work both in device and host mode ( at least as hardware 🙂 )

The hardware now is ahead of software as USB host functionality in SDK is missing yet, but at least we provide hardware platform for the future.

ESP32-S2-DevKit-Lipo-USB is OSHW so the CAD files are available on GitHub if someone want to see how we implement the USB-OTG. It’s really complicated as we wanted to keep the handheld battery operation and keep the LiPo charger and battery circuit. This leads to quite some over engineering around the power supply as the battery should charge when USB-OTG works in Device mode, and source 5V to the USB-OTG when it’s in Host mode!

It took us 2 revisions until we made it right, so thanks for your patience, now the board is in stock and orderable.

ESP32-S2-WROVER-DevKit-Lipo-USB with WROVER module with 2MB RAM is also available for these who want to write big applications.

New Board with ESP32-S2 with LiPo charger unleash the native USB-OTG functionality

We recently released our ESP32-S2-DevKit-Lipo development board with ESP32-S2 SOC. It has the same functionality and pinout as Espressif ESP32-S2-Saola-1, but in addition it has a LiPo charger and battery management and is designed for Ultra low power – only 30uA consumption when on battery and deep sleep. This allows handheld battery operated applications. The LiPo part can power external sensors/circuits. This board has a built-in programmer with a CH340T USB-Serial convertor.

Many have noticed that ESP32-S2 has a native USB-OTG. Then why did we put the CH340T on it? The reason is that the Espressif SDK didn’t support USB back when we designed this board.

Now Espressif SDK adds support for a USB bootloader and the programming of the ESP32-S2 can be done by the native USB interface, we decided to make a new revision where the native USB-OTG interface is used.

We wanted to keep the LiPo battery functionality and this created an interesting technical challenge: the USB-OTG port can be used both as device and host. When used as a device, the board is powered by the USB and LiPo battery is charging. When used as a USB host (i.e. you can attach USB devices to the port) the USB port must supply 5V to the USB devices connected. Our first prototype had a power supply problem: when the ESP32-S2 works as a host the battery is powering the USB-OTG port with 5V, but there is attached also the LiPo charger circuit, so infinite loop is made: battery -> step up to 5V -> USB -> LiPo chgarger -> battery 🙂

This issue was preventing us from releasing this board earlier, but now on Rev.B all of these issues are fixed so we are about to run production.

Needless to say we kept the ultra low power design and the new board also consumes as low as 30uA in deep sleep.

Searching on the net it seems that no one else has implemented a USB-OTG functionality to the ESP32-S2 yet so this one will be the first. Also to the best of our knowledge there is still no software support for a USB host on the ESP32-S2 but we hope after our hardware is released this will push and accelerate the software development further.

ESP32-S2-DevKit-LiPo-USB is going to be released as Open Source Hardware like other IoT solutions we have.

Implementation of OPC UA on ESP32-EVB

OPC Unified Architecture (OPC UA) is an open, implemented under GPL 2.0 license, machine to machine communication protocol for industrial automation developed by the OPC Foundation.

The OPC UA protocol specification consists of 14 documents for a total of 1250 pages. Due to this complexity, existing implementations are usually incomplete.

This is why we were puzzled to see on Twitter post by Selftronics that they made OPC UA server running on ESP32-EVB!

Here are the details of the implementation, the sources are at GitHub.

New Open Source Hardware IoT ESP32-S2 development boards with LiPo Battery Charger and consumption of only 30uA in deep sleep target handheld WiFi apps

ESP32-S2 is new SOC from Espressif which fills the gap between ESP32 and ESP8266.

It has the same memory model as ESP32 but has cut the Ethernet and Bluetooth parts, so only WiFi connection is possible – same as ESP8266, but offers more power, secure boot and encrypted firmware. Also support of decent SSL connection, something which lacks in ESP8266.

Pricewise now S2 is a bit lower cost than ESP32 and more expensive than ESP8266, but there is very strong competition in this niche coming from the new Bouffalo BL6XX chips, so my prediction is that to stay ahead Espressif will further lower the prices of ESP32-S2 to match ESP8266 very soon.

For comparison with ESP32 and ESP8266 the new ESP32-S2 has plenty of GPIOs up to 43!

Initially Espressif has announced that their ESP32-S2-WROVER modules will have as low as 2-4uA consumption, but later they increased this value to 20uA. Not quite well as their target but still very good achievement.

Our ESP32-S2-DevKit-Lipo is pin to pin compatible with ESP32-S2-Saola-1:

To keep compatibility with SAOLA-1 we add RGB LED, but also add LiPo battery charger and ESP32-S2-DevKit-Lipo can operate even without external power supply only on LiPo battery, there is battery level monitoring and external power supply sense. ESP32-S2-DevKit-Lipo can power external circuits with 3.3V up to 200mA when operate on battery.

ESP32-S2-DevKit-Lipo has build in programmer with CH340T. There is possibility the programmer part to be excluded and to use ESP32-S2 directy USB connection.

When operating on battery if the RGB LED is enabled the power consumption is ridiculous 700uA as the RGB LED appear to use lot of current even when not in operation, but there is RGB disable solder jumper which if opened you will not be able to operate the RGB LED on battery but will decrease the power consumption to total less 30uA in deep sleep.

For these who need more memory there is variant ESP32-S2-WROVER-DevKit-Lipo with 2MB of PSRAM.

The prices start from EUR 5.56 for ESP32-S2-DevKit-Lipo and EUR 6.36 for ESP32-S2-WROVER-DevKit-Lipo .

PWR-SWITCH is optically isolated EU style power load switch for up to 3500W, 230VAC/16A and can be driven with any microcontroller, Arduino, EPS32, or Linux computers directly with 3-24V

PWR-SWITCH hides the high voltage problems from the Arduino, ESP32, Raspberry Pi, Beaglebone, OLinuXino developers. It has 1500VAC optically isolation and can drive high voltage up to 230VAC / 16A loads safely.

To switch On or Off the loads from 3 to 24VDC can be used, so you can drive the loads with any microcontroller only 1mA is necessary to trigger the switch.

PWR-SWITCH is with EU stype plug and receptacle, so to use it in US or in UK you will need some of these:US to EU adapter, EU to US adapter or UK to EU adapter.

 PWR-SWITCH has CE-EMC and LVD certification.

Green LED show the switch status.

Open Source Software OpenMQTTGateway got initial support for Open Source Hardware ESP32-GATEWAY

OpenMQTTGateway project aims to concentrate in one Gateway different technologies like Bluetooth, LoRa, IR, lagacy RF 433/315, GSM/GPRS based devices and connect them with OpenHAB, Home Assistant, Jeedom, FHEM, Domotic etc platforms via MQTT protocol.

The list of the supported devices is long.

With recent PR initial support for ESP32-GATEWAY is add.

How to configure and use ESP32-CAM with Arduino IDE and Linux

ESP32-CAM is small low cost WiFi camera with OV2460 2Mpix sensor. It allows you to stream video and even to perform some small image filterings and face detection / recognition.

Unfortunately the AI Thinker vendor trying to keep cost as low as possible didn’t include USB programmer in it so the setup is a bit odd.

What do you need to play with ESP32-CAM ?

You need the camera of course and some cables and USB to serial converter which also provide enough 3.3V source to power the camera.

In this example we will use ESP-PROG-C which comes with set of cables and USB-CABLE-micro-1.8M

Step.1

Install Arduino IDE

Please go to arduino.cc and download and install latest Arduino IDE.

Step.2

Linux and CH340

CH340 Linux drivers has bad PLL settings for all Linux kernels before 5.5.

If your system happen to be with Linux Kernel before 5.5. here is the GitHub repository with the patch to install.

If you do not have this patch CH340 will work, but will not be able to communicate at speed over 115200 bps, with the patch up to 2Mbps communication is possible.

Step.3

Wire cables:

You need to connect ESP32-CAM and ESP-PROG this way:

ESP32-CAM GND —-> ESP-PROG GND

ESP32-CAM 3.3V —-> ESP-PROG 3.3V

ESP32-CAM U0T —-> ESP-PROG RXD

ESP32-CAM U0R —-> ESP-PROG TXD

For firmware uploading you need one more connection, which is necessary ESP32 to go in Bootloader mode:

ESP32-CAM IO0 —-> ESP32-CAM GND

Step.4

Configure Arduino for ESP32-CAM

Run Arduino. In the Files-Preferences add:

https://dl.espressif.com/dl/package_esp32_index.json

In Tools-Board-Board Manager search for ESP32 and install it:

Exit Arduino and Run it again so it loads new board data. From File-Examples select ESP32-Camera-CameraWebServer

In select camera model uncomment CAMERA_MODEL_AI_THINKER and comment all other:

Then enter SSID and PASSWORD for your WiFi router.

In Tools-Board select : ESP32Wrover Module

Speed 921600

Flash Frequency 80Mhz

Flash Mode QIO

Partition Scheme: Huge app

Port: the port where your ESP-PROG USB Serial is connected it may be „ttyUSB0“ if you are running Linux or COMxx if you run Windows

Compile and see if there are no errors:

Then Press RESET button on ESP32-CAM, release it and hit Upload button on Arduino IDE.

If you get this error under Linux:

This means that the access to ttyUSB0 is not enabled for your user and you have to run in terminal

$ sudo chown youruser /dev/ttyUSB0 

Where „youruser“ can be seen and try again.

If everything is OK you will see this picture:

Now you have to disconnect ESP32-CAM IO0 and GND and press reset. In serial monitor you will see this message:

when you open http://192.168.100.109/ you will see

Now you can play with the different settings!

New Open Source Hardware board ESP-PROG allow you to program any Espressif device and can be used as general purpose USB-Serial converter

Created with GIMP

ESP-PROG is USB to Serial converter but beside the Serial TX and RX signals it also can power the target with +5V up to 0.5A or 3.3V up to 0.5A and have two additional signals which make programming automatic RESET (EN) and BOOT enable.

ESP-PROG-C includes all necessary cables for the ISP programming – 7 pcs jumper wires female to female and 6 pin ICSP cable.

ESP-PROG is based on CH340T IC and has drivers for Linux, Windows, MACOS, Android with up to 2 Mbps speed.

New open source hardware board ESP32-S2-DevKit-Lipo breaks our internal record for ESP32 low power consumption

Screenshot from 2020-05-18 11-46-43

ESP32-S2 is new SOC from Espressif which has only WiFi connectivity but has much more GPIOs available than ESP32 and ESP8266, also it has USB native connection which opens lot of new possibility.

We already sell Espressif’s Saola-1R board which has ESP32-S2-WROVER module, but it’s not designed for battery operation and low power as uses general purposes LDOs and has no battery connection.

This is something we wanted to improve – we designed board with same module but add LiPo charger and now our ESP32-S2-DevKit-LiPo can operate on LiPo battery even when there is no external power supply, but on top of this we kept the same PCB dimensions and ESP32-S2-DevKit-Lipo is drop-in replacement for ESP32-S2-Saola-1R. We use same module with 2MB RAM and 4MB Flash so once you develop with Saola you can move to ESP32-S2-DevKit-Lipo and make your projects battery operated.

The new ESP32-S2-DevKit-Lipo uses ultra low power power supply circuit which makes current consumption during sleep only 6uA  (4uA of them are due to the battery measurement resistor divider) this is 10 times less than our other boards.

Prototypes are build now and we run production and will have these in stock by the beginnings of June.

Limited Quantity of the new ESP32-S2 multimedia and breadboard development boards from Espressif are in stock!

ESP32-S2-Kaluga-1

ESP32-S2 is new SOC from Espressif which is supposed to solve some issues with current ESP32 and ESP8266 SOC chips.

First issue S2 solves is the small number of GPIOs ESP32 has, specially if you want to use the Ethernet interface. ESP32-S2 comes with 37 GPIOs in nice 5x5mm QFN28 package. The SOC is single core 240Mhz processor with build in USB interface. The Bluetooth and Ethernet interfaces are removed.

Pricewise ESP32-S2 is cheaper than ESP32 but a bit more expensive than ESP8266.

ESP32-S2-WROOVER module comes with 2MB of RAM and 4MB of Flash and will be able to replace ESP8266 everywhere while having enough resources to run secure SSL connection.

Two development boards are available for ESP32-S2.

ESP32-S2-Saiola-1R is the low cost entry breadboard experimental board which includes ESP32-S2-WROVER module, USB programmer, RGB LED and couple of buttons.

It has all GPIOs exposed for experiments:

esp32-s2-saola-1-v1.2-annotated-photo

The second board is ESP32-S2-Kaluga-1 which is multimedia board with camera, microphone, audio codec, 3.2″ LCD with touch screen, speaker:

ESP32-S2-Kaluga-1b

The kit comes with Camera module:


ESP32-S2-Kaluga-1c

and touch sensor plate:

ESP32-S2-Kaluga-1e

Kaluga multimedia board is so new that still not have page at Espressif site, so all info is in their GitHub repository.

Previous Older Entries