Clever electronics provide a special needs boy with a sensory device to help him learn and grow. We were impressed.
Miles has a godson named Eiden who has a developmental delay, so he put his software development skills to fantastic use by building a sensory game. We were blown away by the creativity of the project, and for such a worthwhile cause; so we caught up with Miles to learn all about it.
Creating a sensory device for your godson sounds like an awesome project. Were you asked by his parents to assist, or did it come about some other way?
Sensory toys are very expensive and bulky, and many involve lights and sound but very few actually provide a game or require problem solving skills. Sasha - Eiden’s mum - told me about visiting a sensory play area where Eiden had shown a lot of interest in a particular game. It was very large (roughly 5ft high x 3ft wide) and had a little bit of functionality. So I suggested I could probably make something of a more appropriate size, and add in lots of functionality, such as progressive levels, sound effects, and reward animations. Eiden has very specific visual and auditory issues; he is sensitive to certain sounds that lead to changes in his behaviour, so one requirement was to use sounds that excite and motivate him. Another was to ensure any buttons used did not have too much resistance or require too much effort to press, to cater to Eiden’s hyperflexible joints.
Do you have any specific skills relating to special needs/developmental delays, and/or did you undertake any research?
Other than being involved in Eiden’s play for six years, and having a good understanding of his individual preferences, I don’t have any specific skills or training related to special needs. I worked with Sasha who helped provide me with some specifications, based on knowledge of his medical condition, research she had done into what’s available on the market, and we identified changes in the game that could help enhance his developmental progress. The aim of this toy was for it to grow with his mental development.
How was the device received by Eiden?
Right from the start, he was very interested in it due to its large colourful buttons. He knows buttons can do exciting things when they’re pressed so it captured his attention, even before it was switched on. It took him a couple of minutes to find a comfortable position in which to play with it, but once he did he loved it. He was giggling at the sounds the buttons made, and the reward animations, which he understood occur when he’s solved the puzzle. Sasha took the lead in helping him initially, to play the game. We watched him evolve from just randomly pushing the buttons, to eventually making specific button presses based on what was happening in the game. This was proof that he was learning to understand the association between action and reward.
Working with Veroboard can be a challenge - did you encounter any?
Yes, there was definitely a challenge during circuit development. I was originally going to use perfboard (with individual solder pads) and just do point-to-point wiring, but after realising how many wires I’d need to solder I decided to go with stripboard, which I’d not used before. The main challenge was working out the layout of parts, and ensuring they could be connected either via the actual copper strips or by wiring on top of the board. I also had to make sure I considered any breaks that were required on the copper strips. I’d done a bit of reading and watched a few YouTube videos about working with stripboard, so that helped; and I’d also used the continuity test on my multimeter to ensure all the breaks I made were true. I used some stripboard PDF templates I found online, and that helped tremendously with my layout, I think I went through about five or six sheets before I got something that didn’t have any errors on it. I did look at a couple of programs to help with layout, but I actually found it easier using the printed templates.
The templates can certainly help with Veroboard use. Did you prototype using an Arduino UNO before moving to a standalone 328p?
Yes, it’s a great prototyping platform and I love using it. I did think about just using the Arduino, but wanted the challenge of making it standalone. In the end it wasn’t much of a challenge, as it’s well documented and easy to follow on the Arduino website.
It sure does make prototyping easier. Can you explain how the game itself functions (i.e. input versus output)?
The game has a 4x5 matrix of LEDs that are individually boxed and covered with opaque plastic to diffuse the light. Each LED can be one of four colours: red, green, blue or yellow. Under the LED matrix are four large backlit buttons, with the same colours. The game has five selectable levels and progresses automatically as each level is completed.
The basic idea is that at the start of the game, some or all of the LEDs will be lit and depending on which colours are displayed, the appropriate large button will also be lit. As the player pushes one of the lit buttons, a distinct sound effect (associated with that button) is played and an LED of that same colour is switched off in the matrix. When there are no more LEDs of a specific colour, then the correspondingly coloured button’s backlight is switched off, and that button no longer has any effect. When all the LEDs in the matrix have been switched off a short animation is displayed, which uses the matrix of LEDs and a longer sound effect. The animation played is randomly selected from four that have been programmed. The matrix is then relit, and the player’s level is increased.
So, for Level 1 there are five random LEDs in the matrix and they are lit in a single colour (randomly chosen from red, green, blue or yellow), and the large button of the same colour is also backlit.
For Level 2, 10 LEDs are lit in two randomly chosen colours (five LEDs in each colour), and the associated buttons are backlit.
For Levels 3 and 4, the number of LEDs is increased to 15 and 20 respectively, and the number of colours used also increases to 3 and 4.
Level 5 is slightly different as all 20 LEDs are lit in randomly selected numbers and colours (e.g. there could be 3 red LEDs, 6 blue LEDs, 10 green LEDs and 1 yellow LEDs; or there could be 14 yellow LEDs and 6 red LEDs).
"Eiden has very specific visual and auditory issues; he is sensitive to certain sounds that lead to changes in his behaviour..."
That’s awesome. We’ve uploaded the video you provided to the online article too, so everyone can see exactly how this works. Has this inspired any other projects that provide a similar benefits or outcomes for someone with developmental challenges?
I’ve actually, literally, just finished this project, so I don’t think it has had chance to inspire anyone to build anything else yet. But there has been a lot of interest on special needs forums and Facebook, with over 400 likes already! I’ve also had many requests for the toy by other parents of special needs children, and the special needs school that Eiden attends also expressed an interest in using it.
We’re sure every parent with a child who has special needs would be keen on something that may assist with their development and provide some fun along the way! Were there any unexpected challenges developing this project?
The first one I came across was how to wire up the five-way slide switch. As I’d not used one before, I initially thought that opposing pairs of pins would be connected as the switch was moved; but it was slightly more complicated than that, and so ended up taking a while to determine the correct way to the wire them. I knew designing an accessible case (i.e. accessible to me so that I could access the circuitboard and wiring) would be a challenge, and although I’ve made the circuitboard accessible, it’s still quite tedious. As much thought needs to be put into the case design, as the original circuit layout and programming. Luckily, I have a 3D printer so that was put to good use making various fixings. I also used it to make the boxes surrounding each of the LEDs. I work as a software engineer, but I did find the programming of the game quite challenging - though it was a challenge that I enjoyed!
There’s nothing quite like a challenge with a positive outcome! If you started it again from scratch, is there anything you would change for the new version?
There are quite a few things I would change; mostly around the design of the case. I’d also change the circuit slightly, as I’m not currently limiting the current on the input pins of the processor. I could also reduce the number of connections to ground for the level switch. And I’d change the way I’ve connected the power switch up to the circuit board - just to simplify things. I’d also change the way I’ve wired up the big button switches as the current method is complicated and makes swapping any of them out, almost impossible.
It sounds like it’s been a huge success the way it is though. What other amazing creations might you be working on next?
Eiden’s school use object and picture exchange communication, so to make something that could help reinforce this or even replace it, is something I’m currently thinking about.
That’s fantastic, Miles. This project is such an exceptional use of your skills. Thanks for taking us through your project.