Porting Axoloti to STM32F4 Discovery


#1

Hi,

I wonder if it is "possible" (I know, possible is everything, but with only a few know how on STM32 development) to port to STM32 F4 Discovery. I don't mean the STM32F401 board, but the one with the STM32F469 and the TFT display.

I would like to have the display and touchscreen. So maybe later I can add some litte GUI for loading patches.

The board has all you need, except MIDI sockets:

180MHz STM32F469
16MByte SD RAM (!)
Audio CODEC, even three MEMS microphones
SD card slot
4" TFT touchscreen

So it should be possible to run Axomoti without additional hardware. I have knowledge programming Mikrocontrollers, mainly in C, some C++. But I only did one SMALL project on STM32. So if there is someone out there who would like to assist, it would be much appreciated.

BTW.: I am planning to build a standalone Synth, with many knobs and switches and therefor a display would be nice. I am NOT a musician, I cannot play a Synth. But I like to build software and hardware and in this case my first goal is, to build a nice case. But it should also befunctional, so my brother can play on it. And maybe I can learn some playing, too. :slight_smile:


#2

This may be helpful. Good luck. Wish I could help but I've never worked with chibios or any embedded outside the Arduino or Axoloti environment.


#3

This is even older, but a while ago (it looks like 5 years by now; how time flies), I ported the Axoloti to run on the Audiothingies P6 (https://www.audiothingies.com/p6/) which uses an STM32F405:


my point being that I've tried to document fairly well what changes were needed, which might be helpful if you want to port it to something else.

Indeed, I think the Axoloti started its life running on the STM32F407-based Disccovery board from ST, and at least when I was working on it there was some (disabled) code left from that era, which might also be helpful.

Looking at the git history, the main points in the port were:

  • Pin allocation. Allocating relevant hardware functions in the STM to the actual pins used in the board design. For instance, the pins used for the Axoloti status LED, or the pins used for the audio codec.
  • Different hardware. For instance, different audio codecs. The P6 also has no SDRAM, and no A/D converter.
  • Different crystal frequencies; the Axoloti has an 8 MHz clock, the P6 12 MHz.
  • Availability of hardware blocks. The STM32F427 used in the Axoloti has the well-equipped serial SAI interface used for the codec, which the STM32405 does not have, which among other things required some bit manipulation when communicating with the codec to get the audio right.
  • Support for specific board hardware like the 24x2 character LCD and on-board EEPROM for patch storage on the P6 board.