Running NAM on Embedded Hardware: What We Learned · TONE3000

We built a NAM loader for the Electrosmith Daisy Seed: an ARM Cortex-M7 board that's become a popular foundation for DSP-based audio products, from eurorack modules to commercial guitar pedals.

TONE3000

Follow-up: schematics, PCB and source code for the #Bazoche effect pedal platform released on this page:

https://ldesoras.fr/elec/bazoche/bazoche-eng.html

#audio #electronics #GuitarEffects #stompbox #dsp #delay #distortion #DaisySeed

Bazoche — Basic guitar effect pedal based on the Electrosmith Daisy Seed

Bazoche — Basic guitar effect pedal based on the Electro-Smith Daisy Seed

Another #GuitarPedal completed.

A few years ago I designed a pedal with a complex effect (but just a single knob and an expression pedal as controls) for a guy but in the end that wasn’t what he was looking for and he didn’t pick it up. So I had this pedal stuck with me. 😑

Recently a friend asked me for a long delay effect with a 15 second memory and the footswitch only muting the delay input (FX always on duty). It was an opportunity to #recycle the old pedal, based on a #DaisySeed board. So I drilled new holes in the enclosure to host 3 knobs.

But wait, there’s more. ➡️

#audio #electronics #GuitarEffects #stompbox #dsp

Descubrí un patch caótico con una porción de El nido de la perra (así bauticé a mi sistema heterogéneo de síntesis). Es capaz de hacer cosas muy pequeñas y muy agudas.

Disfrútenlo y si quieren denle like y sub. :-)

#modularsynth #synthjam #daisyseed #abacus #asmr

Las cosas muy pequeñas
https://www.youtube.com/watch?v=OdDkbk7GL20

Las cosas muy pequeñas

YouTube

Tonight’s project: Soldered and put together a Daisy Seed based chip guitar pedal. Already got it flashed with examples from https://github.com/bkshepherd/DaisySeedProjects/blob/main/Software/GuitarPedal/README.md

Getting ideas about what I want to try to modify or cobble together. This patch (shown as “Cloud Seed” on the display) is a nice shimmer reverb, and there’s also chorus, tremolo, delay, a looper, a metronome, and more in the examples.

I’m not a C++ programmer but I’ve done enough Arduino programming and professional Rust programming that I can figure this out. The DSP stuff will be what I have to learn.

#guitar #gearsquad #maker #daisyseed

My little daisyseed synth project is currently stalling on the whole "C++ is just the WORST language" problem.

There's a class in the DaisySP library which is *almost* what I want. So I should be able to just subclass it and work from there, right?

Well, no, because none of the functions that I want to override are declared "virtual", so I'd have to edit and re-build the library.

I'm sure this is all in the service of runtime efficiency, at some level. But, you know - it's a 480MHz ARM processor. I think a little indirection wouldn't be a huge deal.

I will just write the whole thing from scratch, all 100 lines or so of it. But it's *IRRITATING*, you know?

#daisyseed #CPlusCplus #embedded #synthdiy #synth

Christmas lights! (well, sort of).
#daisyseed #arduino

Finally gotten around to having a look at my Daisy Seed.

My "notes to self" to get to a musical "hello world" are now up here: https://diyelectromusic.com/2024/12/18/getting-started-with-daisy-seed/

#DaisySeed #LateToTheParty #SynthDIY

Getting Started with Daisy Seed

I’ve finally managed to get myself a Daisy Seed from Electro-Smith, so as is becoming usual, this is my “getting started” notes-to-self post. Warning! I strongly recommend using o…

Simple DIY Electronic Music Projects

Getting Started with Daisy Seed

I’ve finally managed to get myself a Daisy Seed from Electro-Smith, so as is becoming usual, this is my “getting started” notes-to-self post.

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

If you are new to microcontrollers, see the Getting Started pages.

What is Daisy Seed?

From the Daisy Seed product page on the Electrosmith website:

“Daisy is an embedded platform for music. It features everything you need for creating high fidelity audio hardware devices.”

The key specifications are as follows:

  • ARM Cortex-M7 MCU, running at 480MHz (STM32H750)
  • Stereo audio IO – 96kHz / 24-bit audio hardware (AC-Coupled)
  • 31 GPIO, 12 ADC inputs (16-bit), 2 DAC outputs (12-bit, DC-Coupled)
  • 1MB or 64MB option plus 8MB external flash
  • SD card, PWM, SPI, UART, SAI/I2S, I2C.

I’ve also picked up a “pod” which is a breakout board that includes the following:

  • 3.5mm stereo jacks for line level audio I/O, headphone output, and TRS MIDI input.
  • Built In headphone amplifier with dedicated volume control.
  • 2 Buttons, 2 RGB LEDs, and rotary encoder with push button.
  • SD Card Slot, and secondary USB micro port

There are a number of DIY experimenter style products that use the Daisy Seed. Here are a couple that might be worth a look (I’ve not used any of them):

Just doing an image search for Daisy Seed synth and quite a few come up!

Getting Started

There are several ways to start programming the Daisy Seed, one of which is using an online, web-based programing environment. I’ve stayed with familiar territory and installed support into the Arduino IDE.

