ESP8266 SDK 2.0

Catching up with the latest ESP8266_NONOS_SDK_V2.0.0_16_07_19 – got into some issues. Seems like Espressif integrated some time compatibility functions into libmain.a which i already had into the tree, most likely due mbed tls port If you have millis(), micros(), mktime() and friends then you may need to comment them out. There is one exception – open soruce xtensa gcc provides time() which is required by ANSI C so it is in – platform must provide gettimeofday.

ESP32 is comming

Espressif announced on 05/11/2015 the upcoming ESP32 chip:  While the specs are impressive a lot of questions a rise : Support – Espressif is a small company as far as we knew – would they be able to support both chips in the long term? Compatibility with esp8266? – The new ESP32 will use the RTOS based SDK and most APIs are said to be compatible with the esp8266 SDK.

Getting there

A Teaser of What to expect from our upcoming WiFi connected 2 channel relay board. Web UI of the relay board Main control screen and part of the configuration Main control screen Part of the configuration Schedule editor Upgrade screen We will need beta testers if you are interested, please, drop us a line.

ESP8266 Secure CA Verification

While working on a secure cloud for the gang of the esp8266 based devices we are developing we need SSL – real and secure. And this August is the month of the SSL issues , it seems , but thankful to the Espressifs’ quick support they are on the way out. SSL Memory Leak The latest SDK v1.3.0 introduced a bug that simply didn’t call the disconnect callback of esp connections under some circumstances and that in turn leaked memory.

ESP8266 building OTA firmware for 2MB boards

During the past weeks i’ve worked on getting the FOTA upgrades work on the 2MB boards by Olimex. The wonderful esp-link project by Thorsten von Eicken was a great example of two things: How to concatenate the espfs filesystem image with the firmware images. How to properly write a new image to the flash. It was a nice example to start with. So after a lot of fiddling with Makefiles, cgi routines and esptool – i’ve finally got the OTA working.

IoT Security

Engineering Internet Of Things Secure network for our upcoming IoT service. Goals: Security Redundancy End to End Security Secure Firmware Upgrades Threats: DoS Attacks DDoS Attacks DNS spoofing /don’t even think of DynDNS/ Sniffing man in the middle Security: Using a VPN -> takes the problem away and requires extra settup. Not user friendly. The only pro is that it can use an existing infrastructure if present.

ESP8266 using different flash sizes – FOTA and Download tool

Which goes where – when using a bootloader for FOTA. The files: master_device_key.bin – Obtained from Espressif Cloud esp_init_data_default.bin – Stores default RF parameter values boot.bin – bootloader user1.bin and user2.bin – user firmware blank.bin – blank settings , flash to get default parameters 512KB master_device_key.bin 0x3E000 esp_init_data_default.bin 0x7C000 blank.bin 0x7E000 boot.bin 0x00000 user1.bin 0x01000 user2.bin 0x41000 1024KB Flash master_device_key.bin 0x3E000 esp_init_data_default.bin 0xFC000 blank.

Olimex ESP8266 module – MOD-WIFI-ESP8266-DEV

I need a bigger flash and a breadboard friendly board. Quick research lead to the following variants, beside soldering a bigger flash on the ESP-XX series modules. NodeMCU board’s that have bigger flash and fit on a breadboard but have regulators and usb 2 serial on them. ESP-XX module with adapter, don’t like . MOD-WIFI-ESP8266-DEV And the winner is Olimex’s – MOD-WIFI-ESP8266-DEV . i got some of them:

ESP8266 tcn75a driver

Hi, A simple i2c driver for the Microchip’s TCN75A thermometer – supports up to 8 thermometers. Driver works in one shot mode which is suitable for battery powered operations. The chip is with quite good specs for its price. Code at github esp_i2c_tcn75a . Usage: checkout user/user_main.c for example usage. Enjoy! 73  

esp8266 UDP debugging

After a lots of lots of wasted hours debugging an I2C driver it came out that the noise from the connected cheep USB2TTL converter is way too much. Would have lost months without the help of the new DS1054z scope i’ve got. So i came up with this – a simple UDP debugging. Simple socket to send udp messages. dbg Call dbg_udp_start(0) and you are ready to go. If you prefer not to flood your LAN with debug messages broadcasts then instead of 0 provide your workstation IP address.