Archive

Posts Tagged ‘esp32’

Arduino Cinque Combines SiFive RISC-V Freedom E310 MCU with ESP32 WiFi & Bluetooth SoC

May 22nd, 2017 5 comments

SiFive introduced the first Arduino compatible board based on RISC-V processor late last year with HiFive1 development board powered by Freedom E310 MCU, but  the company has been working with Arduino directly on Arduino Cinque board equipped with SiFive Freedom E310 processor, ESP32 for WiFi and Bluetooth, and an STM32 ARM MCU to handle programming.

Click to Enlarge

Few other technical details have been provided for the new board, but since it looks so similar to HiFive1, I’ve come with up with preliminary/tentative Arduino Cinque specifications:

  • MCU – SiFive Freedom E310 (FE310) 32-bit RV32IMAC processor @ up to 320+ MHz (1.61 DMIPS/MHz)
  • WiSoC – Espressif ESP32 for WiFi and Bluetooth 4.2 LE
  • Storage – 32-Mbit SPI flash
  • I/Os
    • 19x Digital I/O Pins
    • 19x external interrupt pins
    • 1x external wakeup pin
    • 9x PWM pins
    • 1/3 SPI Controllers/HW CS Pins
    • I/O Voltages –  3.3V or 5V supported
  • USB – 1x micro USB port for power, programming and debugging
  • Misc – 6-pin ICSP header, 2x buttons
  • Power Supply – 5 V via USB or 7 to 12V via DC Jack; Operating Voltage: 3.3 V and 1.8 V
  • Dimensions – 68 mm x 51 mm

Image Source: Olof Johansson

The board will obviously be programmable with the Arduino IDE, something that’s already possible on HiFive5 possibly with limitations since the platform is still new. Freedom E310 SoC RTL source code is also available via the Freedom SDK.

There’s no availability nor price information, but considering HiFive1 board is now sold for $59, and Arduino Cinque may cost about the same or a little more once it is launched since it comes with an extra ESP32 chip, but a smaller SPI flash. Hopefully, it will take less time than the one year gap experienced between the announcement and the release of Arduino Due.

SHA2017 Conference Badge To Feature ESP32 SoC, e-Paper Display

May 9th, 2017 5 comments

In most conference, you’ll wear a badge showing your name, job description and company, but with the price of electronics going down, it may be time for a conference badge upgrade. SHA2017 is a non-profit outdoor hacker camp taking place in The Netherlands in 2017 on August 4 – 8, and the organizers are planning to use a special badge comprised of Espressif ESP32 processor, and an e-Paper Display.

Click to Enlarge

SHA2017 Badge specifications:

  • Wireless Module – Espressif ESP32 based ESP-WROOM-32 module with WiFi and Bluetooth
  • Display – 2.9″ e-paper display (296×128)
  • Storage – micro SD slot
  • Expansion – 12-pin expansion header with GPIOs, I2C, 3.3V, GND
  • Debugging – micro USB port + USB->TTL chip for programming
  • Misc – Direction keys, select, start, A and B buttons for input; 6x RGB, LEDs; pager motor for notifications
  • Battery – Battery sized to last at least a day

Click to Enlarge

Beside your name and company details, the badge could also be used for weather and timetable information. EAGLE files and firmware can be found on Github with more details also available in the Wiki. The price of the badge is still expected to be around 20 Euros, and they are looking for sponsors. If you’d like that badge and attend the conference, you’ll need a 250 Euros ticket for the 5-day event.

Thanks to Zoobab for the tip.

Getting Started with ESP32-Bit Module and ESP32-T Development Board using Arduino core for ESP32

May 7th, 2017 16 comments

Espressif ESP32 may have launched last year, but prices have only dropped to attractive levels very recently, and Espressif has recently released released ESP-IDF 2.0 SDK with various improvements, so the platform has become  much more interesting than just a few weeks ago. ICStation also sent me ESP32-T development board with ESP32-bit module, so I’ll first see what I got, before trying out Arduino for ESP32 on the board.

ESP32-T development board with ESP-bit Module – Unboxing & Soldering

One thing I missed when I asked for the board is that it was not soldered, and it comes in kit with ESP32-bit module in one package, and ESP32-T breakout board with headers in another package.

Click to Enlarge

The 21.5x15mm module is based on ESP32-DOWNQ6 processor with 32 Mbit (4MB) of flash, a chip antenna, and a u.FL connector.

