@user111618 sorry for that - hadn't known you were not native english speaker - most of my post above was totally unimportant!... And sorry for not seeing that someone had replied in this thread until now, too...
The important part of my message was just the end:
What kind of Arduino did you want to program through an Espruino?
If it is something that you had to install a "core"/"board package"/etc for, I need to know which board package.
Why do you need to use software serial? If you could use the normal hardware serial pins, this would be much easier. Even using a different set of hardware serial pins will be much easier than software serial....
Oh ho ho! Finally a thread on here that is really in my wheelhouse! (I joined the electronics hobby with Espruino - the ease of the live console eliminated the barriers that had kept me from the hobby previously. But then I needed the real-time processing of Arduino, and started dabbling in that, then found my niche with ATTinyCore, and have since dove headfirst into low-level AVR stuff. I love programming so close to bare metal that I can feel the silicon under my fingertips... but I just don't have sufficient mental bandwidth to handle the complexity of STM32 at that depth (besides, their datasheets, particularly the separate manual and datasheet structure, are hell to navigate compared to the AVRs.) However, I still program with Arduino IDE, not the Microchip tools (good lord, I wasted three days just trying to get their thing to read the signature of their new part, using their own programming tool, without getting anywhere, before giving up and modifying the opensource firmware of jtag2updi so I could just use AVRdude like a normal person), and I still use Espruino whenever I have to touch a modern network. The internet, with it's world of variable length strings, was just not made for the fixed length character arrays of embedded C (with 512~2k (occasionally as high as 16k) of ram, and no way to clean up ram fragmentation, dynamic allocation on classical Arduino parts should be avoided like the plague). This generally means that when I use Espruino, I usually have an ESP8266 handling the network tied to an Arduino doing the timing-critical stuff.... Which sounds like about what you're doing!
Can you clarify what you mean by "Arduino" in this case? What hardware?
Which Arduino board package is used to support it (github link or board manager json), if it is supported by a third party board package? Which exact Tools -> board and Tools -> bootloader (if present in that board package)
These details matter a great deal, as the programming methods used on Arduino-supported boards differ greatly with the hardware and bootloader on the board.
When you say "soft serial", which side do you want to be using the software serial for that upload you mentioned?
Also, you are running Espruino on the ESP8266?