Wearables and 29c3

I’ve been quietly working on a product idea inspired by conversations with fellow TOG member chebe about her blue LED Matrix Top. I had noticed the different levels of illumination in a row when more then one LED is illuminated. I suggested that using a high-side transistor or special driver chip might resolve the problem for this or future projects.

There are many options for different chips which could be used in a LED matrix display. But no suitable part existed in a form factor compatible with the LilyPad Arduino (or FLORA) sewable micro controller boards. With this deficiency in mind I began investigating and experimenting with different designs for a new add-on board for use with the LilyPad.

awesomeness.openphotoThe result of this initial work was two sizes of self-etched prototype boards which I called GPIOPAD’s. At the heart of each board was a I2C GPIO expander chip from NXP, the 8-bit PCA9674 and the 16-bit PCA9675. Using these boards I spent a number of nights in August sewing a basic circular and linear pattern of LED’s and resistors onto the back of a polo shirt. This shirt was part of the wearables projects I brought to World Maker Faire in New York in late September.

After World Maker Faire I took a break from wearables to try and finish off some other projects. But I kept thinking about ways to improve on my prototypes and possible new add-on modules.

In November I came back to this project and made a number of changes to the board which should make them easier to work with. These changes include using a consistent arrangement for the VCC, GND, SCL and SDA pins, adding current limiting resistors to each of the GPIO pins on the board, and using solder jumpers to select different I2C addresses.

With all these changes I decided to come up with a different naming convention for these boards. The new boards I’ve called SEWIO8 and SEWIO16.

I sent an order for about 30 of these new designs to be fabricated by the US based OSH Park batch PCB service, which took just over three weeks to arrive in Ireland after placing the order. The circular boards were supplied after tab routing so I had to clean up the remains of the tabs and mouse bite holes with a file. But I’ve been very happy with the results.

I soldered a couple of each type of board and then began sewing up simple circuits to prove that the board designs worked correctly.
awesomeness.openphoto awesomeness.openphoto
awesomeness.openphoto awesomeness.openphoto

So with my trip to 29th Chaos Communication Congress (29c3) in Hamburg rapidly approaching, I started thinking about what I would do or work on during congress. As I was targeting wearables with my new boards and I hadn’t seen wearable projects begin worked on at congress before, I though doing a practical workshop might be interesting.

awesomeness.openphotoSo the weekend before Christmas I began looked through the components and materials I had at home and TOG. Using these materials I came up with a simpler sewable circuit with a battery, resistor, LED and switch. Over the weekend I self-etched and solder a sewable PCBs to hold a CR1220 batter and another to hold a momentary push button, and made up lots of fabric pieces stiffened with iron on fusing.

The goal of this basic workshop was to concentrate on getting participants familiar with the materials and techniques that can be used in a wearable project. So I used the congress wiki to create a Basic Electronic Fashion workshop page for the second day of the event, which would run for 2 hours and cost €6. I had no idea if people would turn up.

awesomeness.openphotoWhen I arrived at congress I met up with some of my maker type hackers friends and commandeered a small table in the Hardware Hacking Area to show off my wearable pieces and projects and a small piece of paper advertising the workshop. The wearable pieces received a lot of interest with lots of questions and comments about what it was and how it worked. The most common question was “can it be washed?”, my answer was “yes with a careful hand wash”.

awesomeness.openphotoThe workshop went very well, about 25 took part in the introduction part and 14 stayed for the hands on part. Over the remaining days another 6 people did the hands on part of the workshop which I ran in an ad-hoc manner in the Hardware Hacking Area.

I was also interviewed in English as part of a series of German language articles in the news website Spiegel Online about the activates taking place and some of the people attending 29c3. LED-Kunst auf dem 29C3 (Google Translation).

Hamburg city and the new conference location (CCH) will take a little bit of getting use too but it’s off to a very good start. I’ve collected my photos of 29c3 and Hamburg in this photo album.

