Classroom Surplus Becomes Linux Powerhouse

The SMART Response XE is a handheld computer that was originally sold for use in the classroom as a terminal for pupils taking tests. It’s now cheap enough on the surplus market to have become a target for experimenters, and we’ve seen them with a variety of cool hacks. We particularly like what [chmod775] has done with it, putting a VT100 terminal emulator on the device and hiding a NanoPi Neo Air single board computer in the battery bay. Powered from a USB battery bank, it gives a fully-featured Linux terminal in the palm of the hand. We see it running an Ubuntu LTS  version, and it’s clear that it’s a functional and usable device.

This raises a more abstract question though: We’d guess comparatively few of us write software through an old-style dumb terminal, instead we’re more likely to get our terminal experience at a much more accomplished command line with all the conveniences of a modern desktop surrounding it. How many of us could comfortably return to the limited confines of a VT100 emulator on an odd-sized LCD display? We’d be interested to hear [chmod755]’s experiences using it, because if it retains usability it’s a device we wouldn’t mind having ourselves.

Hungry for more SMART Response XE hacks? Take a look at the BASIC computer, or the spectrum analyser.

30 thoughts on “Classroom Surplus Becomes Linux Powerhouse

  1. That’s neat!

    Something like this could make a nice handheld remote for a home automation setup… I see [chmod755] replaced the power source; I wonder how long the device would run on it’s original batteries.

    1. Thanks @lthemick!
      At the moment the device last around 3 hours on a single charge with 2 cells of 450mAh in parallel.

      I think with the original 4x AAA it will not last even an hour.

      The little NanoPi running a full fledged Linux distro is very power hungry! :D

    2. The unmodified device uses a ATmega128RFA1 which actually supports Zigbee. Should be possible to make some kind of smart home controller with the original hardware actually.

      1. Yes, technically it does support Zigbee. In practice, good luck finding a complete Zigbee stack that is ready to use, with useful example code, and not cost an arm and a leg. I eventually gave up on trying to get a working Zigbee stack, and instead focused on writing something that could coexist safely with Zigbee traffic on the same channel, yet not misinterpret Zigbee packets as proprietary and vise versa. It is also incredibly easy to take the USB dongle that’s meant to be plugged into the teacher’s PC and turn it into a radio you can use with the linux Zigbee stack, wireshark, etc. There is even enough room inside the dongle for a Pi ZeroW if you remove the weights and the mounting screw nubbins.

        I ended up with a protocol that can stuff 120 different terminal sessions over the air, and any terminal is able to hop on either end of any of those sessions. So you can take two terminals and use them as direct chat, connect any terminal(s) up to a linux getty with the dongle & server side software.

        The biggest problem I had was the quality of the keyboard on these. It’s acceptable for a few minutes, but the tactile response is pretty aweful overall. They could be good remote sensor / display platforms if had for cheap enough, though I’d almost rather see a development friendly board with an optional 128×128 or 240×240 OLED or epaper display, and some number of easily used GPIOs.

        1. @GrizzlyAdams said: “Yes, technically it does support Zigbee. In practice, good luck finding a complete Zigbee stack that is ready to use, with useful example code, and not cost an arm and a leg. I eventually gave up on trying to get a working Zigbee stack…”

          Hmmm… The ATmega128RFA1 supports IEEE 802.15.4 which among others is the PHY/MAC basis for Zigbee. Have you tried ZigDuino [1] which works on the ATmega128RFA1? I’m not sure if ZigDuino is still supported though. The ATmega128RFA1 manufacturer Microchip provides their BitCloud Zigbee stack [2], but there may be a fee to use it. There are more ATmega128RFA1 wireless options. See the SparkFun tutorial [3] for their (now retired) ATmega128RFA1 breakout board for a list.

          * References:

          1. logos-electromechanical/Zigduino-1.0 – GitHub

          2. Zigbee® Solutions – Microchip

          3. ATmega128RFA1 Dev Board Hookup Guide – Sparkfun

      1. I keep wanting to do something like this to one of my Alphasmart Pros, the old beige ones — I really should just see how much effort it would take to pop a Pi Zero in there. I’d probably use a teensy to do the dirty work of terminal emulation (the PS/2 handling and driving the parallel display) so the Pi is just talking to a tty.

        The trouble comes, of course, when I would want to make it more usable than just a Linux box with a 40×4 dumb terminal. Including a USB hub, moving to rechargable batteries, exposing an HDMI jack — and about now I remember why I haven’t done this yet.

  2. Nice :-)

    Any info on the wiring?

    I wonder if a Lichee Nano + esp32 would fit inside the case without needing to remove the batteries? I am guessing this would be just enough allow one to use a free Google CLI cloud shell.

      1. Interesting, thanks.

        Reason for the esp32 is I have some, and also don’t fancy a dongle sticking out of the device.

        On another note, since you obviously know your stuff – have you got TV out/composite working with the Lichee Nano? I only got as far as the basic Linux setup and Lcd, but telly out has possibilities.

        Thanks either way :-)

        1. Sadly no one has cracked the TV out issue. You need their custom RTOS and libraries to do that. However it isn’t that hard to take the lcd signals and turn them into VGA

  3. Nice :-)

    Any detailed info on the wiring?

    I wonder if a LicheePi Nano + Esp32 would fit inside the case without needing to remove the batteries? I am guessing this would be enough to use a free Google cloud console shell via the CLI.

  4. I can see this as a cross between a phone and a laptop when it comes to Linux. You could do a quick md5 of a file, analyze some WiFi stuff, do some MQTT monitoring on the network. Things you can do with a laptop or an app but a smaller more dedicated device. I wonder how they interfaced the LCD…

  5. Coming from a sysadmin perspective, a device like this would be great for quick serial terminal access to a server or a switch. Especially when you don’t have a laptop around or don’t want to haul it all the way up a ladder and balance it on a 2×4 just to reconfigure some dumb network switch that someone stuck in the rafters…

    10/10 would use.

  6. kind of amusing to see that even though it’s not a raspberry, the nanopi is also power hungry enough to be a huge handicap to all of these “just shove a pi in it” conversions. but really, in this case, it’s not really an unforced error.

    the beauty of the smart response is that the hardware specs are so minimal that a small battery makes sense, and you can fully realize the benefits of a device that is light and inexpensive. it’s not designed to locally host a unix environment. but it *is* designed to be essentially a terminal. and you see that in that this hack fundamentally just provides a terminal, with the unix environment ‘tacked on’ but only usable through that terminal.

    instead of turning it into what it isn’t to make it useless, why not just expand its facility at being what it is? give it an 802.11 or cellular radio and use it as a terminal! no need to lug the environment around with you when all you really need is a terminal.

    i love that low-end laptops running linux are now capable of serving as the thin client i dreamed of 20 years ago — running everything remotely and getting 10+hr battery life. but this one is already a thin terminal, just accept that’s all it is and you’ve got a much more valuable device than if you are in denial about it.

    1. Agree. Without the forced requirement to run a Linux OS, and the large hardware requirement for such, an implementation using a dedicated micro that only emulates a VT100 (the purpose of the hack) this thing could run for days, if not weeks.

  7. I would totally use one of these as I do a lot of coding and administration directly on the server. I’ve used a smartphone with an emulator and I picked up a Pinephone for an on the go pocket sized computer for when I travel but really for what I do those options are not ideal. Impossible to see in the sun, the touch keyboard has never been my favorite way of typing, don’t really need a whole GUI Linux distro just to log into a Unix box remotely. The mechanical keyboard and high contrast display of an old school organizer that does one thing well would be something to think about. What’s the chance of an SIM card expansion working in it? Or maybe I missed that feature in the article. Looking at your original post now. Super cool tho thanks for sharing!

  8. Just to have this running a basic linux terminal so I can SSH into other machines in my rack, that would make this so useful, even to just include a larger battery and charging circuit.

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.