SlackBuddy

671

4

1

Posted

Introduction: SlackBuddy

Ever have trouble keeping up with your different slack channels or miss notifications when one of your groups becomes active? Slack Buddy is an ambient display which can be kept on your desk to gently notify you when your slack groups are active. Up to 4 slack groups can be added to the Slack Buddy cube, and each group will be displayed on one side of the Slack Buddy. Slack Buddy will gradually increase in brightness as you receive more notifications. This is a great way to see which of your teams may be in need of attention.

Created for HCIN 720: Prototyping Wearable and Internet of Things Devices Class at RIT

http://fetlab.rit.edu/720/index.html

Materials List:

Supplies:

  • Particle Photon
  • Neopixel 8 RGB LED Stick (4)
  • Jumper wires (at least 12)
  • Breadboard
  • Birch Plywood (3)
  • E6000 Glue
  • Wax Paper
  • Wood Stain
  • Colored Acrylic Sheets (4 sample sized)
  • Mounting Tape

Devices Required:

  • Laser Cutter
  • 3D Printer
  • Soldering Iron

Step 1: The Outer Box

  1. Download the following .ai file to work access both the vector of SlackBot and the already made vector box cutouts. The layers will be labeled with their purpose and material. The SlackBot vector is for your colored acrylic and the box pieces are for your plywood.
  2. To cut plywood, we utilize the medium density plywood setting on our laser cutter with the thickness set to 3.5 mm. This makes sure the laser is powerful enough to cut it through the first time.
  3. Laser cut the pieces from your plywood board.
  4. Stain your 4 sides with a stain color of your choice to hide any burn marks. Repeat as many times as desired. We did 3 coats.
  5. Seal your stain in with a finishing spray of your choice. We used a satin finish.
  6. With the SlackBot vector, cut out SlackBot window pieces with your laser cutter. We used quarter inch cast acrylic but extruded will look similar. Depending on the type of acrylic used, use either the cast or extruded acrylic’s setting on your laser cutter. You can use one color but we opted to use 4 for the different colors in the Slack logo.
  7. Using a Q-tip, carefully place E6000 all around the edges of your SlackBot cutout. Place cutout into the window of the plywood. Repeat this 3 more times.

Step 2: The Inner Box

  1. Using the .ai file provided, cut out the layer specified as “inner box - plywood” with your laser cutter with the same settings you use previously for the outerbox.
  2. With the layer specified “inner box - cardboard”, cut out the 4 cardboard pieces with appropriate settings on your laser cutter.

Step 3: Inner Brackets

  1. Using the .stl file provided, print 8 of the brackets with about 80% infill.

Step 4: Wiring

  1. Four (4) LED Strips must be connected to the photon for this project. It is important that the photon is placed towards the center of the breadboard so that the charging cable does not stick off the edge of the board and cause additional height.
  2. Prepare the LED strips by soldering a jumper cable to the ground, Din, and 5v power pad on each LED. It is important to make sure that you are soldering to the side that say Din and not Dout.
  3. Once the wires are soldered onto the board the following diagram shows the proper connections of the wires.

Step 5: Photon Code

The photon code is what will run on your photon device and will control the lights inside SlackBuddy. This section will explain the code and photon setup.

  1. Register your photon - Your photon can be registered through https://setup.particle.io
  2. Connect to the internet - You can follow these steps to connect your photon to the internet https://docs.particle.io/guide/getting-started/co...
  3. The following IDE can be used to compile and flash code to your device without the need to enter DFU mode (important once the box is put together) https://docs.particle.io/guide/getting-started/co... Add the attached code to your .ino file. This code is what provides the function unread toggle which will allow us to have the server send information to the photon. A call will be made in the form {light},{notifications} when the light is the group to toggle and the notifications is the number of leds on the pixel strip that we want to light up.
  4. Compile and flash your code to your photon.

Step 6: Server Code

The server is responsible for making the API calls to slack and sending them to the photon. This section will cover how to create the server code.

  1. Credentials
    1. Legacy Tokens: https://api.slack.com/custom-integrations/legacy-...
    2. Device Id and Access Token: can be found under settings on the photon website. https://api.slack.com/custom-integrations/legacy-...
  2. Install NodeJS - if node js is not already installed on your machine, you will need to install it. The best to do this on a Mac is using Brew.
  3. Code - create a file named server.js and add the attached code to it
  4. Run the server using by typing the following command in the terminal from the directory of your file Node server.js

Step 7: Putting It Together

While the box’s sleek appearance may seem hard to achieve, it’s actually quite simple and requires no nails or screws! We created special 3D printed brackets, where you glue the brackets to each respective bottom and top corner. While it takes a little more time to assemble, the result is sleek and aesthetically pleasing. We found gluing 4 brackets to the sides thats are cornered in made the gluing process easier. You may need to compress your plywood because of warping, so using a clamp is recommended!

  1. Using two of the 6 inch window sides, glue the brackets down with E6000. Your bracket should stand up in the L position. Do not glue the bracket completely down. Allow this to dry completely before moving on to step 2.
  2. Attach the third 6 inch window side and back side to the sides of the brackets not attached with E6000. Make sure you line up the sides perfectly to create a seamless look. Note: You may need to do this a couple of iterations, as each side will take time dry.
  3. Once the sides are attached to the brackets glue the corners down with more E6000, you may require a clamp to keep the sides together and if the wood was warped.
  4. Assemble the inner box by gluing the two sides and middle pieces of the inner box into the peg holes. Allow these to completely dry. Note: The piece will not fit perfectly together and that’s intentional. This is allow room for wires to be placed through the corners.
  5. Glue the top piece to the inner box, using tape to hold the piece up as the glue dries may help.
  6. Attach two layers of double sided mounting tape onto the lights.
  7. Place glue on back of mounting tape and attach to the 3 sides and top of the inner box. Use tape to hold them in place until they are dry.
  8. Place your Photon and breadboard into the inner box and wire the the lights to your photon. Connect your micro usb cable to the the Photon. Note: The micro usb cable must be in the box prior to gluing it.
  9. Cut out pieces of wax paper and tape the paper behind the acrylic walls. This will diffuse the light and make it harder to see inside.
  10. Place the glue on the bottom brackets of the box and attach the bottom. Allow this to dry for at least an hour before moving onto the next step. Keep in mind you may want to place a heavy book on top of it to compress the wood down. Also ensure the usb cord is coming out from the hole in the back.
  11. Glue in the cardboard pieces diagonally to each corner. You may need to hold each one for a moment to ensure it doesn’t fall over.
  12. Cut two square pieces of vellum or wax paper with a center square cut out as big as your inner box. Tape these two pieces together and place this on top of everything. This is to diffuse any light coming from the 3 sides.

  13. Glue down the top window piece and compress with a heavy object like a book.

Share

Recommendations

  • Epilog Challenge 9

    Epilog Challenge 9
  • First Time Author Contest 2018

    First Time Author Contest 2018
  • Sew Warm Contest 2018

    Sew Warm Contest 2018
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

Comments

That's a neat notification system :) Fun idea!