UPDATE JAN2021: Robotdyn has dropped the STM32 boards it seems. There is a CB version here but beware, those jokers changed the top right GND to a 5V, so don’t solder a header pin there. The on-board regulator is not used but still. A builder reported that this board is working fine.
UPDATE AUG2020: Info about encoder pins have been added to help people wanting to use alternative firmwares.
UPDATE JUL2020: Termination series resistor have been added on the 3 SPI lines. Only the brain is updated (1.2). Control board is unchanged.
UPDATE APR2020: If the module doesn’t seem to start after programming, try programming the MI bootloader first then re-program with the firmware from this page.
UPDATE MAR2020: Some testers had to add a 22R on the MOSI between the pill and the DAC, that involves cutting the trace on the PCB.
UPDATE FEB2020: new Blue Pill batches in 2020 have the expect 64kb, so you’ll need the Robotdyn board (choose STM32 NO SOLDER option).
Braids through-hole is a 12 bits through-hole adaptation of the iconic Mutable Instruments Braids digital oscillator. It’s a 100% non-commercial effort developed purely for the fun. In 2017-2016 I worked a lot with the “Blue Pill” a small STM32F103C8T6 dev board. I noticed that 100% of the boards from a specific Aliexpress seller had enough program space to fit the Braids firmware and so it began.
Please note this is working but still a work in progress, I’d love to hear your feedback after you built one unit so I can improve the files.
Motivation:
My drive for this project was to be able to give something back to the DIY community and pay homage to the most fascinating woman in Eurorack. I was also a member of some DIY eurorack groups on Facebook and read posts about failed DIY Mutable modules on a daily basis. Some really brave/crazy people out there were starting those complicated SMD projects without any experience. I love SMD and all SoundForce commercial products are SMD. But I wanted to work on something anybody could make and that would be affordable for a greater group of people.
The catches:
EDIT: All 2020 blue pills seem to have only 64kB, so order the recommended Robotdyn board below. You need to get exactly the right Blue Pill. Most of those chinese boards are populated with a clone of the STM32F103C8T6. Nevertheless, the clone is working perfectly. The F1 was introduced in 2007 and is still extremely popular on the chinese market. Braids was using an original STM32F103CBT6 with 128kb. The Aliexpress seller recommended in the BOM always delivered me with STM32F103C8T6 that had 128kb. Stick to that one and you should be good, I had 100% working boards with 128kb out of 150 as I used that board in the previous generation of my MIDI controllers. You can also buy a STM32F103CBT6 board from RobotDyn, the quality is usually better. But I think it’s not worth paying 5/6 times more, especially when the module is not using the voltage regulator on the blue pill.
The DAC (MCP4822) resolution is only 12 bits, which means that for sounds that are not 10V peak-to-peak, the signal to noise ratio is inferior compared to the original design. Think about the drums sounds or anything that has an decaying envelope. However in my opinion, this tradeoff is not a deal breaker as the 12 bits DAC is DIY-friendly and half the price of the original DAC8551 16 bits DAC. I was not interested into making breakout boards of that original DAC or selling them for that matter.
Encoder pins
The encoder pins had to be changed because there were not free on the blue pill boards. ENC_A is PA0, ENC_B is PA1 and the switch PA2. If you want to use any alternative firmwares with the hardware from this project you will need to change the pins in “encoder.cc” in the folder “drivers”, replace the 4 lines (lines 36-38 in the original firmware) with hose:
gpio_init.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_0 | GPIO_Pin_1;
gpio_init.GPIO_Speed = GPIO_Speed_10MHz;
gpio_init.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &gpio_init);
Super rough demo video:
Just to show that it actually works. If you want a complete demo, check the divkid demo.