Aiko Engine MP (microPython)
The Aiko Engine MP is compatible with Aiko Services, which is a distributed system that supports embedded devices as networked Services.
The Aiko Engine MP provides ...
- Modular microPython based framework
- Abstractions for event handling, networking and timers
- End user Wi-Fi configuration via a Wi-Fi Access Port and web server
- Application firmware OTA (Over The Air) upgrader
- Low-level LED panel graphics functions
- Multiple OLED screens or color TFT LCD screen
- Integrates MQTT and distributed services
- Supports LCA2022 SwagBadge project
- Supports LCA2021 SwagBadge project
- Supports LCA2018 LoliBot robotics project
- Supports LCA2017 IoTuz project
- Tested on a range of ESP32 development boards
- Download the source code from https://github.com/geekscape/aiko_engine_mp
git clone https://github.com/geekscape/aiko_engine_mp
cd aiko_engine_mp
- The
master
branch supports the majority of hardware options. However, the SwagBadge 2022 is currently supported on theswagbadge_2022
development branch
git checkout swagbadge_2022
-
Ensure you have a compatible hardware board and compatible microPython port
-
Make sure you have a Python virtual environment set-up, including virtualenvwrapper
-
Create
mkvirtualenv micropython
and work on the new virtual environment
workon micropython
- Install
esptool
andmpfshell
pip install esptool
pip install -U mpfshell
-
Plug in your ESP32 device and make sure you can see it, e.g
ls -l /dev/tty.*
will show a serial device file like/dev/ttyUSB0
or/dev/tty.wchserial1410
-
Export the serial port to an environment variable, so
mpfshell
can use it, e.gexport AMPY_PORT=<device_file>
wheredevice_file
is the device file shown by thels -l
command above -
Download latest microPython
-
Note: The SwagBadge 2022 currently requires microPython version 1.17
-
Flash microPython
./scripts/flash_micropython.sh
- Run the Aiko Engine MP flash script, which loads this firmware onto the device
./scripts/mpf_script.sh ./scripts/aiko.mpf
- For microPython development, the Thonny IDE is highly recommended
Note: For Lolin32-Lite boards, the serial port can be notoriously problematic
and requires a slight delay in order for the connection to occur properly.
If you're seeing errors that look like Could not enter raw repl
then this is probably related.
For mpfshell
(version v0.9.1 and earlier) on Mac OS X or Windows, this
problem may be fixed via this patch
Associated open-source ESP32 hardware projects ...