Tempo is a project I've been working on for quite some time, mostly because I don't have the time to give it my full attention.
I didn't believe that the project will take as much time as it took (going 4 years now...) But the lack of time spent on it (could be averaged to an a hour a month...) made it to quite a long one... but I think it's time for it to end.
I will be finishing the tasks left for this board (RTC to allow sleep mode, USB interface and C# GUI for downloading recordings and updating firmware,3d printed case) and perhaps sell a couple on tindie.
So one of the troubles of using a small flash size (32K on the stm32f042k6u6) is that quite quickly you run out of space for code.
Now I didn't want to waste room in my micro holding the Fonts for the SDD1306, thats room I can use.
So I modded a driver I found that was designed for the stm32f4 to use an external flash for the fonts.
I also had to write my own drivers for the stm32 since the mxcube version is quite inefficient.
So thats an SPI driver, Flash Driver for the SST, and mod the SSD1306 driver.
I switched to the SST flash since micron likes to add another device to their EOL list every 5 minutes, so yeah, the previously selected SPI flash became obsolete.
Luckily the flash wasn't that complicated, and making a small flash burner was simple.
The drivers + the modded driver can be found in my github.
So currently most of the project works, some of the menu options can be seen here ( some lines of the lcd are gone since I broke a bit of the screen...)
main screen:
Setup screen:
Currently recording doesn't save to flash, need to choose a structure to make it efficient.