Arduino Productivity Controller
Prototype Version 1
Grade 11: December 2017 - May 2018
Designed using Arduino and Solidworks.
This Arduino Productivity Controller allows users to perform a wide range of actions on any computer. It connects to the computer via USB, just like any other mouse or keyboard. Instead of a mouse sensor, the controller makes use of a joystick and buttons which allow for use without requiring much desk space. The controller has 8 different profiles. Each profile emits a specific RGB colour when it is selected. These profiles contain macros such as entering login information (emails only to be safe), opening commonly used websites, writing blocks of code, navigating your browser, controlling a Youtube playback, and so on. Since the controller uses an Arduino microcontroller, the user can change the code in the Arduino IDE for full customization of macros, unlike current mice on the market which have restrictive software.
Profile Colours
Solidworks Screenshots
Isometric View | Top View | Front View |
---|---|---|
Left View | Right View | Rear View |
Bottom View | Shell Top Half | Shell Bottom Half |
Front Top Button | Front Bottom Button | Front Button Bracket |
Side Button | Side Button Rear View | Side Button Bracket |
Top Button | Top Button Bracket | Arduino/LED Bracket |
Screw Head Widener | Button |
Build Process
Moving Forward
This project is still a prototype and many revisions will be made. Here are are list of possible improvements:
The use of solder breadboards or designed PCBs instead of crudely soldered wires. PCBs would allow for actual production of this product.
Shell redesign. The shell could use more screw holes and a bit of cleaning up internally.
Code cleanup and revision. The code currently works, but could use some cutting down as there is a fair amount of repetition.
Added functionality: Further down the line, I could make the controller wireless and possibly include a gyroscope module for gyro controls.
Size reduction. I could find smaller modules or even make a whole circuit from scratch without premade modules in order to cut down on the controller size.