BeatSauce - a Laptop Midi Controller Hybrid

by 74CH_5414Y in Circuits > Audio

7494 Views, 110 Favorites, 0 Comments

BeatSauce - a Laptop Midi Controller Hybrid

20150329_213200.jpg

For a long time I've wanted to build a custom Midi controller, and while this isn't exactly a new controller I did breath new life into some old hardware.

Using some parts that I had accumulated and spending minimal money on new ones I managed to build a...a...DJ computer laptop thingy?...That's why it's called BeatSauce. It's like the Beats of the music just smashed together with technology.

Parts, Sources, and Tools

I owned all the parts except for the nuts and bolts I used to mount the screen. Here is the list of all the parts I can recall using to build this monstrosity.

Parts:

  • Apple Macbook (Early 2008)
  • Numark Mixtrack Pro
  • USB Hub
  • Teensy 2.0 Micro controller
  • 2 Toggle Switches
  • 2 Potentiometers
  • 2 RGB LEDs
  • 2 Knobs (pot covers)
  • Strip Board
  • Short Zip Ties
  • 4 long and skinny Bolts
  • 13 bolts
  • a lot of wire (about 16 AWG with some variance for power supplies)
  • male and female D-Sub connectors
  • Terminal blocks
  • NPN transistors
  • Wafer and Housing connectors

Tools:

  • Screwdrivers
  • Multi-meter
  • Needle Nose Pliers
  • Drill bits
  • Soldering Iron
  • hot glue gun
  • Knifes
  • hand saw
  • Probably some various other tools as well

Suppliers:

While this is mostly personal preference and I had most of my parts already the major suppliers I use on a regular b basis tare Tayda Electronics and PJRC. Most things you cannot get at there are available at stores such as Radio Shack and Amazon.

Analyze the Midi Controller

DSC_0102.JPG
DSC_0103.JPG
DSC_0104.JPG
DSC_0105.JPG
DSC_0106.JPG
DSC_0107.JPG

I've used this controller for other mods so I had an idea how much room I'd have inside. It's a good idea to make sure you will have enough room to put the parts you need into the casing before working on some of the other parts. I left the case open while I took apart the computer so that I could do a test fitting of all the parts. The case remained open until I finished the project.

Reverse Engineer the Computer

DSC_0084.JPG
DSC_0085.JPG
DSC_0090.JPG
DSC_0098.JPG
DSC_0101.JPG

I had an old Macbook so that's what I used but a lot of other notebooks and net books have similar requirements.

Macbooks require that you use the original charger so I had to save the power cable to continue to run the mac. Since it had some broken parts I had to figure out how to wire it without using most of the original wires. Most laptops won't have this problem though.

I also added wires to the motherboard so that I could start the computer without the keyboard being attached. This was a delicate process and was difficult for me so I'd only attempt it if you know you're way around a multi-meter and a soldering iron since motherboards are easily damaged.

I finished by testing the parts outside of the case to make sure I had covered my bases and gotten all the parts I needed. It's best to keep the other parts from the case in case you wanted to use them in the final build. I for instance opted to include the Bluetooth module and the internal speakers.

Mounting the Display and Some Layout Choices

DSC_0147.JPG
DSC_0138.JPG
DSC_0143.JPG

Mounting options will vary depending on your situation, luckily for me the plastic was rigid enough to support the screen. I took my controller and the screen to the hardware store and picked out some nuts and bolts to hold them together. The bolts had to be thin enough to fit into the hinge mounts on the screen but also long enough to hold the display hinge over the controls so that it would still fold closed.

Something to consider is how long the wires from the screen are. I had to position the logic board so that all the wires would still reach, but since the board was actually had to be further away than the cables would allow I ended up extending some of them. Be careful extending an LVDS (low voltage digital signal) cable since small alterations can cause them to stop working altogether.

I also made a cutout for the cables in the lid of the controller and then held them in place with zip ties.

Providing Power

DSC_0134.JPG
DSC_0135.JPG
DSC_0141.JPG

I neglected to include a picture of my power strip, but I promise it wasn't very impressive. I plugged in the mac charger, the 5v power supply from the usb hub, and a 12v power supply into a power strip and held the wires together. Then I taped them at the same length, cut off any excess and soldered them to the male end of a D-Sub connector. I gave the macbook's power cord to pins each for positive and negative since it uses almost 4 amps of power. Make sure these connections are insulated and sturdy so that no shorts will occur. Write down the placement of the pins so that the mating connector can be created as well.

Building the Added Controls

DSC_0177.JPG
DSC_0142.JPG
DSC_0144.JPG
DSC_0185.JPG
DSC_0189.JPG
DSC_0192.JPG
DSC_0145.JPG

There are a lot of ways to do this, but this is how I did it.

I know that the Teensy can be programmed to act as a Midi controller, so I chose it as my Mico-controller.

The circuits I used are fairly simple and can be found in a magnitude of places. The knobs, switches, and LEDs are connected the same way they would be connected to an Arduino, but to a Teensy. The stripboard lets me make a basic circuit board that will facilitate my components, particularly the Teensy and the NPN transistors I used for the LEDs as well as the socket for the connector.

Coding It

DSC_0205.JPG

While building the controller it's a good idea to test elements of it. So I have a program to test the components of the Teensy Midi controller as it was built. After this I wrote another program to act as the midi controller. PJRC has a lot of information on their website, so that was a great source for midi programming information.

PJRC midi

Also make sure the MIDI option is selected in the Arduino IDE.

Putting It Together

DSC_0199.JPG

This is where all the parts will be mounted and all the wires connected. I soldered the Mixtrack USB to a cable and hooked it up to the computer, same as I did with the Teensy and the USB hub. The hub I connected to power and the computer. I also ran the power wires to a terminal block that I mounted by screwing holes into the casing and zip tie-ing in place. I also used a terminal block for misc. wires that had to be connected, such as the power switch and some auxiliary USB wires.

Some plastic had to be removed from the controller to accommodate the circuit boards. This is also important so that the parts don't stick up so far that it cannot be closed again later. I also had to cut holes for the USB hub's ports so that it could be used from outside the case.

I used a lot of hot glue to make sure the parts I couldn't zip tie in stayed in place. This was mostly the USB hub and the hard dive.

Don't forget to do a test fit.

Closing It Up and Conclusion.

DSC_0202.JPG
DSC_0164.JPG
DSC_0191.JPG
DSC_0204.JPG
running.jpg

I had some diagnostics to do and I had to prop the case open so I could install windows from a CD. But all in all I think it was a great build.

I would still change some things and there are some improvements I would make.

  • I would add rear USB, perhaps extending some of the left over ports from the hub.
  • Add some fans to help move air around the case since it gets a little warm in there (the original purpose of the 12v power that I didn't use internally.
  • Clean up the front USB ports
  • Create a proper power distribution box rather than just a power strip with several adapters
  • Use a higher power computer since the one I used leaves a little to be desired.

The system is actually very usable when I was trying it out, a USB keyboard and mouse are a must though. The addition of the knobs and switches make my transitions much much easier since I now have easier access to a filter effect and quickly snapping loops on and off.

Constructive criticism is highly welcomed since this is my first Instructable. I'd love to know what suggestions and comments people have since I will probably try to improve the design over time.

Thanks for reading!