Button Box
December 20th, 2017
I decided to make a custom enclosure for all my coworkers this year as a holiday gift. I 3d printed an enclosure, with NRK's company logo on the top beside a single 16mm LED button. I also added 2 more buttons, out of sight on the back on the box. The buttons are programmable, but the main focus for the buttons is to provide a more enjoyable way to "get latest" from our source control. There is an orange LED mounted to the front of the box which blinks if someone breaks the build or unit tests. This electronics for this project were very simple, basically just an Arduino nano attached to some buttons and a couple of leds. The USB-B panel mount to the Arduino provided for a very clean look and the 3d printer made it easy since it just printed out the square without any supports. My first iteration of the box included a mounting slot for a ground terminal. While the ground terminal idea was neat, it was not very practical and it was much easier to work the components inside the box by just having a floating bolt with washers and nuts attaching all the grounds - which was then just heat shrink to avoid shorts. The software for communication to the Arduino was built in WPF. I setup the WPF application to automatically connect to the Arduino, so my coworkers would not have to worry about figuring out the COM port. For more ease of use, the application installs the driver if it's not already installed. And the last cool feature of the application is that it is setup to check the version of code running on the Arduino, and if it's out of sync with the latest version then it will upload the latest Arduino binary unto to the Arduino. This feature is pretty cool, since I do not expect all my coworkers to go and download the Arduino IDE just to upload any hot fixes to the Arduino. I used the ArduinoUploader library, found here. |