Emulating A Student Clicker With An Arduino

When schools and universities have hundreds of students in a lecture course, they need a way to tell alumni and other potential benefactors that faculty/student relations are just as good as they were in the 1960s, when enrollment was just a fraction of current levels. Technology solves all problems, apparently, so administrators of these universities turn to ‘clickers’ – radio frequency remotes used to take attendance and administer quizzes.These clickers have absolutely no security, so it’s no surprise [Taylor Killian] was able to emulate one of these clickers with an Arduino allowing anyone with a laptop to cheat on a quiz, or have an entire class show up with only one student in the room.

Previously [Travis Goodspeed] (thanks for sending this in, [Travis]) tore apart one of these clickers – a TurningPoint ResponseCard RF – and discovered it uses a Nordic nRF24L01 wireless transceiver, commonly available on eBay for about two dollars.

[Taylor] connected this wireless module to an Arduino and whipped up a bit of code that allows him to listen to the audience responses, respond to a question as either a single clicker or all clickers, automatically respond with the most popular answer, and even block all audience responses to each question.

Perhaps technology doesn’t solve every problem, but at least [Taylor] learned something from a glorified remote control sold at the bookstore at an insane markup.

20 thoughts on “Emulating A Student Clicker With An Arduino

  1. Step 1: Make clicker devices that work like the oem device.
    Step 2: Sale for $40 to your class mates.
    Step 3: Profit!

    It’s a place of learning so of coarse the give you a easy experience of learning how to hack their hardware.

  2. Nice project!

    Does some one know if there is a open source “clicker” software server/clinet solution?
    Like PHP website or eaven custom server/client application.
    I don’t know hot to ask google to get some useful information, all I find is for $€ :(

  3. The write-up states some of the nefarious uses, but this work is also useful for students who require these devices for participation. I wish I’d seen this a few months ago – I had to pay about $50 for one of these pieces of garbage.
    Using this software you could purchase the $2 part off eBay and wire up your own. Many technically-minded students already have an arduino, so that would really be the only added cost.

    1. Well… I mean, he also used an Arduino… so about $32. Plus however much work it took; he had to sit in a few classes and just packet sniff, and analyze. Not every school uses the same system, you know? Anyway, as just a standalone replacement, it’s not really practical, I mean even he bought one it looks like (to find out which RF chip he needed). He just hacked the protocol for fun.

      1. True, but for me (a CS/CE student) I already HAVE an Arduino. I wouldn’t be purchasing one just for this project – so the cost is much lower. My school happens to have standardized on this system.
        I’m actually considering this just to screw with the professor for the last few weeks of the semester at this point.

  4. The sad thing is my mind immediately started thinking of effective software strategies for cheating with this.

    A) Take the simple average of the class, and choose that. Yes, most people could be wrong for a question but if they are there’s probably no shame in doing the same.

    B) Since your’e observing the entire class’s choices, you can build up a picture of how well each person does compared to the group average. Then get Bayesian with it. Start by assuming that everyone in the class is equally likely to get the answer correct. And that the class as a whole is, say, 60% likely to vote for the correct answer. Then after each question you can update your values for the class as a whole, and also each individual student.

    Eventually you could get to a point where your software has identified the two or three best students in the class, and could conceivably vote against the class majority if they agree on the answer.

    1. Just a minor correction to this (and every other response talking of ‘taking the average’). I think what you actually meant is to take the mode – the value that shows up the most. The average would be a fairly meaningless statistic here – you might have 75 responses of 1(also A) and 25 responses of 4(also D). The mean would be 1.75 (round to 2). The mode would be 1.

  5. Reminds me of my classes that used this. They were IR however and the receivers were easily overwhelmed by everyone voting so you had to keep trying or you’d be counted absent.

    I’d have liked to make a jammer. Then the profs would have to actually count people and know who they were.

  6. reminds me , these little Nordic chips are often found in RC 4ch tx units and if the tx is a Nordic then chance’s are the rx wil be aswell , ive used the them before in a mesh network with a range of around 700meters with out to much trouble

  7. As a teacher I can tell you the process of using clickers has been HORRENDOUS and a disaster for my grading system because the data is (half way through semester) so far irretrievable and TP has NOT trained me well and if someone would hack in and make it impossible for me to use the damned things I would be very happy to trash them today.
    Plus I know y’all send your friends to class with your clickers.

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.