#daisyseed — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #daisyseed, aggregated by home.social.
-
Done. Software is working. I had to make some compromises to fit everything in the available CPU power, taking into account the deadline for the product. However I haven’t used the SDRAM at all, even the 512 kB of SRAM were not fully used.
And as usual with the #DaisySeed, I added a multi-notch + multiband noise gate to filter out the noise from the input, way too high for a professional product IMHO. This always has been a PITA with the Seed. Maybe the Seed2 DFM has better noise figures, I’ll have to try it.
There will be probably some slight modifications on the FX depending on the band feedback.
-
Done. Software is working. I had to make some compromises to fit everything in the available CPU power, taking into account the deadline for the product. However I haven’t used the SDRAM at all, even the 512 kB of SRAM were not fully used.
And as usual with the #DaisySeed, I added a multi-notch + multiband noise gate to filter out the noise from the input, way too high for a professional product IMHO. This always has been a PITA with the Seed. Maybe the Seed2 DFM has better noise figures, I’ll have to try it.
There will be probably some slight modifications on the FX depending on the band feedback.
-
Done. Software is working. I had to make some compromises to fit everything in the available CPU power, taking into account the deadline for the product. However I haven’t used the SDRAM at all, even the 512 kB of SRAM were not fully used.
And as usual with the #DaisySeed, I added a multi-notch + multiband noise gate to filter out the noise from the input, way too high for a professional product IMHO. This always has been a PITA with the Seed. Maybe the Seed2 DFM has better noise figures, I’ll have to try it.
There will be probably some slight modifications on the FX depending on the band feedback.
-
Done. Software is working. I had to make some compromises to fit everything in the available CPU power, taking into account the deadline for the product. However I haven’t used the SDRAM at all, even the 512 kB of SRAM were not fully used.
And as usual with the #DaisySeed, I added a multi-notch + multiband noise gate to filter out the noise from the input, way too high for a professional product IMHO. This always has been a PITA with the Seed. Maybe the Seed2 DFM has better noise figures, I’ll have to try it.
There will be probably some slight modifications on the FX depending on the band feedback.
-
Done. Software is working. I had to make some compromises to fit everything in the available CPU power, taking into account the deadline for the product. However I haven’t used the SDRAM at all, even the 512 kB of SRAM were not fully used.
And as usual with the #DaisySeed, I added a multi-notch + multiband noise gate to filter out the noise from the input, way too high for a professional product IMHO. This always has been a PITA with the Seed. Maybe the Seed2 DFM has better noise figures, I’ll have to try it.
There will be probably some slight modifications on the FX depending on the band feedback.
-
It’s coming together. The circuit passes elementary tests for powering and analog processing. Enclosure drilled and assembly about to be completed.
Software still in development, it shouldn’t take long now.
-
It’s coming together. The circuit passes elementary tests for powering and analog processing. Enclosure drilled and assembly about to be completed.
Software still in development, it shouldn’t take long now.
-
It’s coming together. The circuit passes elementary tests for powering and analog processing. Enclosure drilled and assembly about to be completed.
Software still in development, it shouldn’t take long now.
-
It’s coming together. The circuit passes elementary tests for powering and analog processing. Enclosure drilled and assembly about to be completed.
Software still in development, it shouldn’t take long now.
-
It’s coming together. The circuit passes elementary tests for powering and analog processing. Enclosure drilled and assembly about to be completed.
Software still in development, it shouldn’t take long now.
-
Neural Guitar Pedal – Optimizing NAM for Daisy Seed Arm Cortex-M7
https://www.tone3000.com/blog/running-nam-on-embedded-hardware
#HackerNews #NeuralGuitarPedal #NAM #Optimization #DaisySeed #CortexM7 #EmbeddedHardware
-
Neural Guitar Pedal – Optimizing NAM for Daisy Seed Arm Cortex-M7
https://www.tone3000.com/blog/running-nam-on-embedded-hardware
#HackerNews #NeuralGuitarPedal #NAM #Optimization #DaisySeed #CortexM7 #EmbeddedHardware
-
Neural Guitar Pedal – Optimizing NAM for Daisy Seed Arm Cortex-M7
https://www.tone3000.com/blog/running-nam-on-embedded-hardware
#HackerNews #NeuralGuitarPedal #NAM #Optimization #DaisySeed #CortexM7 #EmbeddedHardware
-
Neural Guitar Pedal – Optimizing NAM for Daisy Seed Arm Cortex-M7
https://www.tone3000.com/blog/running-nam-on-embedded-hardware
#HackerNews #NeuralGuitarPedal #NAM #Optimization #DaisySeed #CortexM7 #EmbeddedHardware
-
Neural Guitar Pedal – Optimizing NAM for Daisy Seed Arm Cortex-M7
https://www.tone3000.com/blog/running-nam-on-embedded-hardware
#HackerNews #NeuralGuitarPedal #NAM #Optimization #DaisySeed #CortexM7 #EmbeddedHardware
-
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
-
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
-
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. ➡️
-
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. ➡️
-
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. ➡️
-
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. ➡️
-
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. ➡️
-
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 -
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?
-
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?
-
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?
-
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?
-
Christmas lights! (well, sort of).
#daisyseed #arduino -
Christmas lights! (well, sort of).
#daisyseed #arduino -
Christmas lights! (well, sort of).
#daisyseed #arduino -
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/
-
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/
-
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/
-
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/
-
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/
-
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
-
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
-
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
-
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
-
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 -
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 -
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 -
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 -
My friend showed my the Daisy Seed, which is an audio rate #arduino. Is anyone here doing cool projects with them?
-
My friend showed my the Daisy Seed, which is an audio rate #arduino. Is anyone here doing cool projects with them?
-
My friend showed my the Daisy Seed, which is an audio rate #arduino. Is anyone here doing cool projects with them?
-
My friend showed my the Daisy Seed, which is an audio rate #arduino. Is anyone here doing cool projects with them?
-
My friend showed my the Daisy Seed, which is an audio rate #arduino. Is anyone here doing cool projects with them?
-
Wow, what a cool episode:
First there's a nice spotlight on @alpenglow, her soldering workshops and kits, then @todbot talks about some great resources for making audio tech using the #DaisySeed, a microcontroller/platform I had eyed up but shied away from for a long time.
I had to stop here, but am looking forward to checking out the rest of the episode tonight...
-
Wow, what a cool episode:
First there's a nice spotlight on @alpenglow, her soldering workshops and kits, then @todbot talks about some great resources for making audio tech using the #DaisySeed, a microcontroller/platform I had eyed up but shied away from for a long time.
I had to stop here, but am looking forward to checking out the rest of the episode tonight...
-
Wow, what a cool episode:
First there's a nice spotlight on @alpenglow, her soldering workshops and kits, then @todbot talks about some great resources for making audio tech using the #DaisySeed, a microcontroller/platform I had eyed up but shied away from for a long time.
I had to stop here, but am looking forward to checking out the rest of the episode tonight...
-
Wow, what a cool episode:
First there's a nice spotlight on @alpenglow, her soldering workshops and kits, then @todbot talks about some great resources for making audio tech using the #DaisySeed, a microcontroller/platform I had eyed up but shied away from for a long time.
I had to stop here, but am looking forward to checking out the rest of the episode tonight...
-
Wow, what a cool episode:
First there's a nice spotlight on @alpenglow, her soldering workshops and kits, then @todbot talks about some great resources for making audio tech using the #DaisySeed, a microcontroller/platform I had eyed up but shied away from for a long time.
I had to stop here, but am looking forward to checking out the rest of the episode tonight...
-
Please share to communities where this craftsperson might exist!
The plugdata project (https://plugdata.org) is a graphical programming environment based on Pure Data — a programming language for art, particularly music. It's an extraordinarily mature, well-developed flow language.
plugdata is a wholly-compatible fork designed to make it work for human eyes and hands, with the three big OSes, with computers designed for art (like my #ObliqueEasel), as a plugin for DAWs and audio software, and with microcontrollers (like the #daisyseed ).
The language can run live and interpreted, or it can be compiled to run as its own externals, as DAW plugins, and as microcontroller code. But we need help with the Heavy compiler! (https://github.com/Wasted-Audio/hvcc) There's only one guy working on it, and someone who lives at the rarified intersection between art software and compiler coding would be a huge boon to a powerful, positive software project!
I'd love to answer your questions about the project!
-
Please share to communities where this craftsperson might exist!
The plugdata project (https://plugdata.org) is a graphical programming environment based on Pure Data — a programming language for art, particularly music. It's an extraordinarily mature, well-developed flow language.
plugdata is a wholly-compatible fork designed to make it work for human eyes and hands, with the three big OSes, with computers designed for art (like my #ObliqueEasel), as a plugin for DAWs and audio software, and with microcontrollers (like the #daisyseed ).
The language can run live and interpreted, or it can be compiled to run as its own externals, as DAW plugins, and as microcontroller code. But we need help with the Heavy compiler! (https://github.com/Wasted-Audio/hvcc) There's only one guy working on it, and someone who lives at the rarified intersection between art software and compiler coding would be a huge boon to a powerful, positive software project!
I'd love to answer your questions about the project!