Click to Enlarge

The module is apparently made by eBox, and also used in Widora board with all information (allegedly) available on eboxmaker.com website, but more on that later.

Click to Enlarge

ESP32-T breakout board comes with a micro USB port for power and programming/debugging via Silabs CP2102 USB to TTL brige, a power LED, a user LED (LED1), a reset button, and a user button named “KEY”. It has two rows of 19-pin headers, and a footprint for ESP32-Bit module.

Click to Enlarge

The back of the board has a footprint for ESP-32S and ESP-WROOM-32 module, which gives the board some more flexibility, as you could try it with various ESP32 modules.

Time to solder the kit. I placed ESP32-Bit on ESP32-T, and kept it in place with some black tape to solder three to four pins on each side first.


I then removed the tape, completed soldering the module, and added the headers.

Click to Enlarge

The final step is to cut the excess pin on the headers, and now we can test the board which I could insert in a breadboard after pushing with some tools…

I connected a micro USB to USB between the board and my computer, and quickly I could see the PWR LED with a solid green, and LED1 blinking.

I could also see a new ESSID on my network: ESP32_eBox, and I could just input the… wait, what is the password? No idea. So I went to the board’s website, and everything is in Chinese with very limited hardware and software information on the ESP32 page. So it was basically useless, and I did not find the password, and other people neither. I asked ICStation who provided the sample, but they were unable to provide an answer before the review.

I could see the serial ouput via /dev/ttyUSB0 (115200 8N1) in Ubuntu 16.04:

Arduino core for ESP32 on ESP32-T (and Other ESP32 Boards)

But nothing really useful. Since the website mentions Arduino, I just decided to go with Arduino core for ESP32 chip released by Espressif, which explains how to use Arduino or PlatformIO IDEs. I opted to go with the Arduino IDE. The first thing is to download and install the latest Arduino IDE.

I’m running Ubuntu on my computer, so I downloaded and installed the Linux 64-bit version:

The next commands install the Arduino ESP32 support and dependencies:

We can now launch the Arduino IDE:

There are several ESP32 to choose from, but nothing about ESP32-T, ESP32-Bit, or Widora. However, I’ve noticed the board’s pinout looks exactly the same as ESP32Dev board shown below.

Click to Enlarge

So I selected ESP32 Dev Module, and set /dev/ttyUSB0 upload speed to 115200.

Click to Enlarge

The next step is to find an easy example to check if everything works, and there are bunch of those in File->Examples, Examples for ESP32 Dev Module section.

Click to Enlarge

I selected GetCHIPID sample, as it just retrieve the Chip ID from the board, and as we’ll see later the Chip ID is actually the MAC Address. I could upload the code, and it indeed returned the Chip ID:

The next sample I tried – WiFi->SimpleWiFiServer – will allow you to test both WiFi connectivity and GPIOs. I modified the sketch to use pin 2 instead of pin 5  in order to control LED1 on the board connected to GPIO2. You’ll also need to set the SSID and password to connect to your WiFi network. Once you’ve compiled and uploaded the sketch to the board, you’ll need to find the board’s IP address. You can do so in your router DHCP list with the board named “espressif” by default, and the MAC address will be the same as the CHIP ID, 24-0A-C4-01-A4-24 in my case. Now you can open the web interface in a web browser to turn on and off LED1 green LED on the board.

You could also use directly http://IP_ADDRESS/H or http://IP_ADDRESS/L to pull the pin high or low. It worked beautifully, but so far, we have not done anything that does not work on the much cheaper ESP8266 boards, and I can see one Bluetooth LE code sample for ESP32 called simpleBLEDevice in Arduino IDE, so let’s try it. It will just broadcast advertise the name of the device, and change it on button press, which could be used to broadcast message to a BLE gateway.

That’s the output from the serial terminal.

The initial name is ESP32 SimpleBLE, and as I press the KEY button on the board, the name will change to “BLE32 at: xxx”. I could detect a Bluetooth ESP32 device with the various names with my Android smartphone.

