UPDuino is a microcontroller made of Himax HM01B0 camera module and iCE40 ultraplus family FPGA.
UPDuino integrated circuit was designed by LatticeSemi company, now it has passed under TinyVision.ai.
Here you can find the datasheet of the FPGA: iCE40 UltraPlus family datasheet Here you can find the datasheet of the UPDuino shield:Himax HM01B0 Upduino Shield
To compile your projects you have 2 options:
• Lattice Radiant Software & Lattice Radiant Programmer
• Apio
Design resource examples from LatticeSemi won't build with apio tool because they use proprietary compiler
Compatible OS: Windows, Linux
You can use Radiant Software to write, synthesize, compile and create bitstream file for your project. Once done that you can upload the .bin file into the Programmer Software. Here you have to select spi mode to upload it and set up the settings for spi transfer. Here you can find some help: Radiant Software && Programmer Guide
In iCE40 UltraPlus Hand Gesture Detection folder there are reference design to build, compile and upload the project on UPDuino. Same thing in human presence detection folder.
Installation and building phase with Apio tool
IMPORTANT: you need pip3 installed
pip3 install -U apio
Once installed make sure to activate drivers (FTDI/Serial) & install all packages
apio drivers --ftdi-enable #FTDI
apio drivers --serial-enable #Serial
apio install --all
Apio support some boards, you can list them with:
apio boards --list
To initiate a project folder type:
apio init --board BOARDNAME
First you need to check your verilog code using Icarus Verilog
apio verify
apio offers a suite named GTKWave which can simulate the test bench
apio sim
Finally we can build our code and upload on the fpga
apio build
apio upload
(update 2/14/22) I have upload 3 examples to check you configuration.
Just clone the repository and try to build and upload the files inside