This requires the following steps as described in the Arduino version of the Getting Started Guide:

  • Add in the Arduino board URL for the STM32 core and install “STM32 MCU Based Boards” from STMicroelectronics.
  • Install the STM32CubeProgrammer from ST (requires email registration).
  • Add the location of the STM32 tools to the PATH. For my Windows setup this means adding: %ProgramW6432%\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin to the system PATH.
  • Install the DaisyDuino library using the Arduino Library Manager.

Unfortunately one thing that wasn’t particularly clear as part of any of the above is that the STM32 core no longer supports the V1 strand of the Arduino IDE. I spent quite a chunk of the afternoon trying to work out why the build tools didn’t seem to be able to find all the things they needed. Eventually I stumbled across some replies in the STM32 core forums to some problems that stated that V1 was no longer supported.

For my initial experiments, I rolled back the version of the Arduino STM32 Core to version 2.7.1, which was the last release that supported V1.

At this point I was finally able to use the Arduino IDE to download the blink example using the configuration as per the getting started guide, but summarised as:

  • Board -> Generic STM32H7 Series
  • Board Part Number -> Daisy Seed
  • USB Support -> CDC (Generic Serial supersede U(S)ART)
  • Upload Method -> STM32CubeProgrammer (DFU)

To upload requires a RESET on the board with the BOOT button pressed.

Eventually I just updated my Arduino environment to V2 for other reasons 🙂

DaisyDuino Examples

There are a number of example scripts as part of the DaisyDuino library, and a number of them are provided that support the Daisy Seed Pod.

The Pod provides buttons, LEDs, pots, an encoder and MIDI and audio circuitry and there is a full suite of examples here, available under Examples -> DaisyDuino -> Pod.

The non-pod related Daisy Seed examples are listed here and can be found under Examples -> DaisyDuino -> Seed.

I downloaded the pod/SimpleOscillator example which does the following:

  • Encoder selects one of four waveforms.
  • Pot 1 selects the frequency.
  • Two buttons change the octave.

Full details can be found here: https://github.com/electro-smith/DaisyExamples/tree/master/pod/SimpleOscillator

Other examples for the Pod include:

  • ChordMachine – “A simple sine wave chord machine. Cycle through different chord types and inversions.”
  • Encoder – change the LED colour using the encoder.
  • EuclideanDrums – A kick and snare twin sequencer.
  • Looper – shows how to loop incoming audio.
  • Midi – MIDI controlled oscillator and filter.
  • MultiEffect – “Simple effects for incoming audio. Includes reverb, delay, and downsampling.”
  • MusicBox – “Generate random melodies.”
  • SimpleButton – “Example showing basic usage of pushbutton switches for momentary and latching behavior.”
  • SimpleLed – “Example showing basic usage of RGB LED by mapping R/G values of LED 1 to knob.”
  • SimpleOscillator – “Example showing a basic SimpleOscillator with controls.”
  • StepSequencer – “Simple 8 step sequencer. Has controls per step for envelope decay, pitch, and step activation.”
  • SynthVoice – “Simple Synth voice with resonant filter, self cycling envelope, and vibrato control.”

Example Hardware Connections

The datasheet contains a number of connection diagrams showing how potentiometers, buttons, LEDs, and audio jacks can be connected to the Daisy Seed.

Audio input and output for example are as follows:

This is essentially what the Daisy Pod provides – basic IO and connections following these patterns, along with a headphone amplifier and MIDI.

I might have missed it, but looking at the Pod schematic and the board itself, I believe there is an option to switch from MIDI TRS “A” to MIDI TRS “B” by swapping some 0R resistors on the rear of the Pod.

Key Hardware Parameters and Features

Here is a list of various odds and ends that are tucked away in the datasheets or wiki that I might want to note:

  • Most GPIO is 5V tolerant apart from D24, D25, D28, D29, D30 which are 3V3 only. The datasheet states 0 and 3V3 as the typical operating range for all GPIO.
  • VIN supports 5V to 17V.
  • Audio inputs/outputs: -1.8V to 1.8V.

According to the datasheet it is ok to power the Daisy Seed from VIN and USB at the same time.

Audio in and out was originally provided by an AK4556 (the last revision for which there is a full schematic published), then a WM8731 with the latest version using a PCM3060. This is connected to the STM32H7’s SAI1 peripheral.

Closing Thoughts

Whilst this has a whole range of IO and synth type examples, what I’m really interested in is the potential for processing audio via the audio input, so that is probably what I’ll be looking at the most.

For such a (relatively) cheap device, this certainly has a huge set of examples and applications. I can see why so many people have started building these into other products.

I can already imagine producing a Daisy Seed version of some of my own PCBs for example…

I should probably take a proper look at the non-Arduino environments too – I’ve been meaning to have a look at Pure Data for a while, so maybe this could be an excuse for that.

Kevin

#arduino #DaisySeed #oscillator #STM32

Daisy Seed

Well, my #daisyseed pod is ordered, so I guess I'm officially committed to getting that stupid retro-synth idea out of my head and onto a circuit board, now :-)

I figured this was the lowest-friction way to get something working, without spending a bunch of time soldering or fighting breadboard intermittent signal issues (because I HAVE BEEN down that road before).
#synthdiy #synth