BCD-0o27 BalCCon2k23 Firmware
This post describes how to flash the firmware used at the 2023 BalCCon conference to the BalCCon Cyberdeck 0o27 (BCD-0o27).
Setting up the Toolchain
To flash the BCD-0o27 you need the esptools.py. The esptools.py is a python based, open source, platform independent uitilty to communicate with the ROM bootloader of ESP32-S3 chip which is at the heart of the BCD-0o27. If you haven't yet set esptools up, you can install it with pip:
pip install esptoolThis will provide the esptool.py script to flash (or read the ESP32-S3 chip), the espfuse.py script to read or burn efuses (which can absolutely brick your cyberdeck) and the espsecure.py script to manipulate secure boot and flash encryption.
For flashing the firmware, we will only need the esptool.py. If you need further information or run into trouble, check the espressif homepage on esptool.py.
Flashing the firmware
First, you need to determine the serial port your BCD-0o27 uses. To determine the serial port plug in your cyberdeck using a USB-C cable. On Linux, you can use dmesg after plugging in the cyberdeck and look for the /dev/... assigned to it, or you can use lsusb to list all usb devices and search for your cyberdeck. On a mac, the device will be listed as usbserial with some number. You can just ls /dev/vu.usbserial* to find the right device. On Windows, open the Device Manager (by choosing start, then start to type device manager until the program is shown and the clicking on it). In the Ports tab you find the right COM port.
To flash the firmware, download the firmware image attached to this post. In the folder where you stored the firmware issue the following command (replace "/dev/cu.usbserial-110" with your device serial port):
esptool.py --chip esp32s3 --port "/dev/cu.usbserial-110" --baud 460800 --before default_reset --after hard_reset write_flash -z 0x0 balccon_2k23.binThat's it. You have now a fresh install of the firmware you received at BalCCon2k23. Have fun.
Comments ()