The HackerHotel Badge firmware is an adaptation of the SHA2017 Badge firmware by mostly the same team.
Read the SHA2017 project documentation for some background.
Project updates:
Copyright (C) 2017-2018 Badge.team. Based on template application for Espressif IoT Development Framework (ESP-IDF). Copyright (C) 2016 Espressif Systems, licensed under the Apache License 2.0 as described in the file LICENSE.
sudo apt-get install libncurses5-dev flex bison gperf python-serial libffi-dev libsdl2-dev libmbedtls-dev perl
git submodule update --init --recursive
source set_env.sh
make defconfig
make -j5
make menuconfig
make -j5 -C micropython/mpy-cross
make -j5 -C micropython/esp32/
cd auto-flasher
cp ../micropython/esp32/build/application.bin firmware/sha2017-badge.bin
./auto_flash.pl /dev/ttyUSB0
make monitor
First you have to replace the linux toolchain:
- download the mac toolchain from this page
- rename the linux toolchain:
mv xtensa-esp32-elf xtensa-esp32-elf-linux
- untar the mac toolchain:
tar zxf ~/Downloads/xtensa-esp32-elf-osx-1.22.0-61-gab8375a-5.2.0.tar.gz
Then install the CP2102
usbserial driver
In the sdkconfig
file change this line:
CONFIG_ESPTOOLPY_PORT="/dev/tty.SLAB_USBtoUART"
import badge
badge.eink_init()
badge.display_picture(0,-1)
import ugfx
ugfx.init()
ugfx.demo("HACKING")
ugfx.clear(badge.BLACK)
ugfx.thickline(1,1,100,100,badge.WHITE,10,5)
ugfx.box(30,30,50,50,badge.WHITE)
ugfx.string(150,25,"STILL","Roboto_BlackItalic24",badge.WHITE)
ugfx.string(130,50,"Hacking","PermanentMarker22",badge.WHITE)
len = ugfx.get_string_width("Hacking","PermanentMarker22")
ugfx.line(130, 72, 144 + len, 72, badge.WHITE)
ugfx.line(140 + len, 52, 140 + len, 70, badge.WHITE)
ugfx.string(140,75,"Anyway","Roboto_BlackItalic24",badge.WHITE)
ugfx.flush()
More info on the MicroPython badge features
make -C micropython/unix
./emulator/emulate.py examples/Game\ of\ Life/game_of_life.py