It was my recently my son's birthday and although fidget spinner madness is starting to wane now I thought it was worth trying to cram some electronics into one. I found an Instructable that I took as inspiration and put my own spin (!!) on it. I wanted it to be see through as my son likes to see the workings of things (he would have just taken it apart otherwise!), which caused some issues when trying to grind things out as it tended to melt. Anyway I managed to get some really cool tiny switches from Rapid (2.5mm thick!) and ended up with this.
At Three Ways School we recently purchased an Optoma ML750ST projector for dedicated floor projection. This is an awesome little projector, it is tiny, has a short throw lens and an LED light source. I'm using it with an overhead IR camera to do some interactive floor projection which I programmed in Max MSP. Check the video:
I have been putting together an RFID reader that can send tag IDs over Wifi to a machine running Max MSP on the same network. I have used an RC522 reader which I have blogged about before, and the recent Adafruit Feather Huzzah board which is based on the ESP8266 chip and includes an onboard Lipo charger so is great for portable IoT projects. For once I managed to find an enclosure of pretty much exactly the right dimensions, it was tight but I crammed it in including switch and indicator LED. The hardware will be used for a project at Three Ways School that aims to give non/pre verbal children a voice, more details to follow...
I will be running some workshops on the Creative Computing course at Bath Spa in January with kit supplied by Farnell Element14. I want the students to create a network of nodes that communicate with each other and have some element of generative algorithm to them. I have built a proof of concept as seen in the video, a single node generates an audio and LED output and sends the message to another node, that node displays the incoming message and then generates one of its own to signal another unit. Right now everything is generated pretty randomly and the nodes choose another one to send their message to at random. Things will get more interesting when we link colour and audio frequency and think of more interesting ways to generate our message. Perhaps some nodes will favour talking to others or malcontents will start interrupting the current conversation? I am interested to see what behaviour might emerge when there are 10 of these things going and each has its own 'personality'...
Just a quick post of a nice little autumn themed card in paper electronics...
This revisits the RC522 RFID reader that we blogged about here. I wanted to be able to use it with a Wifi connection to ping RFID tag IDs over the ether so I started hooking it up to a Huzzah ESP8266 board I had and after a bit of fiddling it worked! Its only sending over serial right now, but if I can get it going over Wifi, this is an incredibly cheap RFID tag beamer. The new sketch with a description of the pin connections can be found here.
I've been wanting to make a cloud lamp for ages at Three Ways and there are a tonne of tutorials online if you want to follow one of them. I wanted to have a remote control for mine but didn't really want to bother with decoding IR or RF signals whilst trying to do lighting animations. I have used those key fob remote controlled relay modules before, but its massive overkill to control an Arduino pin. I spent a long time looking for a remote module that could control 5V pin logic and sure enough found one that is made by Adafruit, but unfortunately it is on 315MHz which is illegal to use in the UK. Seeing as it is the military channel I didn't want to mess with that really and couldn't find any UK options until I found this amazingly retro thing!
I found it on the 'Flux Workshop' eBay shop for £5.29 which is great for the time and extra hardware it saved me. I have not tested it extensively yet, but it seems to do what I want it to, is on 433MHz which is UK friendly and is the only option besides rolling my own apparently.
Anyway, we now have a way of selecting between 4 presets remotely so I can hang the cloud out of reach, which is good because it would be shredded in seconds!
I'm not sure what I am gong to do about dusting yet...
It is my sons 7th birthday today and it has become a tradition to do a paper craft electronics card for him. These have tended to get a bit more complicated every year so there is a warning there to start simple! This one uses an ATtiny 84 chip programmed via an Arduino to run a seven segment display from a 3V button cell. I used very thin kynar wire and copper tape for the connections to make it count up to and flash his age. Definitely one to do before they reach double figures!!
It would be great to print the circuit outline onto the card to scale and do some nice design on the computer, my drawing (and writing!) skills are somewhat lacking!
We have been developing some handheld little electronics items using ATTiny chips and useful little sensor chips etc. They are designed to run on battery, fit in the hand and stimulate fine motor and cognitive development skills in children within SEN environments. Here's a taster
I got one of these 'Softpot' membrane potentiometers recently as a way of telling where a finger is pressing on a strip. I rigged it up like a normal pot and it worked but was pretty noisy, I put a capacitor over a couple of the pins and it seemed to help a lot. Then I read that if you press at the top and bottom you can create a short circuit and it gets hot, so I had to try it... It did indeed get exceptionally hot very quickly and as I don't particularly want people to burn themselves or fry the strip (it's not cheap!) I tried adding some resistors. The more resistance you add the more resolution you lose so I settled on the circuit below which seemed to do what I want it to. Besides that, you can read it in Arduino like a normal pot (check the AnalogInput example), though there is a bit of 'floating' when you have taken your finger off that you have to deal with.
I came across this exceptionally cheap RFID reader/writer kit which includes a card, a tag and two types of headers all for £3.49 and had to buy one! I have previously used the Innovations ID-12 and 20 which cost around £20 before you add the supporting circuitry or tags, so I wasn't expecting much. The RC522 is NFC working at high frequency (13.56MHz opposed to the ID-12s low frequency 125KHz), with a read range of 10cm (slightly less than ID-12), and the most basic tags costing around 70p (similar to LF tags).
There is an existing Arduino library for the reader which can be installed with the library manager (search for MFRC522) or manually (see the Arduino website for details on installing libraries). There are a load of great examples included for reading writing and controlling things from Arduino, but I simply wanted to get the RFID tag ID into Max MSP to use it to trigger stuff. I got together a sketch which just booted the ID out of serial which I could then read into Max. The Arduino sketch describes the circuit to use and the Max patch is heavily commented, both resources can be found here.
We received some of these cute little ARM based boards aimed at helping teach STEM to Year 7 children. They are really easy to use with a variety of coding environments and are great fun, but can do some pretty serious stuff too. The ring pin outputs are good for croc clips, banana plugs and conductive thread and you can access the other pins with an external edge connector.
It has an accelerometer, a compass and BLE and the coding environment has a great simulator for testing your programmes before you upload.
I will report back when I have done some more playing...
We have been having a bit of a hiatus from developing hardware for the orchestra project at Threeways School for multiple reasons. On re-engaging with the project we started examining the issues we often have with developing accessible instruments. One of the main things we focussed on was the fact that we always have to create new software when we want to try out some hardware, whether it be an existing device or something bespoke. Wouldn't it be great if we had some kind of modular system that we could plug any bit of hardware into and map its controls to various sound generators/effectors, parameters etc... To some extent with a Max patch to read the incoming control data and a Live template to do something with the data, you can do this. However, if we want to make stuff that can be accessed by anyone, or even stuff that is built in to an embedded system then we may want to avoid using Live and create something that can work as a Max read only patch.
So... with all this in mind we have started developing MAMI, Modular Accessible Musical Instrument. This is kind of a mammoth undertaking in catering for any kind of input, various outputs and making it extremely flexible and routable so we will ultimately focus on our own immediate usage requirements, but with a view to making something that can be built upon long term. At the point of writing I have built a system with which you can dynamically create devices and assign input receivers within those devices, I have focussed on Human Interface (joysticks, keyboards, games controllers etc) devices so far and am moving on to Serial input. I am viewing every controller as having combinations of analogue (sliders, knobs, joysticks, pressure sensors etc) and digital (buttons, keys etc).
Needless to say, it will be a while before a first release !
We met on Monday to take a look at the few modifications to the Filter Box and to see if they improved how the instrument felt and worked in the hand, we also looked at the Pressure Box.
A couple of the things we changed were:
- Moving the force sensitive resistor (FSR) to the left which meant that it sits under the hand better and enables a natural pressure to always be present
- Moving the light dependent resistor (LDR) to the back middle where the box hinges, at the bottom of a drilled out hole, so that the box has to be opened fully to trigger the sensor and it is not as sensitive to ambient light changes
We had a play about and made the following points:
- FSR for now in much better position as is accessed automatically by hand when squeezing and can be used by finger too.
- LDR in better position drilled down the back to give more uniform reading in changeable light scenarios- might also work to use a led strip so the whole thing is self contained- a nice feature is that moving towards the light can be used as a tool to give expression
- might be nice to extent the functionality with an accelerometer so that physically shaking the box could be connected to audio parameters, there would be a lot of data to play with!
- buttons still a bit dodgy- one is more flush to the box than the other so the desire is to overcompensate and push in the other one really hard. Will try the new bigger arcade style buttons, they are more rigid but have an easier action and less resistance when the spring is removed
We also took a look at the Pressure Box and ran it into Max to take a look at its responses:
- Needed more foam and perhaps a layer of more solid foam
- The piezos are fine with short sharp hits but do not respond to long pressure pushes which is not ideal. They do give a response from pressure after idling at 0 for a short time, but not until releasing them. Kind of the opposite to what we wanted to happen. This might mean that the piezo is not quite right depending on the type of instrument we want to design sonically for. A more percussive application could work well as the response to this action seems to fit with the action itself, however if we want to be able to press down slowly over time then another solution must be found!
We shall keep exploring and testing!
We met on Monday to take a look at the modifications to the Filter Box and give them a little test with the Max patch that Luke has been developing, and then I went away to make the modifications.
Filter box testing:
A couple of modification were discussed to make the box more ergonomic and natural to use and hold and that will allow for easier interaction with the inputs the box offers.
- Move the hinge to the other side of the box to enable holding and opening like a book
- Change the button style as they are not working quite right in fitting nicely to the finger or giving adequate feedback, maybe to tiny arcade style buttons that accommodate fingers with a dip, or custom made buttons attached to a micro switch
- The pressure sensor is in an awkward position on the front making it difficult to use it with the buttons so move to back where the thumb pad of the hand naturally presses against it
We met again the following Monday to discuss the above modifications.
We found it was still difficult to access the force sensor and the buttons at the same time. Also to trigger the sound the button and force sensor have to be used at the same time so what might be better is to leave the sound level high until you press the force sensor which will then lower the volume, this would mean there would be less chance of a player pressing the buttons and thinking they were not playing it correctly or it was not working.
There is also an element here that could play into having to control and mould a sound with the instruments, Luke has mentioned in the past creating an instrument that you would have to fight against in order to play. This could be a good opportunity to explore a concept like that, to have the instrument playing and you use the inputs to bring the sound in order.
We also discussed the possibility of the light dependent resistor being a little bit volatile in performance situations as there are potentially flashing lights or light changes that could trigger the instrument and disrupt the players sense of cause and effect. Also any photographs taken with flash could trigger the sensor. This will require testing to see how much of an issue this would be. One suggestion is to move the sensor down a well next to the back hinge of the box so the box will be less responsive until it is more fully open......a little more fiddling required :)
On Monday we met to discuss the latest prototypes of the Filter Box and the Pressure Box.
We had selected the small oval box as the one most suitable for the Filter Box and I set to work adding 2 valve style buttons and 1 force sensitive resistor to go alongside the light dependent resistor already installed in the prototype.
Parts added to existing prototype:
A note on the resistors for the buttons; no resistors are needed on the buttons if you enable the inbuilt resistors in the Arduino, you can do this in the code uploaded to the board. We did not use resistors on the buttons and so the code below will mean that the buttons are considered to be high or on until pressed which will then turn the input to low or off. So these buttons send a 1 when not being pressed and a 0 when pressed.
Creating the Filter Box
The box required 2 more holes drilling to match the size of the valve fitting, these then had to be glued into place to secure. A small slit had to be drilled and filed to allow for the FSR to pass through.
Electrical tape and paper was used to ensure that none of the vital circuitry was touching each other as the box is quite a small space for all the components needed. The Filter Box was then ready for some testing!
The Pressure Box
We decided that the bigger rounder box would suit the Pressure Box and so we went about designing the gubbins that would make it work. At the moment whilst awaiting deliveries for lithium rechargeable batteries we have stuck with the good old 9v square battery which differs from what is seen in the circuit diagram. The Pressure box uses the same Arduino and radio combo as the Filter Box but we are will be using 8 piezos as analogue inputs instead, 1 large for the centre and 7 smaller for the outer ring. Piezos are very cheap and very sensitive so should give us good feedback as to where on the top of the box is being pressed.
Here is a more simplified view of how each piezo is wired in:
A note about the circuit: The software used to draw up the circuit didn't have the exact same Arduino board as we are using so the green section to the left of the Arduino board is simulating the analogue inputs that are in different positions on the Arduino. The picture below shows more clearly the holes for the analogue inputs (A0-A7) A4 and A5 are the holes above A2 and A3.
Each of the piezos had to be prepped as they require a 1 MOhm resistor running between their 2 wires as seen in the circuit diagram. The resistor was installed at near the disc of the piezo and some heat shrink was used to seal everything in.
The piezos were then arranged around the bottom of the box with electrical tape to stop them touching. Two layers of thick but airy foam wadding were used to provide the bouncy resistance needed. The components were stashed between the two layers. Once the correct battery has arrived these components should sit nicely over the middle piezo.
Attention then turned to the lid. We decided it would be best to cut out a hole in the lid thus having a ring of wood on which to attach the skin (tambourine style) and then pin it on the edges with thumb tacks. This would also allow us to put clasps on the side of the lid to attach to the box so as to provide access to the components if needed without removing the skin.
We took to the CNC router to nicely remove the inner lid before adding the skin made from a thick piece of lycra like material folded double.
Testing will be done with these prototypes to see what the next steps are........
Following on from this post.
On Monday we met to discuss the first prototypes of the two instruments we wanted to explore as detailed in the previous post.
The Filter Box
We took a look at the first Filter Box prototype as seen in the pictures below which was set-up in a temporary box for testing of the sensors. I bought several small wooden boxes to try for size, shape, and general ergonomic-ness when holding, and to enable discussions as to what might be good features and functionality to have in the box.
Our idea was to create a wireless filter box. I wanted to use some of the nrf240l1 radio modules I have acquired as they provide a very cheap mechanism for wireless communication, and there are lots resources available to make them work with Arduino. A detailed tutorial on using Arduino + Nrf24l01 running into Max/MSP software can be found on my website here.
Discussing the box!
The wooden boxes I had purchased and selected a small oval shaped one as the best shape and size to fit in the hand.
Buttons- having some (x2) to enable more functionality- options included click buttons that would provide tactile feedback when depressed or valve style that would more naturally mimic an interaction with an instrument such as a trumpet, like a valve, these would give feedback not as obviously as a click but more suited the instrument paradigm.
Adding a force sensitive resistor (FSR) that could then be pressed harder or softer to achieve some of the effects you would with other instruments such as when fretting a guitar, and allow expression through fingertip movement and pressure of the hand on the box. The mapping of the FSR could then be naturally connected to something like the amplitude of the sound so when pressed harder the sound would be louder, again going with what a player might naturally expect from an interaction of that style.
Light dependent resistor (LDR) this worked well as a mechanism to control some sort of filter, or for example the mute of a trumpet, the cutoff frequency of the sound or the volume. This is taking the movement of the opening and connecting it to any kind of parameter that might need fine movement and can be used to get effects like vibrato and tremolo. A parallel can also be drawn between something like scratching (dj style) by opening and closing the lid, and when connected to a filter controlling some element of feedback, using noise as the sound generator. We had a little play with using the light dependent resistor to control the cutoff frequency on a filter over sounds and using the motion to trigger MIDI notes but felt that the latter did not really play into the strengths of the opening and closing of the box as much as the controlling of an effect.
The aim with the filter box was to create something that when held in a natural position would allow access to the 2 buttons and the FSR as well as facilitating the opening and closing of the lid so that the elements could be used in conjunction with each other and separately in an ergonomic way.
The Pressure Box
We discussed the pressure box and using an array of piezos arranged around the bottom of the circular wooden box to create 8 potential pressure points. The Arduino pro mini we are using in the instruments allows for 8 analogue inputs so would suit this set-up. The box can then be filled with foam and topped with a soft tactile yet spongy material such as neoprene, or potentially some sort of skin stretched over the top in the style of a tambourine and secured down with pins. Being that the piezos are very sensitive to vibration there may be some cross talk between the 8 units but this could provide useful for expression. The sensitivity of the piezos allows for tapping the box to trigger or modulate the sound also.
The hexagonal box though not used yet could potentially feature a new mode of interaction for each of its faces to allow a player to choose their preferred interaction mode and mechanism, this may be one for future exploration.
I will now review what we have discussed and implement them into some more prototypes!
Last week we had the "AboutNOWish" team come in to perform their interactive sound and movement piece "Underfoot" at Threeways. They took over the Sensory Studio for three days and worked with several students and I can not praise their work highly enough. Not only were the students inspired and very obviously joyfully engaged, but the staff too. Since the departure of the team the school has been buzzing with people collaborating to build on that creative energy and replicate some of the fantastic work that went on.
The piece made use of 3 large pieces of layered textural matting (grass, pink squashy matts and blue fluff), 3 dancers, a musician/technician, some underfloor bespoke pressure sensors and custom built software (made in Supercollider). Each texture had its own sound/music and movements and between each the flooring was rolled back to reveal the next layer. The dancers used intensive interaction techniques with plenty of individual attention and eye/body contact to encourage the students to join in with the movements, no talking was used. The students responded magnificently, even some with quite challenging behaviour, and were obviously very engaged. The musician/technician supported with large whistle and saxophone accompanied by a subtle electronic soundtrack managed by the software and a discrete controller. Some electronic sounds triggered by the sensors provided a nice random element to the sound too. The instrument playing also became part of the performance as the musician moved onto the mat and interacted with students and did a very good job of playing with a child's arm down the front of the saxophone on several occasions. This type of use of resonant surfaces for tactile sensations often has a great effect on several of our students.
The technology employed was inspired in its subtlety, effectiveness and flexibility. Although the sensors provided a great element to the piece, the students were mostly unaware of their existence. The electronic music was subtle and provided a great backing, mood and depth for the live playing that was going on and I felt that had the technology crashed then the piece could have still carried on without major issue. The team seemed well practiced in getting in and out of installations and the kit seems robust and quick to set up. For its use at Threeways in the Studio we decided to patch it into the lighting so that the pressure sensors could also control spots of light over the sensors which was nice to explore.
The team were a lovely bunch of people and very sensitive to the needs of the school, I would highly recommend this performance and indeed we hope to find another opportunity to work with them again. We have received many testimonials from staff and parents as to the effectiveness of the sessions.