Since, it’s just advertising the name, there’s no pairing. But that’s a start. To have more insights into Bluetooth, you may also want to check out WiFiBlueToothSwitch.ino sample which shows show to use various mode such as Bluetooth only, Bluetooth + WiFi, WiFi STA, etc… For a more practical use of Bluetooth on ESP32, Experiments with Bluetooth and IBM Watson article may be worth a read. But a faster dual core processor and Bluetooth support are not the only extra features of ESP32 compared to ESP8266, as you also get more GPIOs, hardware PWM, better ADC, a touch interface, a CAN bus, Ethernet, etc…, so there’s more to explore, although I’m not sure all features are fully supported in ESP-IDF SDK and Arduino.

Final Words about ESP32-T and ESP32-Bit

After some initial difficulties, and confusions, I managed to make ESP32-T development kit work, but it’s difficult to recommend it. First, documentation is really poor right now, and while I found out you can use the exact same instructions than for ESP32Dev board, it does not reflect well on the company. Second, the board is sold as a kit that needs to be soldered, which may be a hassle for many, and possibly a fun learning experience for a few. Finally, ESP32-T + ESP32-Bit sells for $15 to $20 on various website, which compares to competitors fully assembled development boards – such as Wemos LoLin32 – now going for less than $10 shipped, and which basically the same features set (ESP32 + 4MB flash) minus the user LED and button, and a u.FL connector for an external antenna.

I’d still like to thank ICStation for giving me the opportunity to test the board. They are now selling it for $14.99 shipped with 15% extra discount possible with Jeanics  coupon (for single order). You’ll also find ESP32-T board on Aliexpress, but pay close attention if you are going to buy there, as it may be sold without ESP32-Bit module. Usually, all prices well below $10 are without the module.

Whitecat ESP32 N1 Board Combines ESP32 WiFi + Bluetooth SoC with a LoRa Transceiver, Runs Lua RTOS

May 2nd, 2017 4 comments

Espressif ESP32 SoC is gaining traction right now as prices have come down, and there’s still an on-going fight among LPWAN standards with LoRaWAN being fairly popular in Europe. Whitecat, a group of engineers from several companies based in Citilab, Barcelona, Spain, has designed a board that combines both ESP32 and a LoRA transceiver, bringing an alternative to Pycom LoPy board, but instead of running MicroPython, they have developed Lua-RTOS.

Whitecat ESP32 N1 hardware specifications:

  • SoC – Espressif ESP32 dual-core Tensilica LX6 microprocessor @ up to 240MHz with 520kB internal SRAM
  • Storage – 4MB flash memory
  • Connectivity
    • LoRa WAN transceiver working in the 868 (EU) MHz / 915 (USA) MHz with on-board antenna, and u.FL connector for external antenna
    • Integrated 802.11b/g/n WiFi transceiver with on-board antenna, and u.FL connector for external antenna
    • Integrated dual-mode Bluetooth (classic and BLE)
  • I/O Headers – 2x 16-pin with SPI, I2C, I2S, SDIO, UART, CAN, ETHERNET, IR, PWM, DAC, ADC.
  • Power Supply
    • 3.3 to 5.5V operating range through input voltage regulator
    • Second voltage regulator for power on / power off sensors through a dedicated GPIO
  • Dimensions – 78 x 26 mm

By default, the board runs Lua RTOS real-time operating system designed to run on embedded systems, and currently supporting ESP32, ESP8266 and PIC32MZ platforms. The OS has a  3-layer design:

  1. Top layer – Lua 5.3.4 interpreter with special modules to access the hardware (PIO, ADC, I2C, RTC, etc …), and middleware services provided by Lua RTOS (Lua Threads, LoRa WAN, MQTT, …).
  2. Middle layer – Real-Time micro-kernel powered by FreeRTOS.
  3. Bottom layer – Hardware abstraction layer, which talk directly with the platform hardware.

Lua RTOS boards can be programmed with Lua programming language directly, or using a block-based programming language that translates blocks to Lua.

ESP8622 and PIC32 targets have some limitations so features like SSL are not implemented, but ESP32 supports all features listed below:

  • Lua Thread, Pthread API
  • SSL
  • On-board editor, Shell
  • FAT and SPIFFS file systems
  • WiFi, Ethernet
  • LoRaWAN class A & B node, LoRa WAN gateway
  • ADC, SPI, UART, PIO, PWN, I2C, CAN,
  • Sensor, Servo

Bluetooth is missing from the list. You’ll find Lua RTOS source code and instructions to get started on Github. The Wiki is also also a good place to get started with ESP32 N1 Board and Lua-RTOS.

