shorepine / amy

AMY - A high-performance fixed-point Music synthesizer librarY for microcontrollers
https://shorepine.github.io/amy/
MIT License
210 stars 12 forks source link

RP2350 porting #150

Open znmeb opened 2 months ago

znmeb commented 2 months ago

I am getting some boards with the new RP2350 micro-controller on them in the next couple of weeks. Speciifically I am getting

The SparkFun boards will be here tomorrow. The Pimoroni board has shipped but it is still in the UK. The other two are coming from Sweden and haven't shipped yet.

I am hoping to get AMY running on them in MicroPython. It turns out there is a fork of the Arduino board support package for the RP2040 that supports the RP2350 here: https://github.com/PontusO/arduino-pico-rp2350

MicroPython for the RP2350 boards itself is still preliminary, but I should at least be able to get the Arduino version running. RP2350 boards are pretty much back-ordered everywhere, so any help you can offer on the porting would be appreciated.

bwhitman commented 2 months ago

Very cool! Let me know if you need any help getting it going.

znmeb commented 2 months ago

The SparkFun boards only have a Qwiic connector so I need an audio board with one of those, or some kind of translator to I2S. The Pimorni boards should be here either the end of this week or early next week and they have more connector types. As far as I know, I am the first person in my online circle other than partners that actually have hardware. 🥇

bwhitman commented 2 months ago

I've received my Pi Pico 2 boards. I just have the "official" Rpi ones.

Everything ported fine, no changes to AMY_Test_Pi_Pico in Arduino at least other than the board type, using 4.0.1 of the arduino-pico package.

We get 6 juno-6 patch #0s running at once on one core, not bad. This is at 200MHz and -O3.

Later we can look at the Pi Pico multicore example and re-port to the RP2530 to get more polyphony. We also want to look at floating point performance.

znmeb commented 2 months ago

I've received my Pi Pico 2 boards. I just have the "official" Rpi ones.

Everything ported fine, no changes to AMY_Test_Pi_Pico in Arduino at least other than the board type, using 4.0.1 of the arduino-pico package.

We get 6 juno-6 patch #0s running at once on one core, not bad. This is at 200MHz and -O3.

Later we can look at the Pi Pico multicore example and re-port to the RP2530 to get more polyphony. We also want to look at floating point performance.

Excellent news! As far as I know, Amy should not have issues on common RP2350 boards. But the compiled uf2 files may differ between boards. I've got a script that runs over all the boards I have, doing builds.

So far the only thing I've actually run on an RP2350 is a couple of scripts with SparkFun's MicroPython.