Skip to content

Getting Started

Welcome to DaisyDuino!

This tutorial will walk you through the process of adding Daisy support to the Arduino IDE and running an example program.

Follow along with our video tutorial!

We recommend using Arduino IDE V2, as V1 may no longer be compatible with certain software required for DaisyDuino to function.

Add Daisy Support to the Arduino IDE

To add Daisy support to your Arduino IDE, follow these instructions from stm32duino.

Make sure to perform the "extra step" of installing STM32CubeProg, as that application is required for uploading firmware to Daisy. You can return to this tutorial after that step.

For Mac, the Arduino IDE's "Preferences" may instead be called "Settings…" and located under "Arduino".

This will take you through the process of adding the STM32 Arduino Core, which has support for Daisy as well as a number of other STM32 based boards.

Install the DaisyDuino Library

DaisyDuino is included in the official Arduino IDE Library Manager:

  • Open the Arduino IDE and select Sketch -> Include Library -> Manage Libraries.

  • In the search text field, type "DaisyDuino". You can then select the library for install.

That's it! The DaisyDuino library should now be installed.

For more detailed instructions on installing Arduino libraries, check out this tutorial.

Install the OLED Library

To add OLED support to to your Arduino, install the U8g2 library via the Arduino library manager.

This is only necessary if your Daisy hardware has an OLED display (e.g., Field, Patch, etc.).

  • Open the Arduino IDE and select Sketch -> Include Library -> Manage Libraries.

  • In the search text field, type "U8g2". You can then select the library for install.

The first program that we'll upload to Daisy is the classic "Blink" program which toggles the state of the onboard LED each second.

To load the Blink example, click File -> Examples -> 01.Basics -> Blink

It's worth mentioning that the file does not need to be edited, the macro LED_BUILTIN is set up for Daisy’s built-in LED (on PC7).

Once you've selected the Blink example, you will need to select the Daisy board variant and pick some options in "Tool". To do this:

  • For "Board", select "Generic STM32H7 Series".
  • For "Board part number", select "Daisy Seed".
  • For "Upload Method", select "STM32CubeProgrammer (DFU)".
  • For "USB support", select "CDC (generic 'Serial' supersede U(S)ART)" if you're using USB for Serial. Otherwise, select "None".
  • For "USB speed", select "Low/Full Speed" for the built-in USB and "High Speed as Full Speed" for the USB pins on the pinout.

With Daisy Seed connected to your computer via its onboard USB, hold the BOOT button down, and then press the RESET button. Once you release the RESET button, you can also let go of the BOOT button.

Now, press the 'Upload' button (not the 'Upload using Programmer' button) in the Arduino window to compile and flash the example to your Daisy. You should see the onboard LED toggle on and off each second!

If you see the following console message but the LED does not blink, press the RESET button.

RUNNING Program ...
  Address:      : 0x8000000
Start operation achieved successfully

The Arduino IDE might output Error: Start operation failed in the console. This is perfectly normal and does not indicate a problem during upload. This is due to STM32CubeProgrammer.

!!! warning "Windows users may need to reset their USB driver using Zadig. Full instructions are on our Zadig page".

Next Steps

  • Run a Daisy specific example program. These can be loaded directly from the IDE and are located in File -> Examples -> DaisyDuino.

  • Modify an example program and listen to the results.

  • Write your own Daisy program and make some sound!

Troubleshooting

Please refer to the Arduino section of the Troubleshooting Page.