Category Archives: Electronics

ESP8266 Arduino `.text’ will not fit in region `iram1_0_seg’ Error

I’ve been writing some software for a Wifi based CAN data logger for the ESP8266 in the Arduino platform, and have been getting a bit of a strange error. It appeared to be related to using the std::string functions in my code – and although I have used this in other sketches without issue, I suddenly received the following error as soon as I simply declared a std::string variable:

c:/users/scott/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\Scott\AppData\Local\Temp\build525647f6f8500d071cfab5cccf314276.tmp/ESPCANLogger.ino.elf section `.text' will not fit in region `iram1_0_seg'

collect2.exe: error: ld returned 1 exit status

See how to fix it after the break.

Continue reading

ILI9341 and XPT2046 TFT display on ESP8266

For my own future reference more than anything else, to get the ILI9341 (either Adafruit or otherwise) working on the ESP8266 using the Arduino development environment isn’t completely straightforward. I knew I had this working previously, but couldn’t find the info again, so am copying it here.

See the details after the break.

Continue reading

ESP8266 Successor – ESP32 released with CAN bus support 

So, the interesting little ESP8266 WiFi SoC finally has a younger brother which appears to be even more capable. Among other expansive updates, the 32 bit Dual Core microcontroller still supports WiFi, but also Bluetooth Low Energy, a DAC, many more ADCs, GPIO pins, etc. etc. Lots of good details here: 

Continue reading

ESP8266 CAN Bus with MCP2515

I have just bought another ESP8266/NodeMCU development board cheapy from eBay (this one) with an ESP-12E chip on board. I’ve also bought an SPI-CAN bus interface with the common Microchip MCP2515 CAN controller to try and create a CAN-Wifi gateway.

The pinout for the ESP-12E NodeMCU board is apparently as below:
ESP-12E NodeMCU Pinout

Continue reading

ESP8266 Lua DHT11 Temperature and Humidity Sensor

After receiving my ESP8266 Development/breakout board I have been attempting to create a WiFi enabled thermostat to control my central heating from my mobile phone and give me a means of timer programming my central heating. To be a true thermostat requires a temperature sensor. The ESP8266 board came with a DHT11 sensor and already has pins directly compatible with one. I therefore just required the software to interface with it.

Continue reading

ESP8266 Useful Links

ESP8266 Flasher Tool:

Latest nodeMCU firmware: LuaLoader for NodeMCU files and ESP8266 configuration:

Simple ESP8266 GPIO Websserver:

ESP 8266 Development Board Schematic:

Write up of the ESP8266 Development Board:

ESP8266 Development Board Update

I have now determined that The DIP switch no 8 does indeed connect GND to GPIO pin 0, and switch S2 is also connected to the same pin. This means that to put the board into reprogramming mode to reflash the ESP8266, the DIP switch 8 should be ON (or hold down S2, but probably not a good idea)

Switch S3 connects GND to GPIO Pin 2.


ESP8266 Development/Breakout board Arrived

Warning: do not connect the DHT11 temperature sensor as indicated in the eBay pictures, it is the wrong way around and will fry your board!

I’ve just received my ESP8266 development/SDK board in the post and am now starting to try and work out what everything on it does.

With Relay, RGB LED, Serial to USB chip, DHT11 temperature and humidity sensor, buzzer, and switches

With Relay, RGB LED, Serial to USB chip, DHT11 temperature and humidity sensor, buzzer, and switches

Continue reading