I have just had an issue where I couldn’t flash my ESP32 Wemos D1 mini, It was giving me the following error:
Failed to connect to ESP32 invalid head of packet 0x65
which I believe is similar to other similar errors like:
Invalid head of packet (‘S’)
Invalid head of packet (‘w’)
Invalid head of packet (‘p’)
There were a number of different suggestions online including:
- Try lowing the Baud rate
- Try pressing the reset button on start
- Try pressing the boot button (there isn’t one on the Wemos D1 Mini)
However, the one thing which worked for me to was short IO0 to GND while Arduino flasher was trying to connect to the board. That allowed it to programme.
I’ve been using the Arduino IDE for some project development recently, and finding that I’m getting very high CPU usage from Java to the point that it’s slowing my machine down, and then Arduino IDE becomes unresponsive. I couldn’t find any info on any of the forums related to this, but from my own research I believe I have found the problem.
It seems that my problem comes after a long time connected to the Serial Monitor and receiving data from the Arduino. It then gets worse and worse until things start getting unresponsive. The solution for me appears to be to basically just close the Serial Monitor, and reopen it. this can sometimes take a long time, and has caused Arduino to become unresponsive before, causing it to crash and restart. However, this appears to have been the only time I have seen this problem online.
Arduino have just announced a bunch of new boards, including one with an on board FPGA chip (plus a SAMD21 Cortex-M0+, plus an ESP32 WiFi and Bluetooth Module). A Field Programmable Gate Array (FPGA) chip is possibly the most impressive piece of electronics going. They are essentially a way of creating entirely custom digital electronic circuits (resistors and transistors) all inside a tiny chip, and completely reprogrammable – genius!
See more about the Arduino Vidor CAN bus support after the break.
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.
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.
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: http://esp32.net/
It’s working! As far as I can find, this is the first example of an MCP2515 CAN SPI module working with an ESP8266.
Previous post on my setup with ESP8266 and 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:
I was sent a link to this website by the author, who appears to have created an Arduino ECU for spark control. Although the details are a little sparse, It appears that he has developed a lot of the required hardware himself. It looks like the main controller is an Arduino Nano and utilises Manifold Absolute Pressure (MAP) and a knock sensor to determine the ignition timing on a Peugeot 205 Tu9 45Ch. It would appear that the ECU has been developed over a number of revisions and has been in operation for over a year.