Board pricing is currently a little on the high side, as ESP32 N1 board is sold for 30 Euros without Lora, and 40 Euros with LoRa. Worldwide shipping adds 5 Euros to the total. You’ll find more details, including the purchase links, on Whitecat ESP32 N1 page.

$6.90 Wemos LoLin32 ESP32 Development Board Comes with 4MB Flash, Lithium Battery Support

April 21st, 2017 7 comments

Wemos – the company behind the cool Wemos D1 mini ESP8266 board – has now launched its first Espressif ESP32 development board with LoLin32 equipped with ESP-WROOM-32 module with 4MB flash, a micro USB port, and a battery header.

Click to Enlarge

Wemos Lolin32 specifications:

  • Wireless Module – ESP-WROOM-32 based on Espressif ESP-32 dual core processor @ 240 MHz with 4MB flash
  • Connectivity – 802.11 b/g/n WiFi + Bluetooth LE
  • I/Os
    • 26x digital I/Os
    • 12x analog inputs
    • UART, I2C, SPI, VP/VN, DAC
    • 3.3V I/O voltage
    • Breadboard compatible
  • USB – 1x micro USB port for power and programming/debugging
  • Power – 5V via micro USB + battery header for Lithium battery (charging current: 500mA max)
  • Dimensions – 5.8 x 2.54 cm
  • Weight – 5.8 grams

Click to Enlarge

The board is not compatible with Wemos D1 mini (34.2 x 25.6 mm) and shield, but offers a more powerful solution with Bluetooth LE, battery support, and more I/Os. The Wiki is still work-in-progres, and there’s no that much information on the page yet.

Wemos LoLin32 can be purchased for $6.90 + shipping ($8.66 in my case) on Aliexpress.

Via ESP32net twitter

Hornbill ESP32 Development Boards Come with an Optional IP67 Rated Enclosure (Crowdfunding)

April 7th, 2017 1 comment

While there are plenty of ESP32 development boards, and prices have recently plummeted, getting a case for your project can still be a problem especially if you plan to use it outdoor, as you need to protect your hardware from rain and dust. Hornbill project offers two ESP-WROOM-32 based boards, a prototype board, and an IP67 certified case that could be useful for outdoor use.

Hornbill ESP32 Development Boards

Let’s start by checking the boards available starting with ” Hornbill ESP32 Dev” board with the following specs:

  • ESP-WROOM-32 module with WiFi, Bluetooth LE,  FCC, CE, IC, MIC (Telec), KCC, and NCC certifications
  • I/O headers
    • 2x 19-pin headers with GPIOs, I2C, UART, SPI, ADC, DAC, touch interface, VN/VP, 5V, 3.3V and GND
    • Breadboard-friendly
  • Debug – Built-in CP21XX USB-to-serial
  • Power Supply – 5V via micro USB port, battery header + single cell LiPo charger
  • Dimensions – TBD

ESP32 Dev (left) and ESP32 Minima (right)

ESP32 Minima is also based on ESP-WROOM-ESP32 module, but is designed for wearables with its round PCB, it only includes a header for battery power, and is limited to 16 large pads with through holes for I/Os, as well as 6 pins for programming and debugging the board.

Hornbill ESP32 Dev Pinout Diagram – Click to Enlarge

Finally, the company has also designed Hornbill ESP32 Proto board where you can solder ESP32 Dev board, and add whatever components you may need for your project. The Proto board also includes a microSD card slot, an RGB LED, an SHT 31 humidity and temperature sensor, as well as footprints for 6x IR transmitters and 1x IR Receiver.

Hornbill Weather Proof Case and Kits

Beside the boards, the developers also provide an IP67 case for it, as well as kits leveraging the case:

  • Hornbill OUR (Open Remote Control) – Bluetooth (BLE) to Infrared (IR) bridge to control IR devices with your smartphone
  • Hornbill Lights – Control RGB LED strips over Bluetooth Smart
  • Hornbill IDL (Industrial Data Logger) – Logs power and temperature values, and upload them securely to the cloud.

There’s also Hornbill Makers Kit without the case, but with Hornbill ESP32 Dev and plenty of modules to play with, such as relays, various sensors, LEDs, a buzzer, an OLED display, a mini breadboard and so on… You’ll find ESP32 firmware and Android app source code for all kits on ExploreEmbedded github account.

 

