USB Reddit Upvote/Downvote Button


[Chris] has recently become a self-declared Reddit addict and wanted to build something that would streamline the process of voting on posts. Inspired by the Awesome Button hack featured on Make a little while back, he thought that a physical upvote/downvote button would be the ideal peripheral for all of his Reddit needs.

He was a big fan of using the Reddit Enhancement Suite, which allows you to submit votes with a single keystroke. He combined this browser extension with a Teensy development board, and had his voting button prototyped in no time. Once he fine-tuned the Arduino sketch that he used to emulate the required keypresses, he got busy building a case for his creation.

He busted out his 3D printer and had a custom working project box in about 30 minutes. He printed arrows for the upvote and downvote buttons, snapped everything together, and then gave his quick vote box a spin. Everything worked perfectly, and he’s quite happy with his creation.

We imagine that our resident Reddit addict in chief is pretty jealous right about now…

Stick around if you’d like to see a time lapse video of the button’s creation.


10 thoughts on “USB Reddit Upvote/Downvote Button

  1. I think the idea/point of it is pretty lame.

    But the enclosure itself is pretty cool. Every time I see a project involving a 3D printer, I have to resist the urge to just splurge money and buy one. I’ve already got a 27″ plotter sitting here doing pretty much nothing after suffering from such a splurge.

  2. I love the teensy. I’d recommend it over the arduino to pretty much anyone, unless you really need shields. The bootloader is tiny, the programmer software is easy to use, and loading code over USB is incredibly fast. And of course, it works as a full-blown USB device.

  3. I love the project, but i can see issues with it in real life.
    If you were browsing multiple threads, or the index, how would you select which one? Also you can’t use it on comments. But the design and making of it was all very nice

  4. I like the idea since you are just mapping keypresses i think i would just use one of those usb number pads for the interface btw wht keys did you map it to? also; anon you are a tool

    1. I mapped CTRL + SHIFT + A for upvote and CTRL + SHIFT + Z for downvote (I also had to set these as the keystrokes in Reddit Enhancement Suite). They seemed like keystrokes that wouldn’t conflict with anything else in the browser (Chrome) on PC or Mac.

      You can do some cool things with the keystroke commands on Teensyduino. I imagine if you were to combine it with an AutoHotKey or AutoIT script on the client machine you could do some really awesome stuff.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.