I'm opening this thread to help people who wants to flash the BE board on a Mac and have little or no idea on how to do it (like me!)
This instructions are valid for Intel Macs running Big Sur. I'm not sure if this works on M1 Macs, so be warned.
What you'll need
- A serial to usb module.
- Dupont female to female cables (at least 4 individual cables, 6 is the best)
- An assembled Basic Engine board
The one that worked for me was the one based on the CP2102 chip, like this one:
You can search for "cp2102 usb ttl" on AliExpress to find others, in case the link goes bad.
I soldered a pin header to get access to the RTS pin. The voltage pin you should use must be 3.3V (don't use the 5V pin).
The drivers worked without problem. You can download them here:
Start by installing the drivers. You may need to give access in the Security & Privacy section of the System Preferences. The installer creates an "app" in the Applications folder called CP210xVCPDriver.
With everything in place, it's time to check if the system recognises the board. Connect it to any USB port (I have a hub with USB-A connectors, since my Mac mini only has USB-C connectors) and open Terminal.
ls /dev/tty.* and you should see a list with something like
/dev/tty.usbserial-XXXX. If you don't see it, then the board is not being recognised. Check System Info (the USB section) to see if the board is there. If not, reinstall the drivers.
When you see the board, it's time to connect the serial module to the BE board. Unplug the board from the USB connector.
Connect the 3.3V and GND pins with the corresponding pins in the BE board. Then the RX and TX with the same pins on the BE (don't cross the pins, RX should go to RX, and TX to TX). Finally (for the moment), connect the RTS pin to the RTS pin on the BE board.
Connect everything again.
Now, to see if everything works ok, you have to watch the serial output. In Terminal type
screen /dev/tty.usbserial-XXXX 115200, replacing "XXXX" with the value you got earlier from the
Now, click the Reset button on the BE board. After some garbage, you should see the ready prompt:
If you see this, it means you can see the ESP8266 module. Congrats!
You can now close the screen session (control+A and then control+D to detach). If you want, close the terminal window and open a new one.
Now, to the more tedious part: installing esptool
It turn out Big Sur is retiring Python 2, and favouring Python 3. Both are in your machine, but if you make an
python --version command in terminal, you'll see 2.7.16 version reported. To access Python 3 you need to use
python3 instead (try
You first need to install pip, and then esptool.
So, in Terminal type:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
This will download the pip installation script to the current directory (most probably, your user folder).
And then, run it with Python 3:
After that, you need to install esptool:
python3 -m pip install –upgrade esptool
To check if everything is ok, type:
python3 -m esptool -h
You should see the help options of Esptool.
If you have problems, Google is your friend. I know nothing about python, so I can't help much, sorry...
Now, to flash the board!
Before you flash the BE board, add another cable from the DTR pin to a GND pin on the BE board. This will set the board in a state ready to flash. Connect the board to USB. The LEDs on the serial module should light up, and you should see the ESP module LED flash once (blue LED).
Then in terminal, type (or paste) the command to flash the board:
python3 -m esptool --baud 115200 --port /dev/tty.usbserial-XXXX write_flash -fm dio 0x00000 ttbasic-0.88-alpha.bin
Replace "XXXX" with the number of your board, and if you have the firmware file in a directory that is not the one you're currently in (or if the firmware file name is different) modify the file path/name accordingly.
If everything goes well, you should see something like this:
Congrats! You flashed your board.
If you get a different result, check what could be wrong.
I hope this helps people trying to flash the board using a Mac. Cheers!