Now finally I need to write up product pages for my new SEWIO8 and SEWIO16 boards.

Laser Tag m0dul

r0ket Laser Tag with Robert FitzsimonsThis project was inspired by an off-the-cuff comment during Maker Faire UK in March 2011. Over the weekend I was hanging out with members from a number of UK hackerspaces. One day a small group went off to play a game of Laser Tag. The paraphrased comment that suck in my mind after that was “wouldn’t it be cool to have our own Laser Tag system”.

Laser Tag is a multi player shooting game like paint ball. But instead of paint, pulses of infrared light are used to hit opponents. Commercial Laser Tag game systems are commonly known as Quasar in the UK/Ireland or Q-Zar worldwide. These systems can be found installed in bowling alleys or amusement arcades. DIY Laser Tag game systems also exist like the popular MilesTag system.

So when I heard that a hackable event badge called the r0ket was being developed for Chaos Camp 2011 by CCC Munich. I felt it would be a interesting platform to try and develop a DIY Laser Tag system with.

r0ket Laser Tag m0dul Camp PrototypeDuring camp I documented my progress on the camps wiki. Over the days and nights at camp I produced three prototype m0duls using strip board and a selection of components I brought with me. I wrote basic software to allow the r0ket and m0dul to be able to shot and be hit. The hardware selection was inspired by the MilesTag system and software should be compatible with the MilesTag II Data Protocol.

Directly after camp I didn’t make time to work on this project. But when I heard that a new batch of r0ket’s would be available at 28th Chaos Communication Congress (28c3) I started working on the project again.

For the next step in the this project I did some quick research on the capabilities of the micro controller on the r0ket. The MCU is a LPC1343 32-bit ARM Cortex-M3 with 32k of Flash and 8k of RAM from NXP. I was particularly interested in it’s pulse width modulation (PWM) support which could be used to modulate the IR pulses. In the camp version of the m0dule I used delay loops which was far from optimal. PWM on the LPC13xx chips is implemented using timers and match registers which can directly toggle the GPIO pins when the timer’s registers match programmable values.

Unfortunately none of the select pins on the m0dulebus of the r0ket connected to these PWM pins on the LPC1343, so I needed to come up with an alternative solution. My proposed solution was to use an external oscillator to generate the 56kHz carrier signal and have the r0ket just turn it on and off as needed to fire the pulses. After a bit of research I settled on using a 555 timer IC in astable mode.

r0ket Laser Tag m0dul v0.8 Prototype 2Logically the improved Laser Tag m0dul v0.8 Prototype consists of three separate boards. A control board connecting directly to the m0dulbus, an IR transmitter board housed inside the gun barrel, and one or more IR detector boards placed on the players body.

On the control board I used a TS555CN, a low power 555 CMOS timer from ST Microelectronics which would work with the 3.3 volts provided by the r0ket. A quad NAND gate is used to turn on and off the 555 and to modulate the signal from the active low outputs of the m0dulebus select pins. Sound output on the control board was to be provided by an ISD1740 voice recorder and playback chip from Nuvoton. The ISD1700 range of chips are inflexible for this project and hard to program, so I will replace it in a future revision (I will document my findings on the ISD1700 for the record in a future blog post). A speaker, trigger button and connection headers are also provided on the control board.

r0ket Laser Tag m0dul v0.8 Prototype IR TransmitterThe transmitter board has an IR LED, a TSAL6100 High Power IR Emitter from Vishay Semiconductors. To greatly improve the range of the IR LED over 500 milliamperes is past through it and controlled a TN0106 MOSFET from Supertex Inc. Two additional LED mounting spaces are provided these can be used to provide a muzzle flash effect and are also switched by the MOSFET. A separate set of four AA batteries in series are used to power the IR transmitter board.

The detector board has space for two TSOP34856 IR Receiver Module’s from Vishay Semiconductors to detect shot pulses. The TSOP34856 receiver has a pin diode and pre amplifier which can filter and demodulate 56kHz modulated signals. With an active low output, multiple TSOP348 receivers can be connected one MCU pin. A MCU controlled LED is also provided to allow a visual indication of a successful hit.

