Close
0%
0%

Wake Up and Scream

A wearable sculpture constructed from old student clickers.

Similar projects worth following
370 views
0 followers
Process for modifying 100 student clickers to type on their own, to tell stories, and to scream.

Wake Up and Scream 
2023
Student Clickers, Wire, Electronics, Fabric

48 hardware-modified student clickers are controlled in groups of 6 by Arduino Nanos. The clickers have been modified to work autonomously without a human operator. They can power on, type, clear the screens, and power off.  

Designed as a wearable sculpture two batteries, in pockets, provide power to all the components. 

Currently, the piece just types gibberish, akin to my mind in the mornings before coffee.  In the future, I would like it be able to tell stories across all the screens.  A real time choose your own adventure maybe.  

Some background:  

Toward the end of my residency at the Fulton County Futures Lab l I was programming a lot of automated routines to collect and process data. The data was then used to generate art!  While I was doing all of the coding I got attached to the idea of having the computer program itself to create the art.  Not just running an automated routine but digitally typing into an IDE so that viewers could see.   

I liked the idea of the computer getting flustered that it was being watched and making mistakes that it would then have to correct. Similarly when I try and code/type in front of others.  I explored how to type authentically like a human would, not just type at a constant rate. A performance that would be undertaken entirely by the computer. It is not a true artificial intelligence but more of a mechanical automata.   

 I ultimately scrapped this idea at the time due to fatigue and illness but kept it close while I was recovering from COVID-19.  When I stumbled across this lot of old student clickers the idea came back and I decided to pursue it. I like the idea that these devices are performers. They are actors who know a set of rules. Rules you don’t know but could intuit if you sat and watched them long enough.

  • Current Version

    Eddie12/19/2023 at 22:40 0 comments

    Here is the current version in all it's what am I looking at glory.  Currently, the screens just type nonsense but I hope to one day have time to work on a story that branches out as time progresses.  Maybe even integrate ChatGPT or some other GenAI to help with the content creation.  Arduino does have an ESP32 Nano that would be easy to swap in for the current Nanos. 

  • Attaching to Fabric

    Eddie12/19/2023 at 22:37 0 comments

    I decided to just use velcro to attach all the components to fabric panels that I then pinned to a dress form I made.  I opted for this because hand sewing is not a strong skill I possess. 

    As is usual my math was off and we ended up only being able to use 48 of the 100 student clickers we modified.  At least they're all done now so it would be easy to use the others for new projects.  

    This was the final panel.  You might notice two black modules that are also on the panel.  I realized that I could add a jumper to 0 and 1 on the Arduino so that I could use them as output pins to control two piezo speakers to add a clicking effect when the clickers type. 

  • PCB v1.1 and Production

    Eddie12/19/2023 at 22:10 0 comments

    The next version of the PCB added the power and clear buttons so now everything could be controlled from the board.  I'm not sure why I didn't include this from the beginning and it's been several months so I suppose we will never know.  This version also included LEDs to show the 8-bit number. Useful for debugging and also just because. 

    I forgot the mounting hole so there was a final final v1.1.1 board seen below

    With the new boards on the way it was time to start modifying the student clickers. For this, I opted to use 30awg wire since there wasn't a lot of room to solder.  This particular wire also had the benefit of being colored so it was possible to keep track of what went where. 

    There are 21 solder points to each student clicker and then 19 solder points to each clicker controller.  Which means we needed to solder 3,150 wires.  Luckily before we started this process I took some measurements and realized the most modules we could fit on the sculpture would be around 100 so only 4,000 times we needed to solder. I fortunately had an assistant and between the two of us, we managed to get this done in only about a month.  

    All wired up

    A portion of student clickers

    Prepping wires

    Half completed modules

    Good thing I enjoy tedious repetitive tasks!

  • The Wait of Sleep

    Eddie12/19/2023 at 21:44 0 comments

    Now that I had my first version of a screen controller I thought it was time to start working on the programming and assessing how I was going to attach everything to fabric.  I decided to do a small study with the story content being derived from developing insomnia in my first year of college.  The story was broken up across several screens since that's what I initially wanted to do.  The code for this can be found on my GitHub.

    I ran into a few issues with this test.  Mainly I needed to control all of the buttons with the multiplexer/demultiplexer circuitry and not just the text.  This facilitated a version 1.1 board to be created.  

  • PCB v1

    Eddie12/19/2023 at 21:28 0 comments

    The next step was going to be designing and getting some PCBs made.  I settled on JLCPCB at the suggestion of my friend Freakylampss.  This was my first time designing anything this complex but thanks to my friend's help and the JLCPCB plugin for KiCad it wasn't too tough of a time.

    I was happy that everything worked out with the v1 boards.


  • Improving on TeeEye

    Eddie12/19/2023 at 21:05 0 comments

    With TeeEye I used an optocoupler for each character that I wanted to type.  This came out to around 30 optocouplers/IO pins that were needed.  Scaling that up to 150 devices would be over 4000 optocouplers.  While this would be visually interesting (and something I would love to do) I decided to search for a more efficient/scalable solution.

    Here is an article on how keypads work since that's outside the scope of this document but essentially when you press a button you're connecting a point at a column and a row which in my case is interpreted but the device's internal brain and displayed as a character on the screen.

    My friend Freakylampss told me I should try using a multiplexer so that's the direction I decided to pursue! 

    With this information, I was able to come up with a solution that could use a shift register along with a multiplexer/demultiplexer to control every button on the device! Effectively taking the previously needed 30 IO pins down to just 3.  This would allow me to control six screens from a single Arduino!

    Below is the schematic for the circuit that I ended up using.

    Here is a list of links/tutorials that helped me figure out what I was doing after my friend sent me in this direction as well as information on how multiplexers and shift registers work.  

    Multiplexer - How To Guide (The guide is for a different chip but the principals are transferable) 

    Shift Register - Tutorial from Arduino website.  

    So how does the circuit work?

    The Multiplexer/Demultiplexers each take a 4-bit number that is used to select an input pin on the multiplexer and an output pin on the demultiplexer.  I took these two separate 4-bit numbers and created a single 8-bit number.  I can then use the shift register to send out this single 8-bit number with bits 5-8 controlling the multiplexer and bits 1 - 4 controlling the demultiplexer.  

    I then just needed a way to know what 8-bit number I needed to route the signal so that a button press could be emulated.

    I made the following table to help get all of that information sorted.  

    IC col/row pin is the pin assignment on the multiplexer and demultiplexer

    Col Val is the value that should be typed on the screen when the column/row connection is made

    bin is the binary number we send out to create a path between the multiplexer/demultiplexer

    byte is the decimal representation of the binary number which I used later as a method of storing long strings of text without needing all the space that strings typically take up.

    This process took some time to figure out and I felt pretty lost along the way but through trial and error, I got it all to work!

    You can see the shift register sending out the 8-bit value and the multiplexer/demultiplexer on the right counting values.  The lowest breadboard ended up getting scrapped in the final design which is why it's not present in the above schematic. 

    I think we can all agree that moments like this are why we're here. 

  • Communication

    Eddie12/19/2023 at 19:15 0 comments

    To get the clickers to enter typing mode they need to be sent a signal from a teacher workstation running the Promethean ActiveInspire software.  Otherwise, they are stuck on a screen that only lets you register the devices to a USB Hub, set the language, or name the device.  You would think getting the software to run would be easy but no, it was not.  

    ActiveExpression 2 lock screen

     It's probably no surprise that the current software on the company website is paywall-locked and even with the demo I wasn't able to get the software to recognize the devices.  Fortunately, I received a copy of the installation software for these particular devices that came with an older version of ActiveInspire otherwise this project would have been put on an indefinite hold.

    After some tinkering around I was able to get the software to run on a Windows 7 virtual machine.  The virtual machine itself is running on a 2012 Mac mini which I find pretty funny. 

    I'm using a built-in feature on the device to flip through 'cards' that have been set up in software but the goal is to type without needing a human player so that will be the next problem to tackle. 

    I should point out that right now I still have to run the teacher station software to unlock the device to type.  Not an ideal solution since I want to use the devices as part of a wearable sculpture.  I'm hoping in 2024 to figure out how to send the unlock command from some other device that I can include as part of the sculpture.  On a positive note once the command is sent you can power down the computer station so in a sense once you get past that start-up routine the sculpture is portable! 

  • The Idea

    Eddie12/19/2023 at 18:32 0 comments

    I had the idea for this project at the start of 2023 while quarantined with COVID-19.  I stumbled upon a lot of old student clickers as part of an online auction and thought it would be cool to try repurposing them.  I had just finished TeeEye and knew that it should be possible to make some interesting text-based visuals or perhaps tell a bifurcating story with them. 

    With this knowledge in mind, I placed my $8 bid and was soon the winner and recipient of around 150 student clickers! Although with shipping it ended up being closer to $80. That was still only about $0.50 per module!  

    The student clickers were ActivExpression 2 from the company Promethean.  They have a backlit LCD screen and a full QWERTY keyboard. 

    Clicker with USB hub

    Once the clickers arrived I took one apart and was relieved to see that it would be possible to directly access the keypad elements by soldering jumper wires onto the pads.


    Front of Clicker PCB

    Everything seemed like it was going to go smoothly until I powered one up and realized that the devices needed to be unlocked for them to enter typing mode.  This started a very long process of trying to unlock the clickers.

View all 8 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates