Initial setup for mage with WIFI (XC4421)


I purchased this board - Arduino Mega with WIFI (XC4421) from Jaycar.

Jaycar provides a download section with software and manual,

After downloading the software I followed the instructions found in the text file of the download.

Uploading code to the Arduino works fine, but I cannot upload code to the ESP8266.

I follow the instructions exactly. In board manager I set the board to generic ESP8266. I switch pins 5,6,7 to ON and all the others to OFF.

When I upload the code to the ESP and press the reset button when it says "uploading" I receive this message.

Arduino: 1.8.12 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

Executable segment sizes:

IROM : 261368 - code in flash (default or ICACHE_FLASH_ATTR)

IRAM : 26920 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)

DATA : 1252 ) - initialized variables (global, static) in RAM/HEAP

RODATA : 1524 ) / 81920 - constants (global, static) in RAM/HEAP

BSS : 25232 ) - zeroed variables (global, static) in RAM/HEAP

Sketch uses 291064 bytes (30%) of program storage space. Maximum is 958448 bytes.

Global variables use 28008 bytes (34%) of dynamic memory, leaving 53912 bytes for local variables. Maximum is 81920 bytes. v2.8

Serial port COM7


Chip is ESP8266EX

Features: WiFi

Crystal is 26MHz

MAC: ec:fa:bc:2c:76:f1

Uploading stub...

Running stub...

Stub running...

Configuring flash size...

Auto-detected Flash size: 4MB

Flash params set to 0x0340

Compressed 295216 bytes to 215639...

Writing at 0x00000000... (7 %)Traceback (most recent call last):

File "C:\Users\Parvesh\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4/tools/", line 65, in


File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 2938, in main

operation_func(esp, args)

File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 2374, in write_flash

esp.flash_defl_block(block, seq, timeout=DEFAULT_TIMEOUT * ratio * 2)

File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 104, in inner

return func(*args, **kwargs)

File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 672, in flash_defl_block

self.ESP_FLASH_DEFL_DATA, struct.pack('<IIII', len(data), seq, 0, 0) + data, self.checksum(data), timeout=timeout)

File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 369, in check_command

val, data = self.command(op, data, chk, timeout=timeout)

File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 347, in command

p =

File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 292, in read

return next(self._slip_reader)

File "C:/Users/Parvesh/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\", line 2057, in slip_reader

raise FatalError('Invalid head of packet (0x%s)' % hexify(b))

esptool.FatalError: Invalid head of packet (0x3B)

esptool.FatalError: Invalid head of packet (0x3B)

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

How do I fix this please



Please use the links below to aid you in posting code and error messages.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.