home.social

#xiao — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #xiao, aggregated by home.social.

  1. Not fully finished yet, bit close enough to share. Lessons learned:
    The seeed #XIAO seems to be more robust than expected, this noob didn't break it yet by causing shorts.
    Modelled my first 3d stuff to be printed.
    Working with leather is fun an poses interesting challenges.

  2. My current success rate with #MechanicalKeyboard PCB soldering is currently only 2 out of 5, well 40% is a pass mark - just.

    The #RaspberryPiPico #RP2040 ‘Gamma Omega TC36K’ board worked (an easy build, could probably have socketed it). 💚

    One success, one failure with #SeeedStudio #Xiao BLE castellated in Forager ‘Acid’ PCB (some fiddly back pads). 🧡

    Two failures with #ProMicro #nRF52840 BLE in ‘Gamma Omega Hesse’ board attempting faux-castellation💔

    Just as well custom PCBs are fabricated in batches of five - waiting on spare parts to try again - #LearningByDoing or #LearningByFailing ?

  3. Haven't been posting here much while I've been head down on working on a demo project, but wanted to take a moment to say THANK YOU to @todbot for doing some header soldering for me for the most recent dev-notes post:

    whynotestflight.com/excuses/ca

    #swiftembedded #swiftlang #esp32c6 #xiao #adafruit

  4. I've just spotted the kino-key from @kazbo_ (Kinoshita labs)

    This is a completely open source 25-key MIDI controller, including PCB, code and 3D print design for keys.

    It uses a XIAO RP2040 and it looks great :)

    github.com/kinoshita-lab/kino-

    #MIDI #SynthDIY #XIAO

  5. A new pedal for a friend, this one is just an elementary #MIDI controller. It alternatively sends Start and Stop messages when the footswitch is pressed so he can run his #MPC with it.

    The microcontroller is an #RP2040 from a Seeed #Xiao board. For this project I had all the parts in stock excepted the MIDI socket and the 1590B enclosure. The circuit was simple enough to be implemented on a stripboard (with SMD ferrite beads on the copper side).

    Edit: I also had to bend the top of the poor LM7805 regulator to make it fit into the enclosure. 😅

    #electronics #stompbox #audio

  6. this #seeedstudio #xiao #rp2350 looks cute!

    seeedstudio.com/Seeed-XIAO-RP2 only 5 bucks, i wish they also made a W version of this. reichelt seems to carry it, and the seeed eu warehouse also has some.

  7. And the circuit prototype is now working perfectly to play sounds/music when the buttons on the book are pressed.

    Using Wago connectors is great for this kind of project!

    Here are the main parts:
    - Xiao ESP32C3
    - MP3 mini dfplayer
    - Wago connectors
    - Speaker (added later)
    - LiPo battery (added later)

    5/🧵

  8. does anyone know of a small (like a #teensy, or #seeed #xiao) cortex-m7 board? i have a teensy 4.1, but the lack of #JTAG/#SWD and direct access to the flash make it very clunky to work with. and no i don't want to solder mod the teensy to get access to the debug pins...

    boosts in direction of embedded/hw communities much welcome.

  9. does anyone know of a small (like a #teensy, or #seeed #xiao) cortex-m7 board? i have a teensy 4.1, but the lack of #JTAG/#SWD and direct access to the flash make it very clunky to work with. and no i don't want to solder mod the teensy to get access to the debug pins...

    boosts in direction of embedded/hw communities much welcome.

  10. does anyone know of a small (like a #teensy, or #seeed #xiao) cortex-m7 board? i have a teensy 4.1, but the lack of #JTAG/#SWD and direct access to the flash make it very clunky to work with. and no i don't want to solder mod the teensy to get access to the debug pins...

    boosts in direction of embedded/hw communities much welcome.

  11. XIAO ESP32-C3 MIDI Synthesizer – Part 6

    Expanding on my previous posts, I thought it might be interesting to see how I might be able to add some additional IO to the MIDI Synth. This is an exploration of some options there.

    • Part 1 – Getting started and getting code running.
    • Part 2 – Swapping the ESP32-C3 for a SAMD21 to get USB MIDI.
    • Part 3 – Taking a deeper look at the SAM2695 itself.
    • Part 4 – A USB MIDI Synth Module using the SAMD21 again as a USB MIDI Host.
    • Part 5 – A Serial MIDI Synth Module using the original ESP32-C3.
    • Part 6 – Pairs the Synth with a XIAO Expansion board to add display and potentiometers.

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

    These are the key tutorials for the main concepts used in this project:

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

    The Synth Grove Connector

    One option to immediately explore for me was the Grove connector on the Synth – highlighted by the blue rectangle in the photo below. I’m thinking at this stage of the XIAO Expander Module (more here) and how that might give some options for easily hooking up to the Synth.

    There one obvious issue with this, and one not so obvious issue.

    First, of course, there is no access to this connector through the case. My initial thought was to simply remove the PCB from the case and use it as a stand-alone board. On initial inspection it seemed that there were two screws holding it down. Not so, a more thorough inspection (after remove the two screws and still not being able to remove it), revealed a third screw underneath the “light pipe” for the LEDs.

    Unfortunately that light pipe is pretty well wedged into the case making removal particularly tricky. But without removing the light pipe, it isn’t possible to get to the screw at all.

    I did wonder about making a hole in the 3D printed case. A better option might be to get hold of the published 3D print files and add a hole and make my own (they are available via the product page).

    But both options would probably end up changing the original case somehow – even if printing my own, I still need to get the original PCB out somehow and that brings me back to the light pipe issue.

    The second issue isn’t quite so obvious. In that photo we can see that the pins for the Grove connector are labelled as follows (top to bottom):

    • NC
    • TX
    • 5V
    • GND

    The UART on the XIAO expander board, which I’d like to use, is labelled:

    • RX7
    • TX6
    • 3V3
    • GND

    Checking in with the Synth schematic, the connector is wired as follows:

    SYS_MIDI connects to the MIDI_IN pin of the SAM2695, so actually connecting “TX to TX” in this instance should be ok.

    5V might be an issue though, as it really does look like (to me) that it really means 5V – it is the input to the TPL740F33 that generates the 3V3 power signal, as well as feeding the amplifier directly. The datasheet of the TPL740F33 does seem to imply that if receiving 3V3 it can still generate 3V3 so it might be ok? The amplifier obviously won’t be as powerful though running off 3V3.

    Anyway, for now, instead I’ve just opted to use the GPIO again, wired into the expansion sockets with the XIAO removed.

    At the XIAO expander end, I’ve used the additional pins rather than the Grove connector, as they support a 5V output.

    The downsides to this approach:

    • I’m not using the Grove connectors, which would have been really neat.
    • I have no access to the four buttons on the XIAO MIDI Synth.

    But I do now have access to two I2C Grove connectors, a GPIO Grove, and the RX part of the UART Grove too as well as the on-board display.

    If a XIAO SAMD21 is used, then the previous code for USB to the Synth can be used directly – see XIAO ESP32-C3 MIDI Synthesizer – Part 2.

    If the XIAO ESP32-C3 is used, then an additional serial MIDI connection is required. This can be connected to the Grove UART connector (using the RX pin, and leaving TX unconnected) or the RX pin of the additional 8-way pin header on the expansion board. Then the code from this will work directly: XIAO ESP32-C3 MIDI Synthesizer – Part 5.

    Adding a Display and Program Control

    I already have some code that has done this for a XIAO on an expansion board here XIAO SAMD21, Arduino and MIDI – Part 6.

    But for this to work usefully with the Synth module, I need to adjust the routing so that MIDI goes from USB to serial, but the program change messages are also sent via serial to the synth module. That has already been address in previous parts, to I just need to merge the code with that from XIAO ESP32-C3 MIDI Synthesizer – Part 4.

    This is the result.

    There is a bit of jitter on the analog pot, but that is only because I’m using the original fairly simplified algorithm to detect changes. If I was fussed about it, I’d reuse the averaging class from Arduino MIDI Atari Paddles. And to be honest, a capacitor on the pot would probably go quite a long way too…

    As a test, I also powered the device from the Grove UART port connecting it as follows:

    • Expander GND – GND Synth
    • Expander 3V3 – 5V IN Synth
    • Expander TX – RX/D6 Synth
    • Expander RX – N/C

    And this all worked fine. So I think a Grove to Grove lead would work fine if I had access to the Synth’s Grove port.

    This does mean that the exact same code can work with the M5 Synth module using a Grove to Grove lead. The downside of this, even though it is a lot simpler in connectivity terms, is that there is now external audio out like there is on the XIAO Synth.

    For completeness the same code can be used with the XIAO ESP32-C3 and serial MIDI, see the photo at the start of this blog.

    To turn off all USB handling in the code, the following must be commented out:

    //#define HAS_USB
    //#define SER_TO_USB
    //#define MIDI_USB_PCCC

    For other parts of the code, the Arduino abstraction for A0 maps over to the ESP32-C3 fine. The only thing to watch out for is the increased analog resolution from 10 to 12 bits, but a call to analogReadResolution(10) drops that back to the expected 10 bits.

    Oh and the Serial port to use is different:

    • XIAO SAMD21: Serial1
    • XIAO ESP32-C3: Serial0

    Find it on GitHub here.

    Closing Thoughts

    If I can be bothered, it would be nice to actually display the General MIDI voice name on the display. The SAM2695 also has its MT-32 mode, so having some means of selecting that might be interesting too.

    And so far I’ve largely only messed about with driving it on a single MIDI channel, so there is a lot more that could be done there.

    Kevin

    #controlChange #esp32c3 #midi #programChange #SAM2695 #samd21 #usbMidi #xiao

  12. And whilst on the topic of SAM2695 devices, here is a short play with the M5 Stack MIDI Synth using essentially all the same principles of the set of other XIAO posts.

    diyelectromusic.com/2025/06/28

    #MIDI #XIAO #SAM2695

  13. And part 4 goes back to using the XIAO SAMD21 in the XIAO Synth to create a simple synth module with buttons for voice selection and volume control.

    diyelectromusic.com/2025/06/27

    #MIDI #SAM2695 #XIAO #SynthDIY

  14. In this one, I've replaced the provided XIAO ESP32-C3 with a XIAO SAMD21 and got it talking USB MIDI, first as a device, then as a host.

    diyelectromusic.com/2025/06/27

    #MIDI #XIAO

  15. I got my hands on #XIAO #ePaper display from #seeedstudio - since I'm a big fan of power dashboards, solar generation, and ePaper displays, I decided to turn it into a fun little energy dashboard.
    #HomeAssistant #ESPHome
    notenoughtech.com/home-automat

  16. Lovely Sunday.. this triptych of images is what I've been up too... some work on a scrappy Dahon Expresso project I picked up, some tinkering adding a neo6 gps to the #xiao #meshtastic setup interspersed with reading this fun book. #electronics #bookstodon #biketooter

  17. Get Into Meshtastic On the Cheap With This Tiny Node Kit - There’s been a lot of buzz about Meshtastic lately, and with good reason. The low-... - hackaday.com/2025/03/08/get-in #radiohacks #meshtastic #wio-sx1262 #esp32-s3 #network #lora #mesh #node #xiao #ism

  18. Mientras esperan la nueva #cancion que les estoy preparando, les dejo un #gmv que hice de Genshin Impact hace tiempo, espero del guste.

    In the mean while you wait the new #song I'm preparing for you, I leave you this GMV I made from Genshin Impact some time ago, hope you like it.

    #musica #music #kpop #straykids #game #MusicVideo #gaming #genshinimpact #xiao

    youtu.be/_kQ-AySUA4Y

  19. Next project, a Tetragonal Deltohedron LED polyhedron.

    It seems If you are making Art PCBs eventually you make the LED Cube style project.

    101 Addressable LEDs per side, 8 sides. running off a XIAO ESP32, Lipo battery inside...

    Same shape as my stained glass version blog.abluestar.com/projects/20

    Same methods as the Dodecahedron PCB blog.abluestar.com/dodecahedro

    #LED #LEDArt #PCB #PCBArt #LEDCube #kicad #polyhedron #MathArt #XIAO #ESP32 #FastLED

  20. Working on a capacitive touch front plate for a synth project. This top plate is a cheap PCB only board (No components). It connects to a more expensive bottom plate with a #XIAO ESPC6, amp, and headphone jack

    I never done capacitive touch before so I am trying several different patterns and designs. Always open to suggestions

    This was my idea for the @hackaday 2024 Business Card Challenge but @todbot beat me to it with his picotouch_bizcard

    #PCB #PCBArt #CapacitiveTouch #synth #ESP32 kicad

  21. Version 4.4 Event Wishes Announcement #GenshinImpact
    Phase 1
    Boosted Drop Rate for "Passerine Herald" #Xianyun (Anemo) and "Physic of Purity" #Nahida (Dendro)
    Phase 2
    Boosted Drop Rate for "Vigilant Yaksha" #Xiao (Anemo) and "Astute Amusement" #YaeMiko (Electro)
    Gaming will… twitter.com/i/web/status/17483

    :sys_twitter: twitter.com/GenshinImpact/stat

  22. Este video es el primero que hice para youtube, el timing de la canción me gusto mucho para este edit espero les guste ✌
    Aquí esta el enlace: youtu.be/_kQ-AySUA4Y

    #gaming #GMV #genshinimpact #xiao #videoeditado

  23. Arduino Audio and MIDI Frameworks

    I’ve been collecting bookmarks for interesting Arduino audio projects for a while now, and having now played with the XIAO SAMD21 I started looking back over my list for other things to try.  One thing that occurred to me is that there are a now a number of more powerful audio frameworks available for a range of microcontrollers, so in this post I’m doing an introductory “look see” at some of them, largely as “notes to self” to come back to them for some more detailed projects in the future.

    Note: Many of these require a 32-bit processor, which is one of the reasons I’ve not looked at them so far.

    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.

    Mozzi

    I’ve spent quite a bit of time with Mozzi of course, the synthesis library for Arduino that supports a large range of microcontrollers, including the “original” 8-bit Arduino ATmega328P, so I won’t go over that again here.

    For a starting point with Mozzi, see: Arduino PWM MIDI Synthesis with Mozzi.  For using Mozzi on a 32-bit SAMD processor, there is more here and here.

    But Mozzi isn’t the only game in town, especially if we’re expanding out to 32-bit microcontrollers.

    The Arduino Sound Library

    https://www.arduino.cc/reference/en/libraries/arduinosound/

    This is an official Arduino library that supports SAMD21 based microcontrollers using an I2S digital to analog converter. It is designed for the MKR series of official Arduino boards.

    Interestingly it appears to only support I2S audio devices for sound input and output.  That seems like a little bit of a missed opportunity to me in that the SAMD21 has a built-in DAC, but I guess analogWrite() deals with access to the DAC relatively easily.

    It is designed for official Arduino SAMD architecture boards – so those in the MKR series.  It might work on other SAMD architecture boards, I haven’t looked into it in detail.

    Phil Schatzmann’s Arduino Audio Tools

    https://github.com/pschatzmann/arduino-audio-tools

    This is a suite of open source code for audio stream processing, providing a range of audio sources (e.g. microphones, Internet streams, files, sensors, and so on) and sinks (e.g. DACs, PWM audio, MP3, codecs, audio modules, etc).

    It can be used to build audio players, processors, effects, file processors, audio visualisers, networked audio tools, and so on.

    I believe it supports the following microcontroller architectures:

    • ESP32 (S and C variants)
    • ESP8266
    • RP2040 (MBED and non-MBED)
    • AVR
    • STM32
    • SAMD

    It supports several audio output boards too, including: ESP32-A1S based boards (ES8388 or AC101 codecs); VS1053 modules; and WM8960 modules.

    I believe this is a library for audio processing, not necessarily audio synthesis.

    Marcel Licence’s ML Synth Tools

    https://github.com/marcel-licence/ML_SynthTools

    This is a comprehensive synth library for producing synthesizers, organs and effects.  Most of the code is open source, but there are certain key elements that are provided only in pre-built library form.

    It provides libraries for the following microcontrollers:

    • ESP32
    • ESP8266
    • XIAO SAMD21
    • Teensy 4.1
    • Daisy Seed
    • Raspberry Pi Pico RP2040
    • STM32F407

    As well as the synthesizer core oscillators there are modules for arpeggiators, effects, meters, scopes, and MIDI file playing.  Here are some example builds using the library:

    Although it isn’t fully open source, this non-the-less looks like it would be worth taking a more detailed look.  The provided videos of Marcel playing are particularly excellent.

    MIDI Controller Libraries

    There are a number of Arduino libraries for building MIDI controllers. Here are a selection of some that I’ve found so far.

    OpenDesk MIDI Platformhttps://github.com/shanteacontrols/OpenDeck

    This is a set of firmware and two official PCB designs for MIDI controllers. In addition to the official boards, it also supports many microcontrollers, including:

    • Arduino Mega 2560
    • Arduino Nano 33 BLE
    • Raspberry Pi Pico
    • XIAO RP2040
    • Teensy++ 2.0

    And many others. It includes a web-based configuration utility for defining the MIDI commands for the controls.  Official boards are available on Tindie and you can read more about them here: https://shanteacontrols.com/.

    It supports a range of buttons, encoders, potentiometers, force sensitive resistors, certain touchscreens and can provided feedback using LEDs and displays.

    Control Surfacehttps://github.com/tttapa/Control-Surface

    This is a general purpose library for building MIDI input and output control devices.  It supports a wide range of microcontrollers, including:

    • AVR (Uno, Mega, Leonardo).
    • Arduino Nano Every and 33.
    • Teensy.
    • ESP8266
    • ESP32
    • Raspberry Pi Pico

    It supports a range of MIDI transports, including serial, USB, “direct serial” (using Hairless MIDI) and MIDI BLE. It also supports a range of buttons, potentiometers, rotary encoders, switches, keyboard matrices, and so on and can provide visual feedback using a range of LEDS and displays.  It has built-in support for multiplexers, shift registers and LED drivers.

    It includes a huge number of example projects to browse.

    MIDIPalhttps://github.com/pichenettes/midipal

    This is a “MIDI Swiss Army Knife” that, with the additional of a display and rotary encoder, can provide a wide range of MIDI processing functions.  It includes an editor application for programming MIDI filters.

    This is a “native” AVR application, not for the Arduino environment.

    Notes and Volts MIDI Controllerhttps://www.notesandvolts.com/2016/04/arduino-midi-controller-buttons.html

    This is provided for completeness as it is a fairly common codebase for people to find and use with an Arduino. It supports a range of potentiometers and buttons and makes the task of configuring them as a MIDI control device relatively straight forward.

    Closing Thoughts

    As I say, this post is really almost a bit of a “to-do list” of things that look interesting and that I might try to take a more detailed look at, at some point.

    If you have experience of any of these frameworks or libraries; or have suggestions of others that might be worth a look, do let me know in the comments!

    Kevin

    #ArduinoAudioTools #ControlSurface #dac #esp32 #fmSynthesis #i2s #midi #midiController #MIDIPal #MLSynthTools #mozzi #OpenDesk #pwm #rp2040 #samd21 #synthesis #xiao
  24. Did I ever show this? Turns out because #ESP32 has super-configurable pins AND because the #adafruit #QTPy / #Seeed #Xiao format has castellated pads, you can just solder an I2C OLED display right on top of it and it works! Since this is an #ESP32S3 QTPy, I use this to test #CircuitPython WiFi stuff. Lately I've been using its as a Multicast UDP emitter 😀 Code for this demo: gist.github.com/todbot/31272a9

  25. Time to get to work! 📝💯✨
Genshin Impact character memopads now in stock on my Etsy! Available in 8 different themes.
etsy.me/3LBjnL0
[All Boosts appreciated! 💕]
    #MastoArt #GenshinImpact #genshin #etsy #diluc #kaeya #jean #albedo #xiao #zhongli #tartaglia #childe #hutao #stationery #notepads #memos