Hornbill project has just launched on CrowdSupply with the goal of raising at least $2,000. A $12 pledge is asked for Hornbill ESP32 Dev or Hornbill Minima, $15 for the case, and the kits go from $39 (Hornbill ESP32 Dev + Proto board + Case) to $79 for Hornbill Lights with a WS2812 LED strip. Worldwide shipping is included in the price, and delivery is scheduled for June 2017. Noe that this is not the first project from ExploreEmbedded, as they previously launched Explorer M3 board based on NXP LPC microcontroller. However, since CrowdSupply do not show backers’ comments, I could not check whether backers are happy, or the project shipped on time.

New Espressif ESP32 Single and Dual Core Processors in 5x5mm Package, Optional Embedded Flash Coming Soon

April 4th, 2017 8 comments

Espressif ESP32 was launched last year as a dual core Tensila processor with WiFi and Bluetooth connectivity, relying on external flash for storage, and packaged into a QFN48 6x6mm package. Espressif recently updated ESP32 datasheet, and the guys at ESP32net noticed three new versions of the processor with a QFN48 5x5mm package, one version including 2 MBytes embedded flash, and another version with a single core.

The three new versions of ESP32 all come with the same WiFi 802.11b/g/n ad Bluetooth 4.0 LE connectivity and a QFN 5×5:

  • ESP32-D0WD dual core processor without embedded flash
  • ESP32-D2WD dual core processor with 16 Mbit embedded flash
  • ESP32-S0WD single core processor without embedded flash

ESP32-D0WD different with ESP32-D0WDQ6 is only the smaller package, while ESP32-D2WD brings 2MB embedded flash too possibly lowering the price of current solution with external flash, and ESP32-S0WD might be closer to ESP8266 price thanks to its single core, while still offering Bluetooth Smart support on top of WiFi.

Other interesting – but so far unused – parts of the nomenclature are that future ESP32 version may support 802.11a (AFAIK no that commonly used), as well as 802.11ac for higher WiFi throughput, which would also mean a dual band (2.4 / 5GHz) ESP32 processor (ESP32-D0CD or ESP32-D2CD) might be manufactured in the future.

Thanks to Nanik for the tip.

Categories: Espressif Tags: 802.11ac, ble, esp32, espressif, IoT, wifi

Is NodeMCU ESP-32S Board Now Selling for $8.50 Shipped?

March 31st, 2017 8 comments

ESP32 SoC with WiFi and Bluetooth launched last September for around $3, followed soon after by ESP32 modules for $7, and a few weeks later, easier to use ESP32 development boards were introduced, but sold for around $20 likely due a mismatch between supply and demand. That’s not overly expensive, but in a world of $4 ESP8266 boards and $10 Raspberry Pi Zero W with Linux, WiFi and Bluetooth, it may feel that way. But today, I noticed DealExtreme sold GeekWorm ESP32 board with ESP-WROOM-32 module for just $11.64 shipped. That’s good progress, but surely Aliexpress must now have cheaper options, and sure enough, I could find NodeMCU ESP-32S board (now confirmed NOT to be an official NodeMCU devkit) sold for $6.95 + shipping, which brought the price up to about $8.50.

NodeMCU ESP-32S specifications:

  • Wireless Module – ESP-WROOM-32 with Espressig ESP32 dual core processor with 802.11 b/g/n WiFi and Bluetooth 4.0 LE
  • Expansion – 2x 19 pin headers with GPIOs, Analog inputs (ADC), UART, I2C, VP/VN, etc…; breadboard compatible
  • USB – 1x micro USB port for power and programming
  • Misc – BOOT and EN buttons, red (power) and blue (GPIO2) LEDs
  • Power Supply – 5V via USB or Vin pin
  • Dimensions – 51.4 x 28.3 mm

The Aliexpress page directs to LuaNode github page, which explains how to build and flash the firmware (provided you want to use Lua) and use the board. The information does to refers to NodeMCU, but DOIT ESP32 development board instead sold on Aliexpress for just under $10 shipped. Both boards look exactly the same apart from marking, and you’ll find the schematics here. There are also some examples on the Wiki on github with an ESP32 camera, and Nokia5110 LCD screen.

As I was about to complete this post, I heard the postman motorbike’s horn, and it turns out I’ve just received my first ESP32 board from IC station today, which to my surprise did not come fully assembled, so I’ll have to solder eboxmaker ESP32-Bit module on the board. The price has increased since last time I checked, with the board now sold for $19.99, with some 15% discount possible using jeanics coupon.