In our second senior design course, my team (a total of four mechanical engineering undergraduates, all in the last semester of our degrees) had the goal of making a device to to assist with pediatric visual rehabilitation. Over the course of a semester, we designed and constructed the prototype shown to the right.
We worked with the NAPA Center located in Austin, Texas, which is a pediatric rehabilitation clinic that offers speech, physical and occupational therapy services (learn more about them here). One of the occupational therapists at NAPA Center, who was our main point of contact, explained that she wanted something that could be used with children who have cortical visual impairment (CVI). This is a condition where the eyes are able to see the world around them, but the brain cannot process it to make sense of what the child is seeing.
As such, appropriate visual stimulation can intentionally provide the brain a chance to form appropriate connections that can allow a child to maximize their optical performance, and for at least some degree of visual recovery to occur. Characteristics of helpful visual stimulation include high contrast, bright lights, a simplified visual environment and associated touch or sound.
The therapists at NAPA Center Austin already have a NeoFect Smart PegBoard that they have been using, but it has several drawbacks -- it's fiarly expensive, not easily repairable, and not suitable for children with limited motor abilities. Additionally, the children have to lean over the use the board, but the therapists also want to help children develop the ability to hold themselves upright. Other solutions such as iPad apps or even light-up wall panels don't quite provide the tactile feedback that NAPA Center was looking for, and they are relatively small, meaning that children can't work on their stretching and reaching abilities while using them.
With this in mind, we narrowed down the goal of our project: create an easy-to-use, upright, interactive panel that produces visual stimuli and responds to manual push input. Dr. James Sulzer, assistant professor at UT Austin, was our faculty mentor and provided a $500 budget for our expenses.
Much of the semester was spent on coming up with the design and iterating through various versions. As we were making this device ourselves, we needed to make sure it could be finished by the end of the semester and that construction (and therefore repair) was not too challenging.
After brainstorming and constructing low-resolution prototypes to determine an appropriate size for the board, we developed a leading concept: an array of push buttons on a black background that are able to light up, with programmable games, controlled by an Arduino.
Because we wanted to engage a wide span of a child's visual and physical range, we aimed to create a board that could span a child's peripheral vision, which we calculated to be about 4 ft long when they were 1 ft away from a wall. Low-resolution prototypes of the board in two sizes were made from cardboard and paper and brought to the NAPA Center, from which we determined that a 5x8 array of 4 inch-wide buttons would likely be suitable for our needs. (Ultimately, we used a 4x7 array of buttons with more spacing due to construction limitations.)
Because the children at NAPA Center have such limited motor abilities, the buttons needed to be quite easy to press. Additionally, due to their use by CVI patients, the buttons needed to be visually appealing. We weren't able to find such buttons that would meet these requirements and allow us to stay within budget, so we set out to make our own buttons.
Ultimately, our design involved the following:
In the final device, each button was a self-contained unit that can be swapped out in case of failure. All parts of each button fit into a thin laser-cut wooden plate.
The switch mechanism on each button consisted of three keyboard switches (which have a low activation force) wired in parallel to act as one button when any of them are pressed.
On top of these switches was an acrylic plate, and through the sides of the plate, LED strip lights shone through to create a pleasing lighted effect when the button is pressed.
Each button assembly was self-contained in a black 3D printed shell that neatly hid away the internals of the button and provided additional contrast. The LED strips were taped to the inside of the shell.
28 such buttons, arranged in a 4x7 grid, were constructed and then mounted to a thin wooden board. A cover that fit over the tops of the shells and hid all of the internal wiring was also made from laser-cut wood and covered with fake leather, for aesthetics and ease of cleaning after use.
A wooden control box at the top of the board housed the various therapist inputs, the microcontroller and other electronics.
As the board needed to remain upright, we also developed an adjustable wall-mounting system that can allow a single person to change the height of the board. Two short lengths of rope were added to the back of the board to form straps that the board can hang from.
On the wall side, we had a set of rails that were drilled into the wall, with two short shelf brackets that can slot anywhere into the rails, and 3D printed adapters that form hooks and are fitted onto the shelf brackets where the ropes can hang from. The adapters hold the ropes in place and prevent sliding, give the rope a uniform surface to rest on to prevent wear, and cover the sharp edge of the bracket to mitigate child risk.
Beyond the physical implementation of the device, there was a lot to do on the software and electronics side to make the board interactive. We used potentiometers to create dial inputs that could be used to select the game, color of the buttons, speed (for games with a time component), and to adjust the volume -- a small speaker was included to provide auditory cues and feedback. A start/stop button is pressed to begin and end a game.
From our own discussions amongst ourselves and with NAPA Center, we recognized that the games needed to be easy to understand, include multiple colors, involve visual stimulation, sounds for audio stimulation, and be easy to implement. We included six games/modes in our final product:
Paint -- set the color knob to choose the color that a button will light up, then press any button to make it change that to that color. Press the button again to turn it off. Colors can be changed at any time.
Multicolor tap on/off -- all buttons light up randomly in red, yellow or blue, and the user presses any of them to turn them off. This is useful for kids with CVI -- a therapist can ask them to "press all the red buttons", "press all the yellow buttons", etc. to work on color recognition.
Whac-a-mole -- one button at a time randomly lights up and the user must press it within the set time. The percentage of hits made within time is reported at the end of the game.
Match pairs -- pairs of buttons in the same color(s) light up and the user has to press both buttons of a color within the set time. The number of pairs matched in time is reported at the end of the game.
Piano -- two octaves of tones; each color on the board corresponds to a different key that is played when its button is pressed.
Screensaver -- one button at a time randomly lights up and fades away in order of the colors of the rainbow. Not so much a game so much as a mode that can hold a user's attention.
The code for the board was written in Arduino. The buttons were connected matrix-style to minimize the number of wires going to the Arduino while still being able to receive input from the entire array. The entire system (lights and Arduino) was powered by a 5V/10A AC-DC wall supply.
The diagram on the left summarizes the board's operation, with user actions in green and board processing in blue. When the Arduino is first turned on (when the power is plugged in), the lights are initialized and a start-up sound plays. The user sets their desired inputs (game mode, color, speed) by turning the potentiometers and pressing the start/stop button to indicate that they are starting. The voltage read by the analog pins connected to each potentiometer is mapped to integers that are sent to a switch-case statement, which calls the function(s) for the appropriate game.
Each game is played until an exit condition is reached (only in the case of match pairs, when all pairs are made) or the start/stop button is pressed, at which point a “game over” sound plays and the board is back to waiting for the next game to be played. The volume control is entirely independent of the software and can be adjusted at any time during use.
We went through a lot of design and redesign to come up with the final device -- many of our original ideas with regards to the button assemblies had to be modified. In addition to the low-resolution prototype mentioned above, we also made two mid-resolution prototypes to refine our ideas before constructing the final version. The second of these prototypes (a 2x3 board of buttons, with all the functionality as the 4x7 board except for the audio control and wall mounting) was also given to NAPA Center. Ultimately, the cost of the parts we used in the final deliverables throughout the project came out to be just within our $500 budget.
We successfully installed the board at NAPA Center Austin at the end of the semester, where our contact was very enthusiastic and reported it has been working well without any major issues. We also provided the clinic with an instructions manual, as well as a few spare button assemblies and instructions on how to repair the board should anything go wrong -- since we've all graduated and will likely not be around in case of failure. Our senior design professor and faculty mentor were both very impressed, and our team is thrilled to have delivered something that will impact the lives of hundreds of patients in the future.