Over the past few days I have been re-writing my own code for my touch slider project and I finally arrived at a point where it is running fairly well. All code and future updates on the Arduino code portion will be available on my github using the link below. There are still a few bugs to work out but at this point I have a code I feel is ready to publish. The biggest issue is the outputs will sometimes latch onto a direction. I have a fix for that which is fairly simple but I have not implemented it yet.
I decided to make the project open source and it is licensed under the MIT license. When I have a proper PCB design I will be publishing the BRD files and schematics for that.
The current method of testing the slider isn’t the prettiest, but it sure works well.
It has been about a year since my last attempt at building a functional touch slider that works with custom Project Diva controllers but its back! It was a combination of seeing a 18×24″ piece of single sided copper clad FR4 in my amazon recommended bar, not wanting to invest $1000 into developing a hobbyweight Combat Robot, and a new copper sensor layout idea that I saw on a datasheet.
I knew from my last “attempt” that a lot had to change. The three main things were to significantly shorted the traces from sensor pad to MPR121, less gap between sensor pads, and to zig-zag the sensors allowing for better contact on multiple pads while also increasing overall width. With these criteria in mind, I went to Inventor and whipped up a few sketches of different patterns and imported to CorelDraw. After filling in the bits that needed filling in, I set the whole file to inverse color and I was ready for the laser cutter. For anyone following along at home, this is the image to use if you want to attempt your own. If you have CorelDraw, I can give you the native file to import instead of using the JPEG below.
For anyone not familiar with making a PCB with a laser cutter, it is done by spraying the entire board with paint, and etching away the negative of your copper layout. After a little cleaning with rubbing alcohol, the whole board is etched in ferric chloride. For anyone following along at home, my laser settings on an Epilog 40W laser were speed 5% and power 10%. My next attempt will probably be 12-15% to remove a little more on those thin traces between the contacts, two were bridged after etching.
With the board etched, the last two steps are to acetone away the remaining paint, and to drill the holes
Not pictured is where I am currently. I drilled the holes and attached the first MPR121 breakout board and it is working fantastic with the first 12 sensor pads. the next step is to wire up the other four and try to get some working code which is always the hardest part for me.
I got some base code to work off of from Reddit user u/Fatso666 and modified it to work with all four sensors. Did a little cleanup and it’s working! I unplugged the middle four arrows for the time being to plug into the Arduino that is hiding underneath the controller and taped a box behind to hold up the slider but everything registers without issue. I will still be working to revise the code to operate smoother and more efficient. I may try to possibly add code for tracking LEDs up top just like the real cabinet but I don’t want to get ahead of myself just yet.
Also this means I have to build another controller being a 1:1 replica of the input face. DivaPRO? DivaUltimate?