Classroom Gadget Turned Arduino Compatible

Cheap second-hand hardware is usually a fertile ground for hacking, and by looks of this project, the digital classroom aids that were all the rage a few years back are no exception. [is0-mick] writes in to tell us how he managed to hack one of these devices, a SMART Reponse XE, into an Arduboy compatible game system. As it turns out, this particular gadget is powered by an ATmega128RFA, which is essentially an Arduino-compatible AVR microcontroller with a 2.4GHz RF transceiver tacked on. This makes it an extremely interesting platform for hacking, especially since they are going for as little as $3 USD on eBay.

There’s no USB-Serial converter built into the SMART Response XE, so you’ll need to provide your own external programmer to flash the device. But luckily there’s a labeled ISP connector right on the board which makes it pretty straightforward to get everything wired up.

Of course, getting the hardware working was slightly more complicated than just flashing an Arduino Sketch onto the thing. [is0-mick] has provided his bootloader and modified libraries to get the device’s QWERTY keyboard and ST7586S controlled 384×160 LCD working.

Playing games is fun, but when his friend [en4rab] sent him the SMART Response XE to fiddle with, the goal was actually to turn them into cheap 2.4 GHz analyzers similar to what was done with the IM-ME. It seems they’re well on their way, and [is0-mick] invites anyone who might be interested in filling in some of the blanks on the RF side to get involved.

25 thoughts on “Classroom Gadget Turned Arduino Compatible

    1. “these are about to get very expensive” is an interesting test of how large Hackaday’s readership is!

      I know that Al Williams’ series on the Lattice Ice demo USB thingies caused Digikey and Mouser to stock-out, but they didn’t have more than a few hundred between them.

      How many of these classroom clicker are there in the used market?

    1. probably like any other dev board these days, someone wrote a board definition and now you can upload code from the Arduino IDE. Probably was easier to import than the ESP chips, since AVRs are supported from day one of Arduino.

    1. Great photos!
      The rs232 and what looks like the footprint for a max232 make me even happier that I ordered one of these.
      It even looks like there is an exposed spi port too.

    1. Not to make this a sales thread (I wont respond to any requests on here), but I plan on selling most of the 40 I just bought for a reasonable price once I go through and clean them up.

  1. I’ve been hacking on these devices lately too. The receiver unit is an ATmega128RFA1 + ATmega16U2 in a small box with a few LEDs and a USB cable for the PC. I was able to reflash it with the Arduino boot loader and set the default serial port to 1 (since serial 0 is not soldered to the QFP). I’ve shared a code library on Github with functions to control the LCD and keyboard of the portable units:

    The wireless works well between units and the base station. Atmel made it pretty easy to send and receive raw packets.

    Here’s a photo of the head unit running my bit-banged I2C code:

  2. Some people have noticed that, when using the default SparkFun provided “RadioFunctions.h” file, the RF range of the SmartResponse XE is very, very limited. It only reaches about 5 meters in clear line of sight.

    I found the problem and a fix for it: There are two antennas on the board, including a switching circuit. To make use of both antennas, you need to enable the feature called “Antenna Diversity”.

    To do this, find the function “rfBegin()” and insert the following line (after TRX_CTRL_1 is set):
    ANT_DIV = (1<<ANT_DIV_EN) | (1<<ANT_EXT_SW_EN) | (1);

    Note: When going into sleep mode, you should disable it by setting ANT_DIV to 0 to save power.
    Hope it helps!

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.