The firmware that makes Venabili work is actually made of two parts: the bootloader and the main firmware, where the actual useful stuff is.
When the microcontroller is brand-new, you need to flash both parts on it using special (although very inexpensive) hardware. After that, only new versions of the main firmware need to be flashed whenever you change your layers, macros, etc; And the special programming hardware is no longer needed, you can do it pretty easily and quickly with your keyboard plugged in as normal.
Throughout these documents, the process of flashing for the first time with special hardware will be known as "low level" flashing. And the process of flashing the main firmware each time you want to change your keyboard's behaviour as "user level" flashing.
We're gonna need the latest version of the Venabili's firmware and the compiler/tools to build it and flash it to the controller board.
The process will be described assuming you're on a *NIX Operating System (Linux, BSDs, Mac OS, etc), this will not work on Windows.
Some package managers will make it available as a set of packages:
Others will bundle all this in some repository. In Ubuntu, for instance you can get it with:
$ sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
$ sudo apt-get update
$ sudo apt-get install gcc-arm-none-eabi
The only two directories you care about right now are
While in the Venabili source code directory, run:
$ cd lib/libopencm3
$ cd ../../bootloader
$ cd ../../src
If no errors are reported you're done, if something complains along the way is likely you're tools are not installed properly.
Start by connecting the ST-LINK to the bottom pin header of the controller board. Make sure you use the
3.3vof the ST-LINK.
- STM32 Board <--> ST-LINK
- GND <--> GND
- CLk <--> SWDCLK
- IO <--> SWDIO
- 3.3 <--> 3.3v
Warning (avoiding the magic smoke)
- Do not use the
5vpin of the ST-LINK for this process
- Do not connect the board USB port to anything for this process
Connect the ST-LINK (NOT the controller board) to a USB port on your computer.
While in the Venabili source code directory a, run:
$ cd bootloader
$ make burn
$ cd ../src
$ make burn_low
If no errors are reported then you're done with the flashing and ready to use the controller board on your keyboard.