I have always liked cufflinks, apart from my wedding ring it is the only form of jewellery that I wear. I also like free and open-source software (FOSS) and opensource hardware. A have a small collection of cufflinks. I had one or two sets themed around traffic lights.
Hello, my name is Brendan Sleight and I normally wear a shirt, tie and cufflinks when talking about traffic lights. Hence the need for some nice cufflinks.
So I stumbled across shapeways.com as well as openscad. Now I could go on about how good OpenScad – but to copy a line from the homepage “Unlike most free software for creating 3D models it does not focus on the artistic aspects of 3D modelling but instead on the CAD aspects. Thus it might be the application you are looking for when you are planning to create 3D models of machine parts but pretty sure is not what you are looking for when you are more interested in creating computer-animated movies.”
Then I started playing with arduino. The next logical step was to try and put an ardunino inside the cufflink! Some geniuses have ported the ardunino core to the ATTINYs. The ATTINY chips are small microprocessors – just 8 pins with a very low power sleep mode.
So inside the cufflink, I have one ATTINY45, one Real Time Clock chip, a couple of resistors and three LEDs. No kinetic button is used, as there was not much space inside the clufflink. Instead a touch sensor uses the case of the cufflink. One input is connected to the outer case, isolated by a small plastic connector to the stock of the cufflink which is connected to ground. The dis-charge rate from the outer case and the stock will change when someone touches both parts.
How it works
Every four seconds, the touch sensor is checked – if no touch is detected the ATTINY goes back to sleep to preserve power. First thing that happens after a touch is a simple menu system is shown. The following functions are available from the menu:-
- Display a normal UK Traffic light Sequence (Red, Red-Amber, Green, Amber, Red)
- Display a normal UK Pelican Crossing Sequence (Red, Flashing-Amber, Green, Amber, Red)
- Display the current time
- Display the current date
- Display the current temperature
- Display a stored number of up to 20 digits.
- Enter configuration menu.
Why options 3-7 – well I had program space left on the ATTINY. In the end the 4092 bytes (of a 4096 byte maximum) got used by the program as I tried to squeeze in every last function.
So a photo or a video is worth a thousand words, a cuffelink working and some videos and photos of me wearing a pair.
To display a number, for example in the main menu or to display the time is based upon the following system:-
- Red – each flash is one.
- Amber – 5
- Green – 10
So for example to display the number 2, the red would flash twice. To display the number 3, the red would flash three times etc, etc. To display the number 7, the Amber would stay on whilst the red flashes twice (5 + 2). To display the number 9, the Amber would stay on whilst the red flashes four times (5 + 4). To display the number 16, the Green and Amber would stay on whilst the red flashes once (10 + 5 + 1).
To select an option in the the menu, I keep touching the cuffelink, until the desired number is displayed.