Close

Getting started

A project log for AirCore - Plug n' Play Wireless Serial

A lightweight module providing high speed WiFi data transfer. Native support for most uC. Clean and easy to use. ESP8266 based.

cristian-dobreCristian Dobre 01/28/2016 at 11:060 Comments

Some time ago, I had to build a wireless timer which had to display current time and lap times on a screen nearby. I've accomplished this back then using an WiFly RN-XV from Sparkfun, but the amount of coding required for the networking part was ridiculous. Especially because I had to read most of the RFC6455 in order to write a proper implementation. For another project, the library was updated to support multiple concurrent connections.

The idea for a module like this came to my mind when I saw other people doing TCP transparent bridges using cheaper ESP8266 modules. Even though free, Espressif's SDK had a generous amount of bugs back then, so the idea was put on hold.

The streaming protocol of AirCore relies on WebSockets implemented over a TCP connection. WebSockets have numerous advantages in terms of latency, communication speed and compatibility across different platforms. A WebSocket connection is a full duplex, persistent connection which has lower latency and less overhead compared to plain HTTP. And the protocol is supported by (almost) all modern Web browsers.

Supressing bootloader output

An annoying thing discovered while using the ESP8266 is the bootloader output which can't be disabled. You can swap the UART pins, but the TX remaps to MTDO which has to be held low during booting, so it would generate noise on the line. I have used a BSS138 Logic Level Translator on my board to toggle the ROM output, even though this occupies another GPIO pin.

Discussions