Hi all. My last big dev blog was the Ukulele build log, so I figured I’d start up another.
At the beginning of the year, I decided on a goal to sell something by the end of the year. I didn’t give myself many parameters, and I could probably cheat, but in my heart I know the sort of things I want to achieve.
- I want to create something new. Doesn’t have to be something completely novel, just at minimum a new design or flavor.
- I want to sell it, or at minimum, be set up to sell it.
- I want it to be something that people want.
- I want it to be something that multiplies my efforts once designed.
There’s some other touchy-feely sort of things that I don’t really have words for. One thing that would satisfy this requirement is to make a kit. First I was thinking of making travel ukulele kits, but the design I started down proved to be a bit too difficult and needs some refinement. That project isn’t dead, but it is on the shelf for now.
The other idea I had from the start was a DJ midi controller. I considered making it a USB midi controller, but after discovering the ESP32 (or really, just convincing myself to take the plunge) I think I’ve decided on a Bluetooth Low-Energy controller.
I did some initial research; and for some of the touchy feely reasons, I’ve decided to go with the esp-idf sdk over an Arduino stack. There’s some good technical reason for this too, but it is mostly that I want to get closer to the hardware, and while Arduino is great, it isn’t very mature for the chip.
I also found out that the ADC on the ESP32 isn’t the highest quality. I’m only processing human input, so it probably would be just fine, but I took the opportunity to also grab a few dedicated ADC chips while ordering some ESP32-WROOM modules. I designed a little breakout board for those ADC chips and sent it off to seeed studio and should get those back soon. They were FAR smaller than I thought they would be, so this should let me try my hand at SMD soldering as well as give me something to do prototyping with.
For a prototyping board, I’ve picked up the ESP32 Thing board form Sparkfun. This has been a joy so far, but compared to the reference board, it threw me when it had a 26mhz clock rather than a 40mhz.
Now that I’ve got a dev board and my toolchain compiled, I’ve gone ahead and played with a bunch of examples in the esp-idf repository. All but one compile and flash out the gate, and it appears that the one closest to what I want to achieve works well (though I’d need either a phone/computer side app or a second ESP32 dev board to test it).
I’m now diving into the BLE MIDI spec. These two links should prove useful for anyone else diving into similar stuff:
This weekend I was thinking about my design. I want to make this into a kit for DJs, but I also want it so sound mixers can use it for software audio levels. The input controls are a bit different between the uses, but very similar, and all the supporting hardware is the same. Instead of making two kits, I’m thinking I’ll have a layout on the board that is a bit modular so you can solder in either linear sliders, fade pots, or buttons. It won’t be entirely modular due to physical and input constraints, but I’ll try to make it so you can build a variety of configurations. I haven’t exactly figured out how, but I’m also considering adding if possible some way to auto-detect which parts are populated to auto-configure your device.
My plan is to design the circuit board in Eagle and use the Fusion360 sync to provide holdouts for an enclosure. This will allow people who buy the kit to design their own enclosure. Part of this came from a desire to have a mid-century modern inspired DJ controller, but it seems like the perfect way to allow anyone to make whatever enclosure out of whatever material(s) they want.
This is more of a brain dump of a bunch of ideas and progress since I didn’t think to start this earlier, but I look forward to keeping everyone updated with progress here.
I welcome comments along the way, and I hope this post serves as use for others. I’m sure I’ll make mistakes along the way and hope to share those too.