r0ket Laser Tag m0dul v0.8 PCBThe physical arrangement of a tagger has the IR LED placed at the focal-point of a lens, Leif Bennett has a good page on choosing a Lens. I went with an acrylic plano-convex lens with a 40mm diameter and a 180mm focal length, a OPL8A from GreenWeld. This mounts nicely on a regular 40mm diameter white plastic waste pipe available here in Ireland. By cutting suitable slots in the waste pipe and shaping the PCB I was able to slot them together forming a rigid connection and at the same time mount the LED at the focal-point of the lens. I left extra board in the PCB layout which could be used to form a basic handle after shaping.

In order to have boards available for congress I had to get the boards fabricated in mid December before I had fully tested the design. In the mean time I etched a couple of boards myself, these boards proved the schematic and layout worked. But I did make some minor changes to make self etched boards easier to work with particularly because of the lack of through plated holes/vias.

At the last minute while testing the prototype with an oscilloscope and frequency counter I noticed that the frequency of the 555 didn’t match with what I had calculated, about 42kHz instead of 56kHz. I had to search through my selection of resistors to find a suitable combinations of values which would generate the correct frequency.

During congress I assembled a second prototype and updated the firmware to work with the hardware changes. In tests inside the Berliner Congress Center (BCC) we found that the hits could be registered over about 30 meters, in a test we tried outside the hits worked over 100 meters. On reflection these long range tests worked too well and probably show that the optical arrangement needs to be tuned so the beam spot is much smaller.

A pdf of the schematic can be downloaded here:
Laser Tag r0ket m0dul v0.8 Schematic

The TODO list includes documenting the board assembly; and releasing the schematic, layout and source code.

LED Badges

Just after getting back from 27c3 in early January Jeffrey and myself got talking about a project for TOG’s Paddy’s Day hackaton.

Our general idea was to create a little badge with LEDs in the shape of a shamrock. We were hoping for something small, light and bright with lots of LEDs. I said that I would do some more research to see if it would work and if it did to come up with a suitable circuit design.

I knew the general idea was to use a step-up (boost converter) to increase the voltage level so to that I could drive a string of LEDs. I then began to search manufactures sites for suitable components and relevant information.

After searching all the main contenders I found a very interesting range of chips in a small five pin surface mount package from ON Semiconductor. The most interesting options were the CAT4137 LED Driver, Boost, 5 LED and CAT4238 LED Driver, Boost, 10 LED. Another option from Linear Technology was the LT1932 – Constant-Current DC/DC LED Driver in ThinSOT. As I wasn’t sure what would work I ordered a couple of each component and the suggested supporting components. Along with lots of green surface mount LEDs.

I then designed and etched a simple proof of concept board. After soldering it up and connecting up a CR2032 coin cell battery it worked but I was disappointed with the brightness of the LEDs.

I then put the project on hold. Roll on a couple more weeks and I looked at this project again.

Investigating the proof of concept board I realised I had used a wrong resistor value and was trying to supply 30 milliamperes instead of 10 milliamperes into the string of LEDS. Changing this didn’t really help increase the brightness. But it did point me in the direction that I was just trying to draw too much current from the battery.

I found the following blog post on using cr2032 coin cells from Marcus from Interactive Matter (who I meet at 27c3) very informative. Connecting up the circuit to two AAA batteries solved the brightness problem.

I have now reworked the board into a near final layout. And as a token gesture to the 14th of February (Valentines Day) I’ve created a design in the shape of a heart.

Tomorrow I’ll finish the prototype of the shamrock badge and post a picture. If I created a kit would you be interested in buying it?

Update: Here is the photo of the prototype for the shamrock badge. When we looked at it after I assembled the badge it was hard to make out the leafs also I might change the resistor value to increase the brightness.