Welcome to FPGA MicroPython (FμPy)
Our MicroPython fork is at:
with the port files in
Gateware is the name we use for the hardware code that is loaded onto the FPGA that MicroPython runs on.
Aug 2018 - HowTo FμPy on Digilent Arty A7
Jan 2018 – long blog post with instructions for Numato Mimas v2 and Digilent Arty A7, using
Developing in MicroPython environment
- get lm32 toolchain
- git clone https://github.com/fupy/micropython.git
- cd litex
- Download prebuilt gateware + headers using
- Compile micropython
- Load micropython
Developing in the
- Follow getting started instructions to setup gateware environment.
- Enter the gateware environment with ./scripts/enter-env.sh
- Set PLATFORM and TARGET correctly - eg “export PLATFORM=mimasv2” if using the MimasV2
- Build the gateware with
This will give you an image for your target at
./build/$PLATFORM_$TARGET_lm32/micropython.bin which you can then flash to your board.
Running MicroPython inside QEmu environment
litex-buildenv LiteX environment provides some limited QEmu emulation of the FPGA gateware, this means you can test your code without needing hardware.
It can be used with the MicroPython image by running
./scripts/build-qemu.sh and then replacing
-kernel qemu.bin with
-kernel micropython.bin in the last command.
Arty A7 – $100 USD, Artix 7 board with DDR memory
MimasV2 - $50 USD, Spartan 6 board with DDR memory.
These targets don’t need any physical hardware and are good for testing / developing.