This project was inspired by Apples recent addition of the touch bar to the new Macbook pro. It runs on Arduino Nano and interfaces with Processing via USB connection, creating a unique + intuitive way to interact with my Laptop.

It has a 5 button interface which allows me to launch apps, open folders and pull up my favorite websites with a quick button press. This version currently gives me to access 24 different functions which are divided into 6 categories of 4 functions for ease of use, these categories include: Tools, Media, Browser, Utilities, Social and Lifestyle. Categories can be navigated through using the small button on the side and each category is visualized with a unique color by an RGB led within the device, illuminating the plastic buttons from underneath. These colors allow me to associate which category the software is in without looking at the screen.

As precedent for this project I took these words from Apples Chief Design Officer about the touch bar:

"We're introducing a new way to interact with your notebook, a multi touch bar provides a more intuitive, more immediate connection to your content. Commands that were once hidden are now visible, easily accessible and also customizable." - Jonathan Ive.

In short: The Laptop Control Box allows you to assign specific applications and functions to each button which can then be launched without the need to navigate through your Laptop, improving accessibility to content.

As someone who creates a lot of digital content on a Laptop I find myself constantly bouncing between various software's, files, and windows frequently during projects. Traditionally, navigating through this content requires the mouse / trackpad which can be time consuming when trying to work efficiently. Fortunately, with inspiration from Apple I was able to create a device that innovates upon the traditional MacBook workflow.

This Instructable outlines the full creative process from manufacturing and coding to final product. It has been designed to interface with a MacBook Pro but can easily be adapted for Windows.

All laser cutting files and code are attached and open source.

Step 1: Parts List

The Design requires only a few parts:

You will need access to a laser cutter and a drill press.

<p>Does this codes works on Win7 32bit?</p>
<p>Yes the code should work on windows 7, however you will need to adapt the application addresses within the processing code to the right locations for the .exe files that will launch your apps. These will be specific to your own computer.</p>
<p>Would this be something that could be created for a Windows computer? If so, how?</p>
<p>Yeah this could easily be adapted for windows, it would just involve changing the application addresses within the software for the apps you want to launch with the buttons. </p>
<p>Awesome project!</p>
<p>Carl, I am having trouble getting your code to work. I built the circuit, installed Processing and cannot get the Arduino and my Mac to communicate. I definitely have the correct serial port selected in Processing as it's the same one that I used in the Arduino IDE. Now I admit I am new to Arduino, but the &lt;test_code.ino&gt; file I downloaded and the &lt;Laptop_buddy_rgb.ino&gt; look identical to me. Shouldn't they be different? Please let me know. Thanks!</p>
<p>Hey sorry about that! I realise now I accidentally saved the test code over the final code before uploading it. I have just fixed, tested and <br>uploaded the new working .ino file to step 5 as &lt;Laptop_buddy_rgb2.ino&gt;</p><p>The only difference between the test code and this one is the 'Serial.println' function has been changed to 'Serial.write'. </p><p>Println is used to print the data to the serial monitor whereas write is used to transfer the data to processing through the port. Hope this fixes your project and let me know if you have any more questions.</p><p>Best of luck!</p>
<p>Thanks for your prompt response, Carl! I was thinking that the change would be exactly as you stated. I've got it loaded up and everything is working just fine.</p><p>I've got a couple of cool ideas for a different style of enclosure. I won't spoil the surprise, but I'll be sure to post some pictures when I have it finished.</p><p>Thanks again and thanks for the great Instructable!</p><p>Bill S. (Quantz)</p>
<p>No problem, thanks for noticing there was a mistake. </p><p>Awesome I'll be keen to see what you come up with, if I were to do it again I'd add a 6th button on the side that brings up the user interface. </p>
<p>you got my vote bro! You're nice! </p>
<p>Hey thanks man! you're light matrix is cool, got my vote too </p>
<p>I like it, may be i will not use it as often. I will prefer cmd+ spacebar and search the name. but loved the concept and super effort.</p>
<p>Right there with you. </p>
<p>It is a great project for learning more about serial communication from Arduino to PC. I have done something similar but using a touchpad.</p>
<p>Thanks, I have been wanting to build something like this ever since I learnt about serial communication.</p>
Thank you for the great idea and plans. I recently changed jobs that require the use of a Mac Air.. what I miss most is the ability to use &quot;Display Fusion&quot; on Windows to move a screen/window to my second monitor with a single click. Anyway that this can be coded<br>-window selected<br>-button pushed<br>-window moves back and forth between monitors<br><br>Thanks again!
<p>Glad to hear you like the project, That would be a really cool function to have in this design! If I ever upgrade to have a second monitor I might just try that out. </p>
YOU should be designing for Apple.<br>They need you.<br>The iphone 7's a joke, the touchbar's laugable too, I'm even talking bout the watch...<br>WHY is Apple not releasing producta like this anymore?!
<p>Haha thank you I wish I was. I'd love to get in there and push the limits of what they're making. Maybe some day ;)</p>
<p>Awesome. I love using shortcuts, hotkeys, commands and all that mish-mash. This sounds like a really useful tool. Incredible job!</p>
<p>Thanks man! I love anything that speeds up my workflow too.</p>
<p>Very nice job, can't wait to build one myself :D, love the design of the buttons!</p>
<p>Thanks! glad it provides some inspiration. I'll be happy to answer any questions to help you make one yourself.</p>
<p>This is a fabulous project. I had some ideas for my own push button PC controller, but this far exceeds my own. I'm looking forward to trying out you project. Thank you for sharing this with us.</p>
<p>I'm glad to hear you like it, best of luck with your project I'd love to see what you come up with. </p>
<p>Interesting design and nice craftsmanship, but - as far as I'm concerned - the idea is a bit impractical. Most modern OSes allow for custom key combos to launch whatever you need (e.g. a web browser, e-mail client, text processor, IDE etc.) and it's only a matter of digging in the OS configuration a little bit. But it'd be an awesome addition to a tablet or smartphone :).</p>
<p>can it be used in window 10???</p>
<p>I believe it can be used with windows 10. The only issue is Processing isn't fully capable on windows 10 yet. I think there are work arounds to fix it though which you can read about here: </p><p>https://forum.processing.org/two/discussion/11598/windows-10</p>
<p>Interesting and nice physical control panel! <br>I might do one myself. But does the launch software be &quot;active&quot;/upfront for the buttons to work? Because in the video you close or minimize all the programs before you push the next button.</p>
<p>The software doesn't need to be active, it can be minimized and still work in the background. Thanks for pointing this out I should have addressed that in my video since it's a big part of what makes this tool useful.</p>

About This Instructable




Bio: I started making things at Victoria University in Design School while studying Industrial and Media Design. This degree has helped develop my creative ability in ... More »
More by Carl Gordon Media:Laptop Control Box Interactive Reflex Punching Bag $100 Smart Mirror Pi 
Add instructable to: