<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2584327372624565191</id><updated>2012-03-03T00:10:44.092Z</updated><category term='shadow harp'/><category term='AT45DB041D'/><category term='google+'/><category term='enclosure'/><category term='xaml'/><category term='poker'/><category term='ls3020'/><category term='eagle'/><category term='voltage divider'/><category term='schematic'/><category term='shift register'/><category term='pcb'/><category term='flash eeprom'/><category term='g-code'/><category term='audio'/><category term='hackspaces'/><category term='llangollen'/><category term='smt'/><category term='video'/><category term='smt-to-dip'/><category term='buildbrighton'/><category term='pic'/><category term='bipolar'/><category term='ferric chloride'/><category term='miniature drumkit'/><category term='diptrace'/><category term='unipolar'/><category term='serial'/><category term='deskjam'/><category term='drilling'/><category term='darlington transistor'/><category term='board game'/><category term='charlie-plexing'/><category term='new website'/><category term='multi-plexing'/><category term='brighton fringe festival'/><category term='miniature guitar'/><category term='kits'/><category term='touch-sensor'/><category term='18f2455'/><category term='invisible instrument'/><category term='controller'/><category term='laser cutter'/><category term='irf640'/><category term='calibration'/><category term='blood bowl'/><category term='oshonsoft'/><category term='sms-to-web'/><category term='resistors'/><category term='element14'/><category term='berlin'/><category term='hpc'/><category term='18F4550'/><category term='uart'/><category term='hitatchi 44780'/><category term='delta robot'/><category term='simplified'/><category term='expresspcb'/><category term='arm7'/><category term='christmas'/><category term='clocks'/><category term='word clock'/><category term='zif'/><category term='oomlout'/><category term='cnc'/><category term='farnell'/><category term='programmer'/><category term='uln2803a'/><category term='traffic lights'/><category term='belt and pulley'/><category term='16f877a'/><category term='l293d'/><category term='http client'/><category term='servos'/><category term='hardware'/><category term='microband'/><category term='arduino'/><category term='embedded'/><category term='router'/><category term='nerd club'/><category term='soldering'/><category term='ldr'/><category term='bom'/><category term='usb'/><category term='robotics'/><category term='miniature drums'/><category term='makerfaire'/><category term='etching'/><category term='bill of materials'/><category term='stepper motor'/><category term='rgb'/><category term='mbed'/><category term='pcbcart'/><category term='character lcd'/><category term='quick-teck'/><category term='twitter'/><category term='usart'/><category term='brighton'/><category term='pinhole lens'/><category term='petanque'/><category term='salvaging'/><category term='miniature synth'/><title type='text'>Nerd Club</title><subtitle type='html'>where geeky stuff and nerdy ideas come together</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default?start-index=101&amp;max-results=100'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>170</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7218356188535204565</id><published>2012-03-02T10:27:00.001Z</published><updated>2012-03-03T00:10:44.100Z</updated><title type='text'>Mobile development with haXe NME</title><content type='html'>Once again real life and work got in the way of nerding about - only this time we managed to combine the two for a while; a few of us are learning mobile development for Android/iOS and the most obvious way forward, as experienced Flash developers, was to go for Flash CS5.5 with it's built-in AIR support.&lt;br /&gt;&lt;br /&gt;We've been asked to make a simple app for a tablet (originally an iPad2, but most likely an Android tablet) or a smartphone/hybrid (something like the &lt;a href="http://www.samsung.com/uk/consumer/mobile-devices/smartphones/android/GT-N7000ZBAXEU?cid=uk_ppc_googleuk_galaxynote_20120201" target="_blank"&gt;Samsung Galaxy Note&lt;/a&gt; springs to mind) so we've been learning all about tool-chains and cross compiling.&amp;nbsp;Ideally we'd have liked to have stuck with Flash/CS5.5 and AIR, which is ideal for cool kids with the latest smartphones. Creating an app in Flash CS5.5 is a doddle and creating an .apk file is as easy as hitting "publish". Copy the .apk file onto your phone via a usb lead, then use My Files to install the app. If your phone doesn't already have it installed, the app will prompt you to download Adobe AIR (one-time only).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CJU9EXRUnzE/T1FhYe14TBI/AAAAAAAABWE/jREujqgXWCk/s1600/SC20120303-000514.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-CJU9EXRUnzE/T1FhYe14TBI/AAAAAAAABWE/jREujqgXWCk/s320/SC20120303-000514.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But this is where things started to wrong for us!&lt;br /&gt;We'd only got as far as installing the app when a message popped up to say that our handset wasn't compatible with AIR...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-3F38atxMS3c/T1FhY8X_UdI/AAAAAAAABWI/_9bXASvnPGw/s1600/SC20120303-000553.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-3F38atxMS3c/T1FhY8X_UdI/AAAAAAAABWI/_9bXASvnPGw/s320/SC20120303-000553.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;It seems that many smartphones (and tablets) on the market are still running ARM6 processors (such as our &lt;a href="http://www.gsmarena.com/samsung_galaxy_ace_s5830-3724.php" target="_blank"&gt;Galaxy Ace&lt;/a&gt; handsets) and AIR doesn't run on these. We could just ignore these, concentrate on making apps for handsets nearer the top-end of the market and go back to Flash. But there's something about cutting out a large proportion of users, many of whom will be getting &lt;a href="http://forum.unity3d.com/threads/73598-Before-you-buy-Android-for-Unity-ARMv6-and-what-you-should-know." target="_blank"&gt;Arm6-based handsets (because they are free) on two-year contracts&lt;/a&gt;, that doesn't sit right with us. So we've been looking into AIR-free compilers....&lt;br /&gt;&lt;br /&gt;It's been a bit of a nightmare!&lt;br /&gt;There have been loads of suggestions, tips and recommendations and we're indebted to the guys at &lt;a href="http://dotbrighton.org/" target="_blank"&gt;dotBrighton&lt;/a&gt; for keeping us going. One thing we're keen on doing is keeping CPU usage to a minimum (with a view to extending battery life while running our apps). Of all the set-ups we've seen, haXe NME looked like it offered what we were looking for - and, it uses an AS3 type syntax with familiar libraries, so the learning curve shouldn't be too steep.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-YxQQV_dUXZo/T1CawyidXOI/AAAAAAAABV8/hxx7wVdhqVo/s1600/nme.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="155" src="http://3.bp.blogspot.com/-YxQQV_dUXZo/T1CawyidXOI/AAAAAAAABV8/hxx7wVdhqVo/s320/nme.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It took over 16 hours to get haXe installed and working properly. There are no easy-start guides on the 'net - we should really have been a bit more organised, written down exactly what we did and how we did it and created one for others to follow. But the truth is, it was so convoluted and we ended up downloading massive 600Mb+ files two and three times (first manually, then allowing the installer to try, then uninstalling and trying again) that we'd only end up with a guide on &lt;i&gt;how not to set up&lt;/i&gt; a programming environment!&lt;br /&gt;Something still doesn't ring true that we've used up over 20Gb in disk space just getting this lot working...&lt;br /&gt;&lt;br /&gt;But in the end, after installing Java runtimes, Java SDK, Android SDK, Android NPK, Flash Develop, haXe NME, C++, Visual Studio Express, Cygwin and a whole heap of other crap we didn't fully undesrstand, we managed to get and environment working that allowed us to compile the &lt;a href="http://www.haxenme.org/developers/get-started/" target="_blank"&gt;Actuate example&lt;/a&gt; from the &lt;a href="http://www.haxenme.org/" target="_blank"&gt;haXe NME website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's our end result. The video shows up to fifty sprites (filled shapes) of differing degrees of transparency with a couple of pngs we added ourselves, to try out the png support.&lt;br /&gt;&lt;br /&gt;[video here]&lt;br /&gt;&lt;br /&gt;With alpha-support for pngs, and the ability to draw moving objects at different depths, things are quite exciting. A tile-based sprite-blitted game can't be too far away, surely?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7218356188535204565?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7218356188535204565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/03/mobile-development-with-haxe-nme.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7218356188535204565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7218356188535204565'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/03/mobile-development-with-haxe-nme.html' title='Mobile development with haXe NME'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-CJU9EXRUnzE/T1FhYe14TBI/AAAAAAAABWE/jREujqgXWCk/s72-c/SC20120303-000514.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4346572743192378997</id><published>2012-02-26T18:37:00.002Z</published><updated>2012-02-26T18:37:45.185Z</updated><title type='text'>Fuzz Face with NPN transistors (MPSA18 amplifiers)</title><content type='html'>After amending our FuzzFace design to use a positive power supply, we've had a couple of enquiries about the &lt;a href="http://nerdclub-uk.blogspot.com/2012/02/make-your-own-fuzzface-guitar-pedal.html" target="_blank"&gt;schematic&lt;/a&gt;. Mainly that a few readers weren't familiar with the PNP transistors used (nor seeing them drawn "upside-down" in the circuit) so we've found a design that uses NPN transistors and different resistor values (including a potentiometer/variable resistor to adjust the amount of "fuzz")&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/82875543/FuzzFace-with-NPN-transistors" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px auto 6px auto; text-decoration: underline;" title="View FuzzFace with NPN transistors on Scribd"&gt;FuzzFace with NPN transistors&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_94431" scrolling="no" src="http://www.scribd.com/embeds/82875543/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-kxo47w99yohu652ozsl" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Here's the PCB layout. We've not had chance to try this, as we're still waiting for some 20uF capacitors.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-P5v4xvVGVKw/T0p2l-3cpVI/AAAAAAAABVM/fiV5ZQRWlxg/s1600/fuzzface_npn_layout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="153" src="http://4.bp.blogspot.com/-P5v4xvVGVKw/T0p2l-3cpVI/AAAAAAAABVM/fiV5ZQRWlxg/s320/fuzzface_npn_layout.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;That said, we've a few 22uF caps lying around here (large black barrel electrolytic types) and since 22uF is just within the range of a 20uF with +/- 10% (and 20uF is within the range of a 22uF with +/- 20%) then it may just be a suitable replacement. We hope so, since 22uF caps can be easily found all over Farnell and eBay for just a few pence whereas the cheapest 20uF rated capacitors are about £3 each.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/82875921/FuzzFace-NPN-pedal-PBC-layout" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px auto 6px auto; text-decoration: underline;" title="View FuzzFace NPN pedal PBC layout on Scribd"&gt;FuzzFace NPN pedal PBC layout&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_61992" scrolling="no" src="http://www.scribd.com/embeds/82875921/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-1g2laahqw6j32t5s0162" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;i&gt;(print the above at 100% no scaling to create your own press-n-peel image for toner transfer)&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Since simplifying the design (using 22uF instead of 20uF capacitor for example) we've managed to source all the components needed to make this pedal, so it's off to the nerd cupboard now to crack open the Ferric Chloride and get etching!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4346572743192378997?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4346572743192378997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/fuzz-face-with-npn-transistors-mpsa18.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4346572743192378997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4346572743192378997'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/fuzz-face-with-npn-transistors-mpsa18.html' title='Fuzz Face with NPN transistors (MPSA18 amplifiers)'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-P5v4xvVGVKw/T0p2l-3cpVI/AAAAAAAABVM/fiV5ZQRWlxg/s72-c/fuzzface_npn_layout.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1500355661588860747</id><published>2012-02-24T13:38:00.000Z</published><updated>2012-02-24T14:36:37.448Z</updated><title type='text'>Painting Blood Bowl miniatures</title><content type='html'>I've been trying to spend some time away from my computer lately - which is quite difficult since it's not only my work, but my hobby and most of my other hobbies (electronics, music etc) use a computer somewhere along the line too.&lt;br /&gt;&lt;br /&gt;Since working on my &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html" target="_blank"&gt;Blood Bowl electronic clone&lt;/a&gt;, I've been looking at miniature-based war games. I never understood them, nor was I particularly interested in the whole dragons-and-wizards games, even when I was a teenage nerd-bag baby (listening to Iron Maiden, baby). But I always thought that Blood Bowl was a good game in it's own right - or rather, it could be, if it wasn't for all that pesky dice-rolling and looking up results.&lt;br /&gt;&lt;br /&gt;One thing I have found, however, is that I can wield a tiny 000 paintbrush quite well. I'm not up to &lt;a href="http://www.games-workshop.com/gws/content/article.jsp?aId=13000009a" target="_blank"&gt;Games Workshop Golden Demon&lt;/a&gt;, professional painting standard, but I do seem to be able to blob colours in roughly the right places on a miniature. So I'm trying to develop my own painting style. I can't be bothered with all those washes and blending and teeny-tiny details, but I do quite like my thick black outlines and the "toon shading" finish on these models&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-LBZsxLa8iWY/T0eRhfVtyqI/AAAAAAAABU0/dF7i97elXGU/s1600/AmWltXkCAAIgvKC.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-LBZsxLa8iWY/T0eRhfVtyqI/AAAAAAAABU0/dF7i97elXGU/s320/AmWltXkCAAIgvKC.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So this is going to be my signature style. Van Gogh had his, Escher and Matisse had theirs. This is mine. Two-tone shading and thick black outlines; miniatures that look like they've been coloured in using a set of children's felt-tipped pens. I'm still building up my range of paints, so I've a couple of miniatures on the go while I'm waiting for different shades to arrive in the post. Here's an Orc "thrower" started in my new "toon shading" style:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-sCiRpzTlLt0/T0eSMNs0ynI/AAAAAAAABU8/7Ubxf58ngjM/s1600/AmYKFiBCQAE2IMs.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-sCiRpzTlLt0/T0eSMNs0ynI/AAAAAAAABU8/7Ubxf58ngjM/s320/AmYKFiBCQAE2IMs.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;(the colours on the actual model are much more vivid and vibrate - my camera-phone obviously isn't very good with garish bright colours!)&lt;br /&gt;&lt;br /&gt;While I'm actually enjoying regressing back to my 14-year-old self doing this sort of painting, I still can't wait to get the models painted and actually see them being used in an electronic Blood Bowl game!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1500355661588860747?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1500355661588860747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/blood-bowl-miniatures-painting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1500355661588860747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1500355661588860747'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/blood-bowl-miniatures-painting.html' title='Painting Blood Bowl miniatures'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-LBZsxLa8iWY/T0eRhfVtyqI/AAAAAAAABU0/dF7i97elXGU/s72-c/AmWltXkCAAIgvKC.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-2802236668634993196</id><published>2012-02-22T00:04:00.000Z</published><updated>2012-02-22T00:04:09.088Z</updated><title type='text'>Investigating capacitive sensing</title><content type='html'>The results from our earlier&lt;a href="http://nerdclub-uk.blogspot.com/2012/02/multiplexed-capacitive-sensing-boards.html" target="_blank"&gt; testing for a multi-plexed capacitive sensing grid&lt;/a&gt; are in and...... it's not good. The idea just didn't work. It seems that to use "simple" capacitive sensing - ie energising a pad then checking to see if an input is present a few moments after shutting off the power - the pad has to be directly under the top "plate" of the capacitor (i.e. your finger).&lt;br /&gt;&lt;br /&gt;We were hoping that putting power onto a plate immediately to the side of what would be the bottom "plate" would suffice but the only way we could get an inputs to activate was to introduce a "real" capacitor and make a mechanical contact to the plates.&lt;br /&gt;&lt;br /&gt;This got us thinking about alternatives for our cap-sensing board (and if it would even be possible). While an RC network on each input pin is immediately obvious, converting this into a grid also gives us a few headaches. So we're now investigating how to use rows and columns of pads and our &lt;a href="http://nerdclub-uk.blogspot.com/2012/02/testing-piece-tracking.html" target="_blank"&gt;working cap-sensing prototype&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.We already know that we can activate/deactive single input pins one-at-a-time and detect if a piece is above it. But when it comes to multi-plexing, re-using the same inputs for different "rows" of pads is quite tricky. But we've come up with another idea which keeps the same (working) technique and builds on it:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yezEDKiclwI/T0Qtamw_JuI/AAAAAAAABSE/F5shUk_NvyY/s1600/criss_cross.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="251" src="http://3.bp.blogspot.com/-yezEDKiclwI/T0Qtamw_JuI/AAAAAAAABSE/F5shUk_NvyY/s320/criss_cross.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;We're going to make strips of pads, all connected in a line. At 90 degrees to these, we'll have strips of pads on the other side of an insulating material. We can then send an entire row high, flip the pin to input and check for a signal on the input pin - just like before. What we're hoping to do is to use the pads running perpendicular to "mask out" some of these pads, so if we get an input high, we know which of the pads in the strip triggered the input.&lt;br /&gt;&lt;br /&gt;Let's say the lower (darker) pads in the diagram are on the X axis, and the paler (higher) pads are on the Y axis. We can send row X1 high and check for a high input back. But it could have been any of three pads in that row which triggered the input. BUT - if we send columns Y1 and Y2 high, when row X1 flips to input mode, only capacitance from X1,Y3 will be detected (since when row X1 goes low, Y1 and Y2 stay high, so if your finger is over X1,Y1 or X1,Y2, it won't actually "discharge" until these columns go low as well).&lt;br /&gt;&lt;br /&gt;That's the theory anyway.&lt;br /&gt;Once again, it's a bit late to try the whole thing from start to finish, but here's as far as we got:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-mve-yYGteKg/T0QvOCchQgI/AAAAAAAABSM/x-7ImZGxwEQ/s1600/2012-02-21+22.33.01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-mve-yYGteKg/T0QvOCchQgI/AAAAAAAABSM/x-7ImZGxwEQ/s320/2012-02-21+22.33.01.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We started by drawing 1" squares onto a strip of 1" wide sticky copper tape. In the centre of each square, draw around a penny coin. Draw lines to connect all the dics in a row and cut them out using a sharp knife&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fg7PNQnoz4M/T0QvQWjFUYI/AAAAAAAABSU/ibg0Uv7PXTk/s1600/2012-02-21+22.33.42.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-fg7PNQnoz4M/T0QvQWjFUYI/AAAAAAAABSU/ibg0Uv7PXTk/s320/2012-02-21+22.33.42.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As we're going to have rows and columns running in opposite directions, we'll need some insulating material and to stick the strips of pads on each side. Ideally we'd have preferred to use tracing paper or tissue paper - but in true "hacker" style we used whatever was to hand; these paper towels were quite thin:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dFOqoAL8k38/T0QvVFdHxpI/AAAAAAAABSc/UwF-Qck1SSs/s1600/2012-02-21+22.47.22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-dFOqoAL8k38/T0QvVFdHxpI/AAAAAAAABSc/UwF-Qck1SSs/s320/2012-02-21+22.47.22.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Stick the rows of pads in one direction, and the "columns" at 90 degrees. If we'd used tracing paper, we would be able to see where the pads had been placed on each side - we couldn't and had to guess, which is why they're a little bit out of alignment. We're not even sure if this idea is going to work - let's hope this doesn't prove critical when we come to try it out!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UkCBw-O9l6Y/T0QvXdKIC4I/AAAAAAAABSk/4FQ9DdeMbn0/s1600/2012-02-21+22.54.28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-UkCBw-O9l6Y/T0QvXdKIC4I/AAAAAAAABSk/4FQ9DdeMbn0/s320/2012-02-21+22.54.28.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Rather than spend all night making a large grid of pads, we're after proving that the idea works (or, if it's anything like last time, whether it doesn't). &amp;nbsp;So we've marked the four pads in this arrangement that have pads in both the X and Y axis on opposite sides.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-cgCmCvdey2Y/T0QvaCras_I/AAAAAAAABSs/gjTEffSE3Z0/s1600/2012-02-21+23.24.20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-cgCmCvdey2Y/T0QvaCras_I/AAAAAAAABSs/gjTEffSE3Z0/s320/2012-02-21+23.24.20.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;All that's left to do is to write some new firmware and try the idea out!&lt;br /&gt;Unfortunately, it's gone midnight now and with work in the morning, this will have to wait until tomorrow.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-2802236668634993196?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/2802236668634993196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/investigating-capacitive-sensing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2802236668634993196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2802236668634993196'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/investigating-capacitive-sensing.html' title='Investigating capacitive sensing'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-yezEDKiclwI/T0Qtamw_JuI/AAAAAAAABSE/F5shUk_NvyY/s72-c/criss_cross.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-5164905195345049158</id><published>2012-02-20T22:26:00.000Z</published><updated>2012-02-20T22:26:52.060Z</updated><title type='text'>Multiplexed capacitive sensing board(s)</title><content type='html'>This is yet another proof-on-concept idea, but if it works, it'll be perfect for our &lt;a href="http://nerdclub-uk.blogspot.com/2012/02/intelligent-board-game-update.html"&gt;intelligent/electronic board game&lt;/a&gt;. Following our &lt;a href="http://nerdclub-uk.blogspot.com/2012/02/multiple-capacitive-sensing-inputs.html"&gt;earlier instructions&lt;/a&gt;, here are two multi-part boards for testing.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jDYfXkK6s5U/T0LH0pgKQ1I/AAAAAAAABR8/T-oZxHhBBis/s1600/AmILDZfCEAAoraJ.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-jDYfXkK6s5U/T0LH0pgKQ1I/AAAAAAAABR8/T-oZxHhBBis/s320/AmILDZfCEAAoraJ.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As you can see, each pad is split into two large rectangles. One half of each pad is connected to a common "power" pin and the other to an input pin on the microcontroller. The principle is to make one half of the pad "live", shut down the power, wait a uS or two, then check the input pin. Hopefully the pad size will be sufficient to allow the coin to act as a capacitor, even if the two plates of the capacitor are different sizes.&lt;br /&gt;&lt;br /&gt;There's no real way of knowing for sure if this idea will work or is just crazy wishful thinking - except, perhaps, to build it and see!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-5164905195345049158?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/5164905195345049158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/multiplexed-capacitive-sensing-boards.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5164905195345049158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5164905195345049158'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/multiplexed-capacitive-sensing-boards.html' title='Multiplexed capacitive sensing board(s)'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jDYfXkK6s5U/T0LH0pgKQ1I/AAAAAAAABR8/T-oZxHhBBis/s72-c/AmILDZfCEAAoraJ.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-496514498066797525</id><published>2012-02-19T17:50:00.002Z</published><updated>2012-02-21T14:01:56.932Z</updated><title type='text'>Multiple capacitive sensing inputs</title><content type='html'>Using our switch-from-output-to-input method of testing for a piece works fine to date. But there's a problem brewing that needs tackling early on:&lt;br /&gt;&lt;br /&gt;Each sensing pad currently uses one digital i/o pin.&lt;br /&gt;One of the larger pin-count PIC microcontrollers, an 18F4550 (or 16F877A if we're not worried about the USB stack) has only 40 pins, of which about 34 can be used for digital i/o. If we consider even a simple chess board, we'll need at least 64 digital i/o pins for an 8x8 grid.&lt;br /&gt;&lt;br /&gt;For anything larger or more interesting than a chess board, we'll need LOTS more pins!&amp;nbsp;It's possible that we could use lots of shift registers and daisy chain them to increase our pin count, but we're going to try our earlier design, using "rows" and "columns".&lt;br /&gt;&lt;br /&gt;We'll hook up 8 pads onto a single input PORT (each port is 8-bits/one byte wide) and monitor it for input from the board. Then we'll use the left over digital pins (and perhaps a shift register if necessary to increase the pin count here) to activate specific "rows" on the board. By knowing which row is activated, and by reading which input pins are high after the row has been switched off (using residual capacitance to keep the input pin high if a pad is touched or a player touches a piece standing on top of the pad) we can calculate exactly which pad has triggered the "high" input signal.&lt;br /&gt;&lt;br /&gt;To achieve a full-sized Blood Bowl board, we're going to construct each row from two "modules" of 8 pads. Each module can connect to its own input port (e.g. PORTB and PORTD) on a 40-pin PIC so we'll be able to monitor up to 16 pads at any one time.&lt;br /&gt;&lt;br /&gt;Here's a module we've come up with.&lt;br /&gt;For testing we're going to etch this onto single-sided copper board. For the final version, we're going to use double-sided board (so that the traces are on the bottom and can't pick up any stray capacitance from the pieces on the top).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/82111933/Capacitive-sensing-1x8-board-module" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px auto 6px auto; text-decoration: underline;" title="View Capacitive sensing 1x8 board module on Scribd"&gt;Capacitive sensing 1x8 board module&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_85007" scrolling="no" src="http://www.scribd.com/embeds/82111933/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-mmmlseqnkukklxdnqki" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The first 8 pins connect via a wire to the input port(s) on a microcontroller. The final pin (connected to the 8 "row" pads through a 1mm wide trace) goes to a "row control" pin (either directly to an i/o pin, or to a shift register used to increase the number of available pins).&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;A few people have already said that when they printed the earlier (portrait) version of this board, their printer resized it ever so slightly to get it to fit onto the page - we managed to get this effect too, so here's a landscape version of the same board:&lt;br&gt;&lt;br&gt;&lt;a title="View Capacitive sensing 1x8 module (landscape) on Scribd" href="http://www.scribd.com/doc/82288276/Capacitive-sensing-1x8-module-landscape" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Capacitive sensing 1x8 module (landscape)&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/82288276/content?start_page=1&amp;view_mode=list&amp;access_key=key-c9w6o66ac8ykmvjjehn" data-auto-height="true" data-aspect-ratio="1.41503267973856" scrolling="no" id="doc_86788" width="100%" height="600" frameborder="0"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-496514498066797525?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/496514498066797525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/multiple-capacitive-sensing-inputs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/496514498066797525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/496514498066797525'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/multiple-capacitive-sensing-inputs.html' title='Multiple capacitive sensing inputs'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4130287717046093014</id><published>2012-02-19T14:40:00.000Z</published><updated>2012-02-19T14:42:42.263Z</updated><title type='text'>Testing piece tracking</title><content type='html'>Now we've &lt;a href="http://nerdclub-uk.blogspot.com/2012/02/code-for-capacitive-sensing.html" target="_blank"&gt;tested our capacitive sensing board&lt;/a&gt; and everything appears to work when using pennies (and batteries) as playing pieces. The next thing we need to know - before getting immersed in board builds, data manipulation etc - is that the whole concept still works if we use anything other than pennies or batteries.&lt;br /&gt;&lt;br /&gt;This project started out as a &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html" target="_blank"&gt;digital Blood Bowl game board&lt;/a&gt; but we've come to realise that it has potential to be used to "electronify" (is there such a word?) many other popular board games. Luckily, many of the miniature playing pieces used in these types of games are metallic (pewter). All we need to do is make sure the metal figurine is connected to a penny in the base of the miniature.&lt;br /&gt;&lt;br /&gt;The "slotta-bases" used by many miniature manufacturers are ideal for this.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MiG91rL_EeI/T0EGYwf0JwI/AAAAAAAABRg/KNZTdUVlOr4/s1600/2012-02-19+13.16.14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-MiG91rL_EeI/T0EGYwf0JwI/AAAAAAAABRg/KNZTdUVlOr4/s320/2012-02-19+13.16.14.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Remove some of the plastic from the underside of the slottabase and file the bottom of the figurine so that there is enough space under the miniature for our penny&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fHwxC94yKdo/T0EG1zS47qI/AAAAAAAABRo/zWoKP9EEl3s/s1600/2012-02-19+13.16.39.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-fHwxC94yKdo/T0EG1zS47qI/AAAAAAAABRo/zWoKP9EEl3s/s320/2012-02-19+13.16.39.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The finished model should look exactly as before, only with a void under the base to house our penny. When the finished figurine is placed over the penny, an electrical connection is made from the coin to the miniature but the penny is not visible:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-tSSvKEWsaHg/T0EKNhJ1SDI/AAAAAAAABRw/9S--m08-qv0/s1600/2012-02-19+13.17.23.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-tSSvKEWsaHg/T0EKNhJ1SDI/AAAAAAAABRw/9S--m08-qv0/s320/2012-02-19+13.17.23.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This means that touching the miniature gives the same result as touching the penny - i.e. we can, indeed, use a metal miniature as a playing piece on our capacitive sensing game board:&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/HnyBnAuYerc" width="420"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Note that the flickering LED in the demo is not due to a fault in the board - trying to watch the video viewfinder and place the piece on the correct place on the board meant sometimes it sat between pads&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4130287717046093014?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4130287717046093014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/testing-piece-tracking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4130287717046093014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4130287717046093014'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/testing-piece-tracking.html' title='Testing piece tracking'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-MiG91rL_EeI/T0EGYwf0JwI/AAAAAAAABRg/KNZTdUVlOr4/s72-c/2012-02-19+13.16.14.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1855953198334526271</id><published>2012-02-19T11:15:00.000Z</published><updated>2012-02-19T11:23:44.201Z</updated><title type='text'>Tracking playing pieces</title><content type='html'>&lt;br /&gt;To date we've come up with a capacitive detecting circuit which tells us when&lt;br /&gt;a) a piece is introduced (put down) on the playing board&lt;br /&gt;b) when a piece is &lt;i&gt;either&lt;/i&gt; lifted off the board, &lt;i&gt;or&lt;/i&gt; released&lt;br /&gt;&lt;br /&gt;It's part B that's causing us a headache for use as an intelligent board game.&lt;br /&gt;The two actions are actually opposite of each other, so it's difficult to track where exactly on the board a piece is at any one time.&lt;br /&gt;&lt;br /&gt;For example, in our test-rig, when an LED lights up, we know that&lt;br /&gt;a) a piece is above a capacitive sensing pad&lt;br /&gt;b) the player has hold of the piece (this is necessary to provide the "ground" for the capacitive part of the sensor&lt;br /&gt;&lt;br /&gt;So when an LED lights up, we know that a piece is in the square above the sensor.&amp;nbsp;The problem comes when understanding what has happened when the LED goes out:&lt;br /&gt;&lt;br /&gt;Either the player has put the piece down in the square and let go of it&amp;nbsp;OR the player has lifted the piece off the board and continues to hold it in their hand.&amp;nbsp;These are opposite statements - when an LED goes out, either the piece is on the board, or it's been lifted off. Hmmmmm. How to tackle this one?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let's say we start the game with a completely empty board (and a matrix/array of empty cells).&lt;br /&gt;The controller (whatever that will end up being, either a character LCD or a PC connected to the board or something similar) tells the player to put down a specific piece on the board - for the sake of example, we'll use chess pieces, but the principle applies to lots of other board games.&lt;br /&gt;&lt;br /&gt;We could keep a track of the "last piece touched" or "piece in hand".&lt;br /&gt;In this case, the controller sets which piece is in hand (by telling the player to pick up, for example, a black knight). Now when an input is activated (LED lights up) the board can record the playing piece type in the matrix/array. So if pad 1 lights up, it can say "square one contains a black knight".&lt;br /&gt;&lt;br /&gt;If, sometime after this, pad 2 lights up, the board would say "the piece in hand is a black knight. Find which square contains the black knight. Square one is now empty, the black knight is now in square two." By doing this, every time a square "lights up" we simply clear the previous location and update the playing piece to the new location. This works well for a single playing piece on the board.&lt;br /&gt;&lt;br /&gt;When we introduce more than one playing piece (which, let's be honest would make for a pretty board board game if we couldn't) things get a little more complicated, but the same principles &amp;lt;i&amp;gt;should&amp;lt;/i&amp;gt; still work:&lt;br /&gt;&lt;br /&gt;When a square lights up:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Check to see what playing piece is in this square&lt;/li&gt;&lt;li&gt;If no playing piece is in this square, we're working with the previously held piece - clear the previous square and update this one to say the last held playing piece is now in a new location.&lt;/li&gt;&lt;li&gt;If a playing piece is found, remember this is now the held playing piece and wait for a different square to light up.&lt;/li&gt;&lt;/ul&gt;This should allow us to deal with a player simply touching and releasing a piece (the LED lights up and goes out, the board knows that the square already has a piece in it and simply updates which piece is "in hand"). When the player lifts a piece off the board, the LED lights up then goes out and the board updates which piece is in hand (since it knows that the detected square contains a playing piece). But now, when the piece is put back down in a different square, a different LED lights up, the board knows that this square is empty, so updates the location of the piece "in hand".&lt;br /&gt;&lt;br /&gt;By using this method, it should be possible to keep track of any number of playing pieces on the game board.&lt;br /&gt;&lt;br /&gt;The only problem we can see so far is when removing pieces from the board completely. For example, when a white queen takes a black pawn:&lt;br /&gt;&lt;br /&gt;The player picks up the white queen to start moving. The player picks up the black pawn and removes it completely from the board. The player puts the white queen in the black pawn's old square. If more than one piece is moved during a turn, things could get messy!&lt;br /&gt;&lt;br /&gt;In this example, the board detects the white queen being lifted off the board (white queen is "in hand"), then it "sees" the black pawn being lifted off the board (black pawn is in hand) then a piece (the board doesn't know which) appears on the black pawn's square. It's possible that the board thinks the black pawn is the piece in hand, and so says that the black pawn is back in the black pawn's square - leaving the white queen where it was.&lt;br /&gt;&lt;br /&gt;The solution to this, is to have an "offboard area":&lt;br /&gt;The board sees the black pawn is in hand (when the player lifts it off the board). The black pawn is removed from the board and put into an offboard area. The board now updates the black pawn's old square and makes it free. The player then picks up the white queen (the board puts the white queen "in hand") and places it in the black pawn's old square. The board recognises that this square is now empty, so updates the location of the white queen in the matrix/game array.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1855953198334526271?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1855953198334526271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/tracking-playing-pieces.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1855953198334526271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1855953198334526271'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/tracking-playing-pieces.html' title='Tracking playing pieces'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7846081332661683066</id><published>2012-02-19T10:50:00.001Z</published><updated>2012-02-19T10:50:40.432Z</updated><title type='text'>Code for capacitive sensing</title><content type='html'>Following on from an earlier post, introducing capacitive (touch) sensing, here's the Oshonsoft PIC Basic Code to read three pads, connected to PORTB.2, PORTB.3, PORTB.4&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime; font-family: courier new, courier; font-size: 8pt;"&gt;Define CLOCK_FREQUENCY = 20&lt;br /&gt;Define CONFIG1L = 0x24&lt;br /&gt;Define CONFIG1H = 0x0c&lt;br /&gt;Define CONFIG2L = 0x3e&lt;br /&gt;Define CONFIG2H = 0x00&lt;br /&gt;Define CONFIG3L = 0x00&lt;br /&gt;Define CONFIG3H = 0x01  '81=use MCLR, 01=pin1 is input&lt;br /&gt;Define CONFIG4L = 0x80&lt;br /&gt;Define CONFIG4H = 0x00&lt;br /&gt;Define CONFIG5L = 0x0f&lt;br /&gt;Define CONFIG5H = 0xc0&lt;br /&gt;Define CONFIG6L = 0x0f&lt;br /&gt;Define CONFIG6H = 0xe0&lt;br /&gt;Define CONFIG7L = 0x0f&lt;br /&gt;Define CONFIG7H = 0x40&lt;br /&gt;&lt;br /&gt;Dim tmpinput1 As Byte&lt;br /&gt;Dim wd As Byte&lt;br /&gt;&lt;br /&gt;AllDigital&lt;br /&gt;Config PORTA = Output&lt;br /&gt;Config PORTB = Input&lt;br /&gt;tmpinput1 = 0&lt;br /&gt;wd = 0&lt;br /&gt;&lt;br /&gt;init:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 200&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbSetVendorId 0x1099&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbSetProductId 0x1099&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbSetVersionNumber 0x1001&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbSetManufacturerString "Nerd Club"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbSetProductString "Capacitive board game sensor test"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbSetSerialNumberString "1234567890"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbOnIoInGosub usbonioin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbOnIoOutGosub usbonioout&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbOnFtInGosub usbonftin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbOnFtOutGosub usbonftout&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbStart&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;loop:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbService&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'turn portB into outputs&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Config PORTB = Output&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PORTB = 0xff&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'wait a bit to settle&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitUs 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'turn portb to inputs&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Config PORTB = Input&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'wait a bit to settle&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitUs 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'read which pins are still high&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'(these should be the ones with coins over them)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tmpinput1 = PORTB&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If tmpinput1.3 = 1 Then High PORTA.4 Else Low PORTA.4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If tmpinput1.4 = 1 Then High PORTA.3 Else Low PORTA.3&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If tmpinput1.5 = 1 Then High PORTA.2 Else Low PORTA.2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Goto loop&lt;br /&gt;End                                               &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;usbonioout:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'received data from PC&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Select Case UsbIoBuffer(7)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'---------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 252  'write a value to onboard PIC eeprom&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'---------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write UsbIoBuffer(0), UsbIoBuffer(1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EndSelect&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;usbonioin:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'send data back to PC&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbIoBuffer(0) = tmpinput1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UsbIoBuffer(7) = wd&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wd = wd + 1&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;usbonftin:&lt;br /&gt;&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;usbonftout:&lt;br /&gt;&lt;br /&gt;Return                                            &lt;/div&gt;&lt;br&gt;&lt;br&gt;This code reads whether a touch is detected over each of the pads and lights up a corresponding LED on PORTA.2, PORTA.3, PORTA.4.It also sends the value of the input pins on PORTB to a USB client (so the board game can be connected to a PC and data read in that way too, for future development). &lt;br&gt;&lt;br&gt;(For our trials, we concentrate on just the LED outputs).&lt;br&gt;&lt;br&gt;Here's a video showing how the LEDs light as a playing piece (metallic disc) is picked up and put down on the playing board. Note that the LEDs flash in exactly the same way as when the playing piece is stationary and momentarily touched by the player:&lt;br&gt;&lt;br&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/H9PnVygi2DY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7846081332661683066?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7846081332661683066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/code-for-capacitive-sensing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7846081332661683066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7846081332661683066'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/code-for-capacitive-sensing.html' title='Code for capacitive sensing'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/H9PnVygi2DY/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8764846177579753915</id><published>2012-02-18T23:09:00.001Z</published><updated>2012-02-19T10:57:08.345Z</updated><title type='text'>Intelligent board game update</title><content type='html'>It's been a while, and we've been concentrating on the "nicer" (i.e. nerdier) side of our electronic board game. That is, &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/serial-character-lcd-driver-with-flash.html"&gt;storing and retrieving game play data&lt;/a&gt; and displaying it on a nice, fancy character LCD.This week, we've been looking more into the actual mechanics of game play.Now, our earlier attempts at &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-electronic-board-slave-made.html"&gt;tracking playing pieces on a board&lt;/a&gt; did work, but the board itself left a little to be desired. Because we were making and breaking contacts on the board surface, the playing side of the board was &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/intelligent-board-game-blood-bowl.html"&gt;littered with lots of little metal studs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;These didn't look particularly nice so we've been investigating capacitive sensing - specifically, placing the copper/metallic pads under a printable surface and moving the pieces around on top. This should allow us to create a number of board games with different layouts, finishes etc. but more importantly, to remove the need to drill hundreds and thousands of little holes all over the place.&lt;br /&gt;&lt;br /&gt;Cap sensing is quite straight-forward.Create some large pads, connect to the i/o on your microcontroller, set the pin to output and send it high. Wait a few uS then set the pin to input and give it a few uS to settle. Read the input pin.If your finger (or an object acting as a ground plane) is over the pad, you've effectively created a miniature capacitor and the input pin will still be high. If there's nothing immediately over the pad, the input pin will be low.&lt;br /&gt;&lt;br /&gt;Heres' how we tested the principle:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VLKBSWbI96U/T0AtmqVLzQI/AAAAAAAABQw/CTFIZS99nkU/s1600/2012-02-18+20.35.26.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-VLKBSWbI96U/T0AtmqVLzQI/AAAAAAAABQw/CTFIZS99nkU/s320/2012-02-18+20.35.26.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;First cut out some sticky copper tape - we cut around a penny coin and left a trailing "lead" coming off it (so we had something to connect our wires onto, to connect to a PIC microcontroller. We placed three of these onto a sheet of cardboard, then wired them up to PORTB on an &lt;a href="http://uk.farnell.com/microchip/pic18f2455-i-sp/ic-mcu-8-bit-24k-flash-spdip28/dp/1579600"&gt;18F2455 chip&lt;/a&gt;.&lt;br /&gt;The input pins were pulled to ground through some 500k resistors.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-m3mV7vO0-dQ/T0AtpCirrUI/AAAAAAAABQ4/_GyQ-CLtgxg/s1600/2012-02-18+21.32.49.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-m3mV7vO0-dQ/T0AtpCirrUI/AAAAAAAABQ4/_GyQ-CLtgxg/s320/2012-02-18+21.32.49.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The process described above was carried out and the pads touched with a finger.&lt;br /&gt;The corresponding LEDs lit up as each pad was touched. Next, a sheet of 350gsm (quite thick) cardboard was placed over the pads and the experiment repeated. The LEDs continued to flash as each pad was "touched" through the sheet of cardboard. At least we can be confident that we can create a grid of pads and put a nice, printed face over the top without affecting performance.&lt;br /&gt;&lt;br /&gt;Then we placed our penny coins over the pads.&lt;br /&gt;The LEDs did not light, unless the coins were touched. But once they were touched, the effect was the same as touching the pads directly, and through the sheet of cardboard.&lt;br /&gt;One last test remained - if we used metallic playing pieces, with a metallic base, they should behave in the same way our coins were. But what if the playing pieces were coated in acrylic (or other non-conductive) paint? Our last test was to touch the coins "through" a sheet of paper (a shopping receipt was easily to hand).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/fRlont9UWv8" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Now we had a working prototype, we considered how we could detect the presence of a coin above our pads but without the player having to touch them. This proved trickier than we thought. The only progress we made was discovering that touching the piece/penny was the same as connecting it to the ground pin through a wire.&lt;br&gt;&lt;br&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/02cF4iJ9UFM" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8764846177579753915?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8764846177579753915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/intelligent-board-game-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8764846177579753915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8764846177579753915'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/intelligent-board-game-update.html' title='Intelligent board game update'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-VLKBSWbI96U/T0AtmqVLzQI/AAAAAAAABQw/CTFIZS99nkU/s72-c/2012-02-18+20.35.26.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-5731616031161291254</id><published>2012-02-08T22:27:00.000Z</published><updated>2012-02-08T22:27:27.167Z</updated><title type='text'>Make your own FuzzFace guitar pedal (cont)</title><content type='html'>Following on from an &lt;a href="http://nerdclub-uk.blogspot.com/2012/02/simple-tiny-fuzz-face-pedal-circuit.html" target="_blank"&gt;earlier post&lt;/a&gt;, guitargeek82 got in touch to point out that the original circuit was based on a "negative power" design. When running your pedal from a PP3 battery rather than a plug-adaptor-type power source, this doesn't cause a problem (nor will it cause us any issues since we'll only be running our "pedal" off a battery, since the PCB will be embedded inside our guitar body).&lt;br /&gt;&lt;br /&gt;But for anyone interested in making this pedal to run off a positive power supply, here are the amended files:&lt;br /&gt;&lt;br /&gt;&lt;a title="View Fuzz Face revision 1c Schematic on Scribd" href="http://www.scribd.com/doc/80976628/Fuzz-Face-revision-1c-Schematic" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Fuzz Face revision 1c Schematic&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/80976628/content?start_page=1&amp;view_mode=list&amp;access_key=key-ngm3vbfaerq58vb55p0" data-auto-height="true" data-aspect-ratio="1.41503267973856" scrolling="no" id="doc_90072" width="100%" height="600" frameborder="0"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;Br /&gt;&lt;br /&gt;&lt;a title="View Fuzz Face revision 1c PCB on Scribd" href="http://www.scribd.com/doc/80976625/Fuzz-Face-revision-1c-PCB" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Fuzz Face revision 1c PCB&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/80976625/content?start_page=1&amp;view_mode=list&amp;access_key=key-1tnxy1fc3t7ihzfpux7o" data-auto-height="true" data-aspect-ratio="1.41503267973856" scrolling="no" id="doc_28646" width="100%" height="600" frameborder="0"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;And the amended silkscreen/layout is below.&lt;br /&gt;The&lt;a href="http://nerdclub-uk.blogspot.com/2012/02/fuzzface-parts-list.html" target="_blank"&gt; parts list&lt;/a&gt; remains the same as before - nothing has been added or removed, just the way the components are connected up has changed:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-4_heWtmpiVU/TzL16DFIlkI/AAAAAAAABPs/1IM8Iw81OMM/s1600/fuzzface_c_layout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="202" src="http://2.bp.blogspot.com/-4_heWtmpiVU/TzL16DFIlkI/AAAAAAAABPs/1IM8Iw81OMM/s320/fuzzface_c_layout.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-5731616031161291254?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/5731616031161291254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/make-your-own-fuzzface-guitar-pedal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5731616031161291254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5731616031161291254'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/make-your-own-fuzzface-guitar-pedal.html' title='Make your own FuzzFace guitar pedal (cont)'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-4_heWtmpiVU/TzL16DFIlkI/AAAAAAAABPs/1IM8Iw81OMM/s72-c/fuzzface_c_layout.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-2382892091470236351</id><published>2012-02-08T17:45:00.002Z</published><updated>2012-02-08T22:18:31.456Z</updated><title type='text'>FuzzFace parts list</title><content type='html'>The FuzzFace (amended) design is relatively simple and has just a few components:&amp;nbsp;4 resistors, 3 capacitors, 2 PNP transistors, 1 DPDT switch (and a partridge in a pair tree).&lt;br /&gt;&lt;br /&gt;R1 = &lt;a href="http://uk.farnell.com/multicomp/mcf-1w-470r/resistor-1w-5-470r/dp/9337911" target="_blank"&gt;470 ohm resistor&lt;/a&gt;&lt;br /&gt;R2 = &lt;a href="http://uk.farnell.com/multicomp/mcf-1w-33k/resistor-1w-5-33k/dp/9337873" target="_blank"&gt;33K resistor&lt;/a&gt;&lt;br /&gt;R3 = &lt;a href="http://uk.farnell.com/welwyn/mfp1-8k2-ji/resistor-1w-5-8k2/dp/1565415" target="_blank"&gt;8.2K resistor&lt;/a&gt;&lt;br /&gt;R4 = &lt;a href="http://uk.farnell.com/multicomp/mcpmr01tj0104a50/resistor-axial-xsmall-100k-5-1w/dp/1973224?in_merch=New%20Products" target="_blank"&gt;100K resistor&lt;/a&gt;&lt;br /&gt;R5 = &lt;a href="http://uk.farnell.com/bi-technologies-tt-electronics/p231-qc20br500k/panel-pot-500k-lin-24mm/dp/1684834" target="_blank"&gt;500K potentiometer&lt;/a&gt;&lt;br /&gt;R6 = &lt;a href="http://uk.farnell.com/te-connectivity-citec/23esa102mmf50nf/potentiometer-lin-1k/dp/1174082" target="_blank"&gt;1K potentiometer&lt;/a&gt;&lt;br /&gt;C1 = &lt;a href="http://uk.farnell.com/panasonic/ecqv1j103jm/capacitor-10nf-63v-5/dp/1854839" target="_blank"&gt;0.01uF capacitor&lt;/a&gt;&lt;br /&gt;C2 = &lt;a href="http://uk.farnell.com/multicomp/np100v225m6-3x11/capacitor-n-p-2-2uf-100v/dp/1236687" target="_blank"&gt;2.2uF capacitor&lt;/a&gt;&lt;br /&gt;C3 = &lt;a href="http://uk.farnell.com/parmar/r1008hp200p25m/capacitor-20uf-250v/dp/3851825" target="_blank"&gt;20uF capacitor&lt;/a&gt;&lt;br /&gt;Q1 = &lt;a href="http://uk.farnell.com/multicomp/bc108/transistor-npn-to-18/dp/9206736" target="_blank"&gt;PNP transistor&lt;/a&gt;&lt;br /&gt;Q2 = &lt;a href="http://uk.farnell.com/multicomp/bc108/transistor-npn-to-18/dp/9206736" target="_blank"&gt;PNP transistor&lt;/a&gt;&lt;br /&gt;SW = &lt;a href="http://uk.farnell.com/multicomp/mclss22/slide-switch-dpdt/dp/1522046" target="_blank"&gt;double pole, double throw (changeover) switch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here's the silkscreen/layout for the &lt;a href="http://nerdclub-uk.blogspot.com/2012/02/simple-tiny-fuzz-face-pedal-circuit.html" target="_blank"&gt;earlier PCB&lt;/a&gt; :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-6WoAuhVxQtI/TzLU9NFQiUI/AAAAAAAABPc/2jS7gmgGEwc/s1600/fuzz_face_b_layout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-6WoAuhVxQtI/TzLU9NFQiUI/AAAAAAAABPc/2jS7gmgGEwc/s1600/fuzz_face_b_layout.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-0RKeb-CwcN4/TzLWar3hMiI/AAAAAAAABPk/mxP_2_XmRT8/s1600/pcb_b_layout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-0RKeb-CwcN4/TzLWar3hMiI/AAAAAAAABPk/mxP_2_XmRT8/s1600/pcb_b_layout.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-2382892091470236351?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/2382892091470236351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/fuzzface-parts-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2382892091470236351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2382892091470236351'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/fuzzface-parts-list.html' title='FuzzFace parts list'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-6WoAuhVxQtI/TzLU9NFQiUI/AAAAAAAABPc/2jS7gmgGEwc/s72-c/fuzz_face_b_layout.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7551494884684030286</id><published>2012-02-08T10:53:00.000Z</published><updated>2012-02-08T19:49:05.407Z</updated><title type='text'>Simple Tiny Fuzz Face pedal circuit</title><content type='html'>It's been nearly a month since we've done any nerding around at Nerd Towers. Unfortunately, it's just that time of year - when everyone else is easing into the New Year and starting again, we're going hell-for-leather trying to keep real-world work from overtaking us; January is a particularly busy month for us in the real-world, so hopefully now it's out of the way we can get back to to some serious geekery.....&lt;br /&gt;&lt;br /&gt;Despite having numerous projects on the go at the minute, there's never a better time to drop everything and start a new project, than when you're already juggling about eight balls in the air. So here's our latest one.&lt;br /&gt;In fact, it's quite a quick-and-easy project and took only an evening to put together.&lt;br /&gt;&lt;br /&gt;As we're due to move again before too long, we've been sorting out the nerd cupboard(s) and having a bit of a clear out, to make sure everything will fit into the new place. In the corner of the cupboard are a few (full-sized) guitars which we &lt;i&gt;just can't&lt;/i&gt; leave behind. But we've not done anything with them for about 18 months.&lt;br /&gt;&lt;br /&gt;Maybe it's time we did:&lt;br /&gt;One of the easiest (and most satisfying) mods to make to a guitar is to add some onboard electronics. After a quick hunt around on the 'net we found some schematics for the original FuzzFace stomp box and decided not only to have a go at building one ourselves, but to get the chisels out and actually embed it into the guitar body, with an onboard switch to flick between "clean" and "dirty" output.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4ogcKx0MMhg/TzJVM1O6zBI/AAAAAAAABPM/6X7DusCpcNw/s1600/fuzzface.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-4ogcKx0MMhg/TzJVM1O6zBI/AAAAAAAABPM/6X7DusCpcNw/s1600/fuzzface.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Here's the schematic:&lt;br /&gt;&lt;br /&gt;&lt;a title="View Fuzz Face revision 1b Schematic on Scribd" href="http://www.scribd.com/doc/80958072/Fuzz-Face-revision-1b-Schematic" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Fuzz Face revision 1b Schematic&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/80958072/content?start_page=1&amp;view_mode=list&amp;access_key=key-1vdqg6shtscnbwtwy2g6" data-auto-height="true" data-aspect-ratio="1.41503267973856" scrolling="no" id="doc_42356" width="100%" height="600" frameborder="0"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;And the PCB layout - with components placed as closely together as possible.&lt;br /&gt;Note that the two potentiometers and the DPDT switch connect to three-way connectors on the board via short wires, they are not actually mounted onto the board!&lt;br /&gt;&lt;br /&gt;&lt;a title="View Fuzz Face revision 1b Pcb on Scribd" href="http://www.scribd.com/doc/80958065/Fuzz-Face-revision-1b-Pcb" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Fuzz Face revision 1b Pcb&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" src="http://www.scribd.com/embeds/80958065/content?start_page=1&amp;view_mode=list&amp;access_key=key-173p0i0crnle2ucxabvz" data-auto-height="true" data-aspect-ratio="1.41503267973856" scrolling="no" id="doc_11335" width="100%" height="600" frameborder="0"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;i&gt;As ever, print this onto your press-n-peel as-is so that when it is transferred onto the copper board, it is reversed. This is fine, since you're etching the bottom of the PCB, not the top - don't panic, everything will just work out in the end!&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7551494884684030286?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7551494884684030286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/simple-tiny-fuzz-face-pedal-circuit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7551494884684030286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7551494884684030286'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/02/simple-tiny-fuzz-face-pedal-circuit.html' title='Simple Tiny Fuzz Face pedal circuit'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4ogcKx0MMhg/TzJVM1O6zBI/AAAAAAAABPM/6X7DusCpcNw/s72-c/fuzzface.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6349822838970028557</id><published>2012-01-15T20:33:00.001Z</published><updated>2012-01-15T20:33:43.147Z</updated><title type='text'>Why I hate smartphones - and what makes them great</title><content type='html'>It's taken me a long time to even entertain getting a smartphone. I used to find them a social&amp;nbsp;nuisance, always ringing and pinging and going off all the time - and don't get me started on people who sit opposite each other in a cafe, each texting someone else on their handset....&lt;br /&gt;Because of this, I've never bothered with them. A few years ago I threw my mobile phone away and spent four glorious years away from the mobile world. In fact, it was only because of work that I begrudgingly spent £4.99 on a handset and SIM card at the local ASDA store and that's been my 'phone of choice ever since.&lt;br /&gt;&lt;br /&gt;But.&lt;br /&gt;I've recently been given (loaned) a few different smartphone handsets and asked to write some software and some websites to run on them. It took me a while to get past the fact that as a miniature computer, they couldn't compete with my notebook and as a 'phone they're just excessive. But slowly, I'm coming to realise that it's not the device that has upset me so much over the years - it's how it's used.&lt;br /&gt;&lt;br /&gt;The earlier example is something you see a lot in most towns and cities across the UK:&lt;br /&gt;two people sat opposite each other, each on their phone, chatting or texting with someone else. Why not just invite the other person to the cafe and sit and chat with them instead? I genuinely believe that these devices are affecting social interaction between people - and not just thanks to the slang and grammar that is creeping into everyday language, but even how people relate to each other when they are face-to-face. And it's not for the better!&lt;br /&gt;&lt;br /&gt;That said, I'm slowly warming to these smartphone devices.&lt;br /&gt;Not because I can access my emails and Twitter while on-the-go (I can, but still prefer reading things full screen on my notebook). Nor because I can view any website while out-and-about; because when I'm out-and-about, I want to interact with the real world, not a series of virtual images and links! In fact, for gathering and reading information, I still think something with a puny 3" screen is a pretty poor device for doing so, however impressive the technology behind making it happen is. And to see people sitting and walking around, oblivious to their surroundings, concentrating on what's happening to their "virtual alter ego" makes me want to weep. Put your phone away - enjoy the sunshine! Listen to the sounds of the city, enjoy the company of other people!&lt;br /&gt;&lt;br /&gt;However, as a device for taking a photo and posting a quick note - "I'm here, I've seen this, come see for yourself" - well, I'm getting to actually quite like my (borrowed) smartphone(s). Jabbing a button to take a photo or a short video, then sending to the 'net takes a minute or two at most, but allows me to share what I'm doing with the world!&lt;br /&gt;&lt;br /&gt;But now I've fallen out of love with my smartphone - because there's just &lt;i&gt;sooo much&lt;/i&gt; going on and &lt;i&gt;sooo many people&lt;/i&gt; "broadcasting to the world" that it's just becoming a noise, and I don't want to be just another voice adding to the massive pile of crap that makes up most of the "social networking" side of the internet.&lt;br /&gt;&lt;br /&gt;In fact, I don't really care about sharing my stuff with the world.&lt;br /&gt;I don't care if the world is interested.&lt;br /&gt;What I do want to do is publish stuff that I find interesting and share it with my friends and family who may also find it interesting. That's it really.&lt;br /&gt;&lt;br /&gt;And that's what sites like Twitter and Facebook allow me to do (I'm a pretty new user of both). I just didn't realise it; maybe because most of the posts I read are from people wanting to broadcast to as wide an audience as possible, trying to sound impressive or interesting to as many people as they can, trying to attract as many friends/followers as possible. But &amp;nbsp;my dislike of the Twitter and Facebook sites didn't stem from the technology - it came from how people were using them. But all it takes is a change of attitude, and suddenly my smartphone and a previously hated site becomes quite a useful tool.&lt;br /&gt;&lt;br /&gt;I'd never consider phoning my best mate up to say "mmmm, I'm eating some toast, nom nom".&lt;br /&gt;I wouldn't send even my closest family member an email to ask "tea or coffee? I can't decide".&lt;br /&gt;I don't understand why people post rubbish like that on Twitter.&lt;br /&gt;But that doesn't mean that I have to either. So I won't.&lt;br /&gt;&lt;br /&gt;But posting text and images to the 'net (via Twitter for example) for my circle of dozen or so close friends who might be interested in what I'm doing and when is infinitely easier with one of these little smartphone jobbies. And as a result, they might come along to where I'm at and join in with what I'm doing. And when they do, the phone has done it's job so we'll make sure they are turned off and put away - there's a world going on outside that 3" screen!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6349822838970028557?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6349822838970028557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/why-i-hate-smartphones-and-what-makes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6349822838970028557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6349822838970028557'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/why-i-hate-smartphones-and-what-makes.html' title='Why I hate smartphones - and what makes them great'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6085566071598046387</id><published>2012-01-15T11:39:00.001Z</published><updated>2012-01-17T18:31:12.776Z</updated><title type='text'>Samsung Galaxy ACE S5830 review</title><content type='html'>Although initially very impressed with the &lt;a href="http://nerdclub-uk.blogspot.com/2012/01/htc-wildfire-review.html"&gt;HTC Wildfire S&lt;/a&gt;, after trying the &lt;a href="http://nerdclub-uk.blogspot.com/2012/01/samsung-galaxy-s2-ii-review.html"&gt;Samsung Galaxy S2 II&lt;/a&gt;, there's no comparison between the phones. I'd love my own Galaxy S2 (the phones I have are on trial while I perform some RnD for software development) but I can't justify the price to myself.&lt;br /&gt;&lt;br /&gt;Somewhere between the two - and available from &lt;a href="http://www.mobiles.co.uk/refer.aspx?refer=cust71010878" target="_blank"&gt;www.mobiles.co.uk&lt;/a&gt; for about £6/month (after cashback) with unlimited data - is the Samsung ACE S5830.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-IggBe3cJnXk/TxK4Wtp1NsI/AAAAAAAABOQ/Ye6DlBtCxks/s1600/Samsung-Galaxy-Ace-S5830-VS-HTC-Wildfire.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-IggBe3cJnXk/TxK4Wtp1NsI/AAAAAAAABOQ/Ye6DlBtCxks/s320/Samsung-Galaxy-Ace-S5830-VS-HTC-Wildfire.jpg" width="176" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This is like the little brother to the S2. In most respects, when comparing the hardware against the WildfireS and the S2, it sits somewhere between the two. The screen/display is bigger than the HTC but smaller than the S2. This means the images are as clear (or clearer) than the HTC, but nowhere near as bright and vibrant &amp;nbsp;as the S2. It has a faster processor than the Wildfire (but not as fast the S2).&lt;br /&gt;The actual handset is quite slim - although it weighs about the same as the HTC, because of the larger unit size, it actually feels lighter (if that makes sense?).&amp;nbsp;All-in-all, this handset is a nice compromise between the lower (budget) end of the market and the all-singing-all-dancing- top-end (the Galaxy S2).&lt;br /&gt;&lt;br /&gt;In fact, we may be seeing a bit more of this unit, since a few Nerd Club members have already expressed an interest in taking up the &lt;a href="http://www.mobiles.co.uk/refer.aspx?refer=cust71010878" target="_blank"&gt;mobiles.co.uk&lt;/a&gt; offer for a free handset with 300 minutes, 300 texts and unlimited data every month for about £6 (after claiming cashback). Not a bad handset. And not a bad contact offer either!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6085566071598046387?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6085566071598046387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/samsung-galaxy-ace-s5830-review.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6085566071598046387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6085566071598046387'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/samsung-galaxy-ace-s5830-review.html' title='Samsung Galaxy ACE S5830 review'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-IggBe3cJnXk/TxK4Wtp1NsI/AAAAAAAABOQ/Ye6DlBtCxks/s72-c/Samsung-Galaxy-Ace-S5830-VS-HTC-Wildfire.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1624222531588856156</id><published>2012-01-15T11:23:00.002Z</published><updated>2012-01-15T11:23:34.988Z</updated><title type='text'>Samsung Galaxy S2 II review</title><content type='html'>I'm still pretty new to the whole smartphone market, having had a few different handsets in my possession for just a few days. I spent some time getting to know the &lt;a href="http://nerdclub-uk.blogspot.com/2012/01/htc-wildfire-review.html"&gt;HTC Wildfire S&lt;/a&gt; and was pretty impressed with it. But I've no real experience of owning any other type of smartphone, so haven't really had anything to compare it to.&lt;br /&gt;&lt;br /&gt;I've been told that the Samsung Galaxy S2 II is the dogs-danglies of mobile phones.&lt;br /&gt;The posters on bus shelters certainly look impressive but to the uninitiated (like me) it was just another phone handset. What could be so great about this, compared to other phones?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-IglWLcoi1Ec/TxK0C0hK3fI/AAAAAAAABOI/EqjNTvA2Hrc/s1600/Samsung-Galaxy-S-II3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-IglWLcoi1Ec/TxK0C0hK3fI/AAAAAAAABOI/EqjNTvA2Hrc/s320/Samsung-Galaxy-S-II3.jpg" width="229" /&gt;&lt;/a&gt;&lt;/div&gt;The first thing to note is that the colours are amazing. The image is bright and vibrant and really sharp. It's like the difference between an LCD television and an LED TV. The screen size is a massive 4.2" (480x800) and apparently uses AMOLED - whatever it is, the result is an image that stays the bright and sharp, even in direct sunlight.&lt;br /&gt;&lt;br /&gt;I've seen what's possible with a bit of hacking and some custom code with these handsets, but never really appreciated the quality of the hardware. It's slim and light, has excellent power saving features (after leaving it overnight with all peripherals enabled, it still had about 70% battery the next day). One nice touch is that the screen doesn't get smudged up with fingermarks (actually it does, but these are only visible when you turn the phone off, not when you're using it). The photos are a massive 8mp and uploaded automatically to my Google account - the clarity of the photos is pretty good though I can't help but think that 8mp is a bit much for photos to share over the 'net. The images are good, but not "professional camera" quality. And unless you're going to print the images (in which case, use a camera not a phone!) there's not much difference between sharing an 8mp and a 4mp image - except of course the massive file size. In fact, when I downloaded the photos from my Google account onto my laptop, I found that resizing by 50% (and even by 25%) resulted in the same great image still at a resolution that was bigger than a lot of computer screen sizes....&lt;br /&gt;&lt;br /&gt;This is just a personal gripe (although if I was paying for the data connection rather than using my wi-fi connection it might be a different issue). Everything else about the Samsung Galaxy S2 II puts it in a league of it's own. An amazing (albeit expensive) bit of kit. I'd love to be able to keep this one!&amp;nbsp;Suddenly the Samsung Galaxy S2 makes the &lt;a href="http://nerdclub-uk.blogspot.com/2012/01/htc-wildfire-review.html"&gt;HTC Wildfire S&lt;/a&gt; look like a "budget" smartphone.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1624222531588856156?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1624222531588856156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/samsung-galaxy-s2-ii-review.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1624222531588856156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1624222531588856156'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/samsung-galaxy-s2-ii-review.html' title='Samsung Galaxy S2 II review'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-IglWLcoi1Ec/TxK0C0hK3fI/AAAAAAAABOI/EqjNTvA2Hrc/s72-c/Samsung-Galaxy-S-II3.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4251090874854540315</id><published>2012-01-15T11:05:00.001Z</published><updated>2012-01-15T11:05:35.587Z</updated><title type='text'>HTC Wildfire review</title><content type='html'>It's been nearly two weeks since the last post of 2011 and there's a reason for that - for the last few weeks, "real life" has just sort of got in the way. A few of us took a trip to an Irish Celidh (pronounced kay-lee) and sort-of skip-hopped-and danced the New Year in. On returning to Nerd Towers, we eagerly took all our new Xmas gadgets and gizmos round to the Nerd Cupboard to get to work on some new projects (and further advance - I'm not going to say finish - some old ones).&lt;br /&gt;That's when it started to go wrong.&lt;br /&gt;&lt;br /&gt;Real life (i.e. work) kicked in and suddenly all the spare nerding time was taken up with other things.&lt;br /&gt;In fact, it's not all that bad; work involves investigating a number of different mobile handsets and writing some software to run on all of them. Some people do this as a hobby. If I were interested in mobile phones, I probably would too (some of the other club members are more enthusiastic about the phones than I and want to help out even though they're not getting paid for it!). But I'm getting paid to play about with some phones and write mobile websites and develop some iPhone and Android apps.&lt;br /&gt;&lt;br /&gt;It's a pretty all-consuming task, so some of our earlier projects may have to wait for a week or two until this work is delivered.&lt;br /&gt;&lt;br /&gt;Anyway, this leads onto the review of the phones.&lt;br /&gt;The first phone I tried was a HTC Wildfire S&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-MvCYGquzVyM/TxKwoaD3a0I/AAAAAAAABOA/TbBojF9Oawk/s1600/DSCF2105-420-90.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-MvCYGquzVyM/TxKwoaD3a0I/AAAAAAAABOA/TbBojF9Oawk/s320/DSCF2105-420-90.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This was my first go with a smartphone. I've seen iPhones around and almost everyone at &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt; has some kind of smartphone but I've never really seen the appeal in them myself. Anyway, putting that initial scepticism aside, I tried to evaluate this phone fairly.&lt;br /&gt;&lt;br /&gt;Given it's the first phone I've tried, I was pretty impressed - but then I had nothing to compare it to. It's a nice, smart design. It feels pretty solid and the touch-sensitive screen responds well. I don't know if it's my fat greasy fingers, but the screen does get "smeary" very quickly though.&amp;nbsp;Compared to my regular mobile phone, it is pretty heavy. But then again, this is a miniature computer, not an antique from the 90s.&lt;br /&gt;&lt;br /&gt;I found that I manually have to put the phone into airplane mode to disable the wi-fi and bluetooth when I'm not using them, else the battery is flat if left overnight with everything enabled. I'm sure regular smartphone users know all the battery-saving tips already but I'm used to a phone that holds it's charge for up to 5 days at a time, not something that needs plugging in the next morning after using it!&lt;br /&gt;&lt;br /&gt;All in all, the HTC Wildfire is a neat, compact smartphone. Probably ideal as a first, starter phone. The 5mp camera takes pretty decent photos and uploads them quickly and easily to my Google account. The 320x480 screen is big enough for most of the apps I tried and the display gives a bright, clear picture, while the black colour(s) are reassuringly dark (not greyed out like a cheap screen). But given I've nothing to compare it to, I don't really whether it's an amazing phone, or just a pretty good one!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4251090874854540315?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4251090874854540315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/htc-wildfire-review.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4251090874854540315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4251090874854540315'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2012/01/htc-wildfire-review.html' title='HTC Wildfire review'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-MvCYGquzVyM/TxKwoaD3a0I/AAAAAAAABOA/TbBojF9Oawk/s72-c/DSCF2105-420-90.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6368112512477302233</id><published>2011-12-30T13:55:00.000Z</published><updated>2011-12-30T13:55:43.875Z</updated><title type='text'>That's it for another year....</title><content type='html'>Plenty going on over the Xmas period but sadly not a lot of time to post about it, so look out for some updates in the New Year. Most excitingly, we've got a working version of an &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html"&gt;electronic Blood Bowl board game&lt;/a&gt; (well, one that you can download player data onto and it recognises which player you're moving, and can even perform some basic game mechanics).&lt;br /&gt;&lt;br /&gt;We've also had quite a bit of interest in the &lt;a href="http://www.microband.co.uk/"&gt;microband&lt;/a&gt; miniature instruments so we're hoping to ramp up development on those in the new year too.&lt;br /&gt;&lt;br /&gt;But all in all, over Xmas, we've eaten too much, made too little and blogged even less.&lt;br /&gt;It's off to the other side of the country tomorrow for a New Year party so don't expect much for the next few days. In the meantime, have a great weekend, and a Happy New Year!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-micXOVq8d5U/Tv3C2Mzk31I/AAAAAAAABMY/0X9GbqE8JcI/s1600/2012.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-micXOVq8d5U/Tv3C2Mzk31I/AAAAAAAABMY/0X9GbqE8JcI/s320/2012.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6368112512477302233?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6368112512477302233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/thats-it-for-another-year.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6368112512477302233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6368112512477302233'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/thats-it-for-another-year.html' title='That&apos;s it for another year....'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-micXOVq8d5U/Tv3C2Mzk31I/AAAAAAAABMY/0X9GbqE8JcI/s72-c/2012.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6755601434642081075</id><published>2011-12-23T20:31:00.001Z</published><updated>2011-12-23T20:31:46.286Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><category scheme='http://www.blogger.com/atom/ns#' term='new website'/><title type='text'>Blood Bowl Digital</title><content type='html'>It's almost Xmas and time to down tools for a while and get all Christmas-y (despite what some people will tell you, tinsels and baubles still lead soldering irons and wire strippers in the Xmas stakes).&lt;br /&gt;But before we wind down for the holiday season, we've been busy working on a website for our Digital Blood Bowl game board. We've called it Blood Bowl Digital.&lt;br /&gt;&lt;br /&gt;A preview of the site can be found at &lt;a href="http://www.nerdclub.co.uk/bloodbowl"&gt;http://www.nerdclub.co.uk/bloodbowl&lt;/a&gt;&lt;br /&gt;You can create teams and build online rosters and assign attributes and skills to all your players.&lt;br /&gt;The idea behind this is to have a gateway between an online team/games manager and a way of getting player data into the game board.&lt;br /&gt;&lt;br /&gt;Hopefully - if we manage to keep on the "nice list" for the next few days - we'll have some spanky 20x4 character displays to actually demonstrate something come Boxing Day.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8LPq05RYLwg/TvTlGafJUpI/AAAAAAAABLo/kjEhIqBOH7U/s1600/bb_digital.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="170" src="http://3.bp.blogspot.com/-8LPq05RYLwg/TvTlGafJUpI/AAAAAAAABLo/kjEhIqBOH7U/s320/bb_digital.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6755601434642081075?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6755601434642081075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-digital.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6755601434642081075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6755601434642081075'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-digital.html' title='Blood Bowl Digital'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-8LPq05RYLwg/TvTlGafJUpI/AAAAAAAABLo/kjEhIqBOH7U/s72-c/bb_digital.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-9017115027691274265</id><published>2011-12-21T09:31:00.000Z</published><updated>2011-12-21T16:21:53.880Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='laser cutter'/><category scheme='http://www.blogger.com/atom/ns#' term='clocks'/><category scheme='http://www.blogger.com/atom/ns#' term='christmas'/><title type='text'>Christmas clocks</title><content type='html'>It's beginning to look a lot like Christmas...... everywhere you go. Ok, it's not. I don't know what it is this year - the doom and gloom&amp;nbsp;peddled on all the news channels, the recession, austerity measures or what - but it just doesn't &lt;i&gt;feel &lt;/i&gt;Christmassy.&lt;br /&gt;&lt;br /&gt;Maybe it's just because the weather is still quite mild and all the spring bulbs are popping up.&lt;br /&gt;But there's something particularly un-Christmassy this year. There are a few lights about and a few shops have made a half-hearted nod towards Xmas, but in the main - and talking to other people, I'm not the only one - we're still waiting to be hit full in the face with Christmas Cheer.&lt;br /&gt;&lt;br /&gt;Which is probably why I've left it so late to get making Xmas gifts this year. Normally, come December 1st, the first little door on the advent calendar gets opened and it's straight into maker-mode, planning and making for everyone. But for some reason, this year things have been left a little late.&lt;br /&gt;&lt;br /&gt;Back in November, I was helping &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/multi-lights-controller-for-toy-cars.html"&gt;Jason with his toy cars and lights controller&lt;/a&gt;. But since then, not much on the Xmas front. So last night I fired up the laser cutter and got designing some novelty clocks.&lt;br /&gt;Most of the time was spent on the designing and drawing rather than the actual manufacture (which meant sending to the cutter, waiting a while, then some basic assembly afterwards) but the end results are quite pleasing:&lt;br /&gt;&lt;br /&gt;[photo here]&lt;br /&gt;&lt;br /&gt;Here are the design files should anyone fancy having a go -&lt;br /&gt;Send the dxf to your laser cutter and carve out from your favourite coloured sheet of A4 acrylic (loaded in landscape).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-aqZebfvQp3g/TvIEDNLX4EI/AAAAAAAABLM/uhimahJc45k/s1600/numbers_allinone.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/-aqZebfvQp3g/TvIEDNLX4EI/AAAAAAAABLM/uhimahJc45k/s320/numbers_allinone.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Links to files:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nerdclub.co.uk/files/numbers_clock1.dxf"&gt;http://www.nerdclub.co.uk/files/numbers_clock1.dxf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nerdclub.co.uk/files/numbers_clock1b.dxf"&gt;http://www.nerdclub.co.uk/files/numbers_clock1b.dxf&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;To finish the clock off (and mostly, to hide the clock movement from behind) I cut out some shapes from a second colour and fitted them inside some of the cut-outs from the main clock face. By turning the clock over they could simply be held in place with some tape. I used double-sided tape, then stuck a piece of card over the whole arrangement, to keep the shapes from falling out once the clock was on the wall.&lt;br /&gt;&lt;br /&gt;[photo of reverse]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here's a slightly different clock, requiring a little more assembly.&lt;br /&gt;At first I wasn't too sure about the design but the more I look at it, the more it grows on me. At first I thought about making the smaller coloured numbers as inserts (so they mounted flush with the surrounding shapes) but now I think I prefer them as relief shapes, sitting on top of the basic number shape.&lt;br /&gt;&lt;br /&gt;[photo of second clock]&lt;br /&gt;&lt;br /&gt;I think it's the clear acrylic ring that makes this clock work so well. It means positioning the numbers is relatively easy (it would have been a nightmare trying to stick just the very edges of a few numbers to the centre disc to hold it all together) but when the clock is on the wall, the final effect is quite striking!&lt;br /&gt;&lt;br /&gt;Here are the design files if you fancy making one of these yourself:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-p65Y3kAyHrQ/TvICkxqf6kI/AAAAAAAABK0/BmOdzgzrxNc/s1600/clear_ring.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-p65Y3kAyHrQ/TvICkxqf6kI/AAAAAAAABK0/BmOdzgzrxNc/s1600/clear_ring.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;this is the clear acrylic ring that some of the numbers mount onto&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_AUu3GWRRrc/TvICl3yLf8I/AAAAAAAABK8/H3yRoJhNkSE/s1600/clock_numbers.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://2.bp.blogspot.com/-_AUu3GWRRrc/TvICl3yLf8I/AAAAAAAABK8/H3yRoJhNkSE/s320/clock_numbers.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;with some clever layout, you can get all the numbers onto a single A4 sheet&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lPLCdypNhu0/TvICmo1IgmI/AAAAAAAABLA/I6DhR1van_s/s1600/inset_numbers.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/-lPLCdypNhu0/TvICmo1IgmI/AAAAAAAABLA/I6DhR1van_s/s320/inset_numbers.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;optional extra - inset characters for the numbers 2,4, 6, 8, 10 and 12&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Links to files:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nerdclub.co.uk/files/numbers_clock2_circle.dxf"&gt;http://www.nerdclub.co.uk/files/numbers_clock2_circle.dxf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nerdclub.co.uk/files/numbers_clock2_clear_ring.dxf"&gt;http://www.nerdclub.co.uk/files/numbers_clock2_clear_ring.dxf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nerdclub.co.uk/files/numbers_clock2_insets.dxf"&gt;http://www.nerdclub.co.uk/files/numbers_clock2_insets.dxf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nerdclub.co.uk/files/numbers_clock2_numbers.dxf"&gt;http://www.nerdclub.co.uk/files/numbers_clock2_numbers.dxf&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Lastly, here's a simpler version of the second clock that requires much less assembly, designed smaller to fit on a single A4 sheet of acrylic (or wood or whatever you're making your clocks out of!)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VxAxBjln_us/TvIEram0XPI/AAAAAAAABLU/Raxzmj3Qda8/s1600/clock_allinone.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://4.bp.blogspot.com/-VxAxBjln_us/TvIEram0XPI/AAAAAAAABLU/Raxzmj3Qda8/s320/clock_allinone.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;this clock has all the numbers connected to make a single solid piece&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Y8BfqLvQ73o/TvIEsG6n4ZI/AAAAAAAABLc/MQ5pVjjHMVM/s1600/clock_allinone_insets.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://1.bp.blogspot.com/-Y8BfqLvQ73o/TvIEsG6n4ZI/AAAAAAAABLc/MQ5pVjjHMVM/s320/clock_allinone_insets.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;using the previous clock as a base, this clock can also have raised numbers placed on top of the base design, or you can cut the inset figures out and use different coloured acrylic (wood, whatever) to fill the gaps&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;Links to files:&lt;br /&gt;&lt;a href="http://www.nerdclub.co.uk/files/clock1_single_piece.dxf"&gt;http://www.nerdclub.co.uk/files/clock1_single_piece.dxf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nerdclub.co.uk/files/clock1_with_insets.dxf"&gt;http://www.nerdclub.co.uk/files/clock1_with_insets.dxf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nerdclub.co.uk/files/clock1_inset_numbers.dxf"&gt;http://www.nerdclub.co.uk/files/clock1_inset_numbers.dxf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-9017115027691274265?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/9017115027691274265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/christmas-clocks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/9017115027691274265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/9017115027691274265'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/christmas-clocks.html' title='Christmas clocks'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-aqZebfvQp3g/TvIEDNLX4EI/AAAAAAAABLM/uhimahJc45k/s72-c/numbers_allinone.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7315427666509862229</id><published>2011-12-18T13:48:00.000Z</published><updated>2011-12-21T16:21:31.039Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Stripping paint from Blood Bowl miniatures</title><content type='html'>Yesterday morning the postie delivered a whole team of (second-hand eBay bargain) Orcs to Nerd Towers and - as is normal with most things when something new arrives - we immediately dropped everything and spent some time getting all excited about the newest thing to be working on!&lt;br /&gt;&lt;br /&gt;They're the "older" - 2nd or 3rd edition - style Orc team called The Orcland Raiders, not the &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-miniatures.html"&gt;American Football style team&lt;/a&gt; we've mentioned in a &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-miniatures.html"&gt;previous post&lt;/a&gt;, but they were (relatively) cheap with the added bonus of already being painted.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-T6Bmv7A6iAk/Tu3s7sOm0lI/AAAAAAAABKE/Pr_ctEttkNw/s1600/m1252083_99110999003_BBOrlandRaiderTeamMain_445x319.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="229" src="http://1.bp.blogspot.com/-T6Bmv7A6iAk/Tu3s7sOm0lI/AAAAAAAABKE/Pr_ctEttkNw/s320/m1252083_99110999003_BBOrlandRaiderTeamMain_445x319.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;An orc team from Games Workshop. We're not expecting ours to be painted to anywhere near this standard!&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&amp;nbsp;None of us here have painted (or even shown any interest in) miniatures-based board games for nearly twenty years or more, so having a pre-painted team seemed like a good idea. Until they arrived....&lt;br /&gt;&lt;br /&gt;The paint job on each miniature is ok-ish.&lt;br /&gt;The basic colours are in the right places, and sometimes even the details are quite nicely done. But the colours seemed a bit "muddy" and not all the finer details were picked out in quite the way we'd have liked, so we've all decided to buy each other a set of Citadel paints (or similar acrylic-based colours) for Xmas and have a "getting-re-aquainted-with-painting-miniatures-again" session in the New Year.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-fwraG7sPYgw/Tu4Y7PyATbI/AAAAAAAABKM/yBvQo9V_f4M/s1600/Dscf6539.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-fwraG7sPYgw/Tu4Y7PyATbI/AAAAAAAABKM/yBvQo9V_f4M/s320/Dscf6539.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Which means stripping all the miniatures we have and starting again.&lt;br /&gt;We tried the usual tricks of Dettol, Fairy power spray and a whole heap of other detergents (there's no excuse in not keeping the place clean and tidy any more) but each was quite fiddly and required lots of soaking, scrubbing, re-soaking and so on. So we put on some rubber gloves and dropped the miniatures into some industrial strength paint and varnish remover. This is a white jelly-like substance, but the miniatures are ready for scrubbing after just 30 minutes soak.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5l7FBJ8soX0/Tu4ZBe6mzhI/AAAAAAAABKU/ZR0fua46-A0/s1600/Dscf6547.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-5l7FBJ8soX0/Tu4ZBe6mzhI/AAAAAAAABKU/ZR0fua46-A0/s320/Dscf6547.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The stripper causes the acrylic paint (and top coat varnish) to become a slimy coating over the entire model:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-AJILiSGFhus/Tu4ZNrgqP0I/AAAAAAAABKc/gI8b64jU-hI/s1600/Dscf6545.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-AJILiSGFhus/Tu4ZNrgqP0I/AAAAAAAABKc/gI8b64jU-hI/s320/Dscf6545.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;A quick scrub with a toothbrush and most of the paint comes off in just a minute or two under a running tap. Not all of the paint came off in one go, with some of the paint proving quite stubborn in the deepest of recesses. However, this does help show up some of the finer details of the model, which may have got lost under the previous paint job.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BKcLXSpOBBU/Tu4ZTgLuyII/AAAAAAAABKk/xnvzcZhy6u8/s1600/Dscf6546.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-BKcLXSpOBBU/Tu4ZTgLuyII/AAAAAAAABKk/xnvzcZhy6u8/s320/Dscf6546.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;After each model is stripped, we leave to soak in a bottle of clean water, to remove any nasty chemical residue left by the paint stripper, then dab dry with a towel and leave to dry out for a few hours in front of the fire.&lt;br /&gt;&lt;br /&gt;We're going to take reference photos of all our stripped models, so that we can see where the finer details are after we've splodged paint all over them - it's very easy to miss the little bits and bobs, but it's these tiny examples of attention to detail that make the miniatures so impressive in the first instance - it'd be a shame not to show off the exquisite modelling to its best, which means painting and highlighting these parts that could otherwise go un-noticed.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-SQf_BSeDf50/Tu4aVLhP0AI/AAAAAAAABKs/aYBS0Riyais/s1600/orc_scrubbed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-SQf_BSeDf50/Tu4aVLhP0AI/AAAAAAAABKs/aYBS0Riyais/s320/orc_scrubbed.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7315427666509862229?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7315427666509862229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/stripping-paint-from-blood-bowl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7315427666509862229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7315427666509862229'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/stripping-paint-from-blood-bowl.html' title='Stripping paint from Blood Bowl miniatures'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-T6Bmv7A6iAk/Tu3s7sOm0lI/AAAAAAAABKE/Pr_ctEttkNw/s72-c/m1252083_99110999003_BBOrlandRaiderTeamMain_445x319.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6441903117260786971</id><published>2011-12-14T22:27:00.001Z</published><updated>2011-12-16T09:06:41.797Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='hitatchi 44780'/><category scheme='http://www.blogger.com/atom/ns#' term='AT45DB041D'/><category scheme='http://www.blogger.com/atom/ns#' term='character lcd'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Serial character LCD driver with Flash eeprom</title><content type='html'>No sooner had we got our serial character LCD display working than we were moving on to the next stage of the project - reading text from an &lt;a href="http://uk.farnell.com/atmel/at45db041d-su/dataflash-serial-20mhz-4mb-45db041/dp/1362661"&gt;Atmel AT45DB041D Flash eeprom&lt;/a&gt; chip to decide what to display on the screen.&lt;br /&gt;&lt;br /&gt;We're already familiar with these chips, from our &lt;a href="http://nerdclub-uk.blogspot.com/2011/05/servo-board-pcb-layout-update.html"&gt;multiple servo controller board&lt;/a&gt;&amp;nbsp;from back in May.&lt;br /&gt;The idea is to store strings of text in these chips, then simply set a pointer (to tell the PIC where to start reading from) and get the microcontroller to read the text back and display it on the LCD.&lt;br /&gt;&lt;br /&gt;We did look at I2C and other serial eeprom alternatives (at £1.20 each these Atmel chips are quite expensive for eeprom and at 4Mbit, are much bigger than we're ever going to need!) but most other (non-Flash) chips run at 100kz, or 400khz at best (yes, that's kilohertz, not Mhz). This will obviously make drawing text on the LCD run really slowly which is something we're keen to avoid.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ywFf0D6cXG4/Tukis3-LoVI/AAAAAAAABJo/EKc2XoRa3a4/s1600/atmel.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="152" src="http://1.bp.blogspot.com/-ywFf0D6cXG4/Tukis3-LoVI/AAAAAAAABJo/EKc2XoRa3a4/s320/atmel.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;These little Atmels can work up to 20Mhz. Which by happy&amp;nbsp;coincidence&amp;nbsp;is how fast the master chip will be running anyway, so hopefully we won't lose too much time reading and displaying text to the screen.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BbK0wSCoLvE/TupzNVrqmEI/AAAAAAAABJ4/fqn6C6ZxLo4/s1600/master_controller1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://4.bp.blogspot.com/-BbK0wSCoLvE/TupzNVrqmEI/AAAAAAAABJ4/fqn6C6ZxLo4/s320/master_controller1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;We wired our Flash eeprom chip up to PORTD on an 18F4550 (using RD.0-RD.3) and hacked some code together to read and write data to/from the chip. Amazingly, it worked first time!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime; font-family: courier,courier new; font-size: 8pt;"&gt;&lt;br /&gt;AllDigital&lt;br /&gt;Config PORTC = Output&lt;br /&gt;Config PORTD = Output&lt;br /&gt;Config PORTD.2 = Input&lt;br /&gt;&lt;br /&gt;configuration:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Symbol enablepin = PORTC.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Symbol clockpin = PORTC.1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Symbol datapin = PORTC.2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;declarations:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim tmp As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim i As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim lcdi As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim lcdbyte As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim lcdbytetosend As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim rs As Bit&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim flag As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim mask As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim pageaddr As Word&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim byteaddr As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim byteswritten As Word&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim bytesread As Word&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim streamwrite As Bit&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim streamread As Bit&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;init:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 200&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_CS_REG = PORTD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_CS_BIT = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_SCK_REG = PORTD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_SCK_BIT = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_SDI_REG = PORTD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_SDI_BIT = 2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_SDO_REG = PORTD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Define SPI_SDO_BIT = 3&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPIPrepare&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub initialiselcd&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub initialiseeeprom&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageaddr = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byteaddr = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub readanddisplaydata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;loop:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageaddr = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub readanddisplaydata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 4000&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x01  'clear screen&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byteaddr = byteaddr + 16&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If byteaddr &amp;gt; 60 Then byteaddr = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 1000&lt;br /&gt;&lt;br /&gt;Goto loop&lt;br /&gt;End                                               &lt;br /&gt;&lt;br /&gt;writelcdnibble:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low enablepin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low clockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If rs = 1 Then High datapin Else Low datapin&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub toggleclockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'shift in 4 bits&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mask = 8&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For lcdi = 1 To 4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flag = lcdbyte And mask&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If flag = 0 Then Low datapin Else High datapin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub toggleclockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mask = ShiftRight(mask, 1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next lcdi&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'now strobe the clock one more time because ST+SC are tied&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub toggleclockpin&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'toggle the enable pin to "flush" the data into the lcd&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low datapin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;High enablepin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low enablepin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;toggleclockpin:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'toggle the clock pin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;High clockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low clockpin&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;writelcddata:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rs = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub senddatatolcd&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;writelcdcommand:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rs = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub senddatatolcd&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;senddatatolcd:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbyte = ShiftRight(lcdbytetosend, 4)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdnibble&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbyte = lcdbytetosend And 15&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdnibble&lt;br /&gt;Return                                            &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;initialiselcd:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For i = 1 To 3&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x20&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next i&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x28  '4 bits, 2 lines, 5x7 font&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x0c  'display on, no cursors&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x06  'entry mode auto-increment&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x01  'clear screen&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'send a space character to the display to test&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 32&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;initialiseeeprom:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub set256pagesize&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub chiperase&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageaddr = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byteaddr = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 100&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub startstreamwrite&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For i = 0 To 63&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp = LookUp("Blood Bowl      Griff Oberwald  Varag Ghoulchew The Mighty Zug  "), i&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend tmp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next i&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub endstreamwrite&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;startstreamread:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;streamread = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOn&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0xe8  'stream read (legacy mode)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend pageaddr.HB&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend pageaddr.LB&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend byteaddr&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x00  'four don't care bytes&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x00&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x00&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x00&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bytesread = 0&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;endstreamread:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOff&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;streamread = 0&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;startstreamwrite:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOff&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOn&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x82  '0x82  'write THROUGH buffer1 command&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend pageaddr.HB  '5 don't care bits + 11 address bits&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend pageaddr.LB  'is the same as sending page address as hb/lb&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend byteaddr  'last eight bits are buffer start byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byteswritten = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;streamwrite = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 5&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;endstreamwrite:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOff  'this causes the flash buffer to automatically get written to memory&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 5&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;streamwrite = 0&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;set256pagesize:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOn&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x3d&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x2a&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x80&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0xa6&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOff&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;chiperase:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOn&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0xc7&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x94&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x80&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPISend 0x9a&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPICSOff&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 100&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;readanddisplaydata:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x01  'clear screen&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub startstreamread&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For i = 1 To 16&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPIReceive lcdbytetosend&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'for testing&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp = byteaddr + i&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Write tmp, lcdbytetosend&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next i&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub endstreamread&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Note that in the initialiseeeprom routine we actually blank the Flash chip and write some data to it. In the final version of this code, we'll transfer data to Flash eeprom via a USB connection, but read it back just the same. Although this is just a basic test, it proves the idea of us storing character/player information in eeprom and calling it up and displaying it on a character-based LCD. All with just a few extra wires from the master microcontroller.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;[photo or video goes here]&lt;br /&gt;&lt;br /&gt;Note that in this example we're using a rather tiny 2x16 character LCD (because we had some hanging around). We've got our fingers crossed that Santa will bring some larger 4x20 displays, like the one below which uses the same Hitachi 44780 controller chip, so the code should work for both.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-sxSMsIynfgA/Tum-93j8CJI/AAAAAAAABJw/bdvnsryiRfw/s1600/20x4lcd.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-sxSMsIynfgA/Tum-93j8CJI/AAAAAAAABJw/bdvnsryiRfw/s320/20x4lcd.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;With four lines of twenty characters, we can split player names over two lines (to allow really long forenames/surnames) and write player stats (MA, ST, AG, AV) on a single line - each stat (0-9) would take up four characters (XX-digit-space) so the output could look something like&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: #000044; color: #8888ff; font-family: courier, courier new; font-size: 10pt; padding: 10px; width: 200px;"&gt;&amp;nbsp;GRIFF&lt;br /&gt;&amp;nbsp;OBERWALD&lt;br /&gt;&lt;br /&gt;&amp;nbsp;MA4 ST5 AG8 AV9&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Or, if we can get the player's name on a single line, something like:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: #000044; color: #8888ff; font-family: courier, courier new; font-size: 10pt; padding: 10px; width: 200px;"&gt;&amp;nbsp;GRIFF OBERWALD&lt;br /&gt;&lt;br /&gt;&amp;nbsp;MA&amp;nbsp;&amp;nbsp;&amp;nbsp;ST&amp;nbsp;&amp;nbsp;&amp;nbsp;AG&amp;nbsp;&amp;nbsp;&amp;nbsp;AV&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="362" src="http://www.youtube.com/embed/UB0hZY0gD-o" width="490"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6441903117260786971?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6441903117260786971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/serial-character-lcd-driver-with-flash.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6441903117260786971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6441903117260786971'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/serial-character-lcd-driver-with-flash.html' title='Serial character LCD driver with Flash eeprom'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ywFf0D6cXG4/Tukis3-LoVI/AAAAAAAABJo/EKc2XoRa3a4/s72-c/atmel.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1798394430692219943</id><published>2011-12-14T21:59:00.003Z</published><updated>2011-12-15T09:26:05.081Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='hitatchi 44780'/><category scheme='http://www.blogger.com/atom/ns#' term='oshonsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='serial'/><category scheme='http://www.blogger.com/atom/ns#' term='character lcd'/><category scheme='http://www.blogger.com/atom/ns#' term='shift register'/><title type='text'>Serial-to-parallel LCD display driver</title><content type='html'>Amazingly we managed to get a working serial character LCD in under an hour today!&lt;br /&gt;Just followed the schematics at&amp;nbsp;&lt;a href="http://embedded-lab.com/blog/?p=30"&gt;http://embedded-lab.com/blog/?p=30&lt;/a&gt;&amp;nbsp;and converted the code example they gave into&amp;nbsp;&lt;a href="http://www.oshonsoft.com/"&gt;Oshonsoft Basic&lt;/a&gt;. Fired it up and there we go - a blinking "Hello World!" message using just three pins on the microcontroller.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-e46UMfOR-qo/TukaTQzwUZI/AAAAAAAABJg/sBFkYncaP3g/s1600/serial_lcd_TestCircuit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="205" src="http://1.bp.blogspot.com/-e46UMfOR-qo/TukaTQzwUZI/AAAAAAAABJg/sBFkYncaP3g/s320/serial_lcd_TestCircuit.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The only real issue we had was that the contrast isn't brilliant; instead of a 10K linear pot, we've gone and used the first potentiometer that was to hand (a 1M logarithmic pot!)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;If,&amp;nbsp;like us here at Nerd Towers,&amp;nbsp;&amp;nbsp;you're an &lt;a href="http://www.oshonsoft.com/"&gt;Oshonsoft&lt;/a&gt; fan, here's the code listing to get everything working:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime; font-family: courier, courier new; font-size: 8pt; padding: 10px;"&gt;AllDigital&lt;br /&gt;Config PORTC = Output&lt;br /&gt;&lt;br /&gt;configuration:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Symbol enablepin = PORTC.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Symbol clockpin = PORTC.1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Symbol datapin = PORTC.2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;declarations:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim i As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim lcdi As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim lcdbyte As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim lcdbytetosend As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim rs As Bit&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim flag As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim mask As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;init:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub initialiselcd&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;loop:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 32&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "H"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "e"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "l"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "l"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "o"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 32&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "W"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "o"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "r"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "l"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "d"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = "!"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcddata&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 4000&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x01  'clear screen&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 2000&lt;br /&gt;&lt;br /&gt;Goto loop&lt;br /&gt;End&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;writelcdnibble:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low enablepin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low clockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If rs = 1 Then High datapin Else Low datapin&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub toggleclockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'shift in 4 bits&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mask = 8&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For lcdi = 1 To 4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flag = lcdbyte And mask&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If flag = 0 Then Low datapin Else High datapin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub toggleclockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mask = ShiftRight(mask, 1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next lcdi&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'now strobe the clock one more time because ST+SC are tied&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub toggleclockpin&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'toggle the enable pin to "flush" the data into the lcd&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low datapin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;High enablepin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low enablepin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;toggleclockpin:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'toggle the clock pin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;High clockpin&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low clockpin&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;writelcddata:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rs = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub senddata&lt;br /&gt;Return                                            &lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;writelcdcommand:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rs = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub senddata&lt;br /&gt;Return                                          &lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;senddata:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbyte = ShiftRight(lcdbytetosend, 4)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdnibble&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbyte = lcdbytetosend And 15&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdnibble&lt;br /&gt;Return&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;initialiselcd:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For i = 1 To 3&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x20&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next i&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x28  '4 bits, 2 lines, 5x7 font&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x0c  'display on, no cursors&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x06  'entry mode auto-increment&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lcdbytetosend = 0x01  'clear screen&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub writelcdcommand&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Return                                            &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1798394430692219943?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1798394430692219943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/serial-to-parallel-lcd-display-driver.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1798394430692219943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1798394430692219943'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/serial-to-parallel-lcd-display-driver.html' title='Serial-to-parallel LCD display driver'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-e46UMfOR-qo/TukaTQzwUZI/AAAAAAAABJg/sBFkYncaP3g/s72-c/serial_lcd_TestCircuit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7298451718016422247</id><published>2011-12-14T09:58:00.000Z</published><updated>2011-12-14T09:58:51.310Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='berlin'/><title type='text'>Back from Berlin</title><content type='html'>We've not really spoken much about our few days away in Berlin. Neither online, nor between ourselves. Which is a shame because we were really excited about going there and visiting a few of the different hackspaces. The problem was that the Kreuzberg region of Berlin where we were staying was pretty rough. And the so-called "hostel" we'd be invited to was little more than a doss-house squat.&lt;br /&gt;&lt;br /&gt;After just a few days of living in squalor we changed our flights and came home. We never got to see any of the different 'spaces we'd planned on visiting scattered around the city (we'd arranged to visit the &lt;a href="http://betahaus.de/"&gt;betahaus&lt;/a&gt; the morning after we'd arrived, which is also in Kreuzberg but got lost trying to find it!)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ttBeGHCf98g/TuhxHiOeyjI/AAAAAAAABJE/Sfgda7Y9lWM/s1600/Image4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-ttBeGHCf98g/TuhxHiOeyjI/AAAAAAAABJE/Sfgda7Y9lWM/s320/Image4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;Graffitti is everywhere in Berlin - and especially so in Kruezberg. There are very few pictures or pieces of artwork (as shown in this photo) mostly it's mindless scrawlings, tags drawn in marker pen, and political slogans written in English.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-xkzjlC7I1Mk/TuhxhGjW6hI/AAAAAAAABJM/kgQ5lhHRv-E/s1600/Image3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-xkzjlC7I1Mk/TuhxhGjW6hI/AAAAAAAABJM/kgQ5lhHRv-E/s320/Image3.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Unjpj17O3_Y/TuhxkbuoOMI/AAAAAAAABJU/d9W8tjb6_3w/s1600/Image1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-Unjpj17O3_Y/TuhxkbuoOMI/AAAAAAAABJU/d9W8tjb6_3w/s320/Image1.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;There's a difference between "post-punk-industrial-style" and just filthy squalor. Coupled with a three-day "festival" during which thumping drum-n-bass played from midnight 'til around 10am (meaning no-one slept for the duration of the trip) we'd had enough after just a few days! Needless to say, it'll be some time before we endure another EasyJet flight to Germany's capital city!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7298451718016422247?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7298451718016422247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/back-from-berlin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7298451718016422247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7298451718016422247'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/back-from-berlin.html' title='Back from Berlin'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ttBeGHCf98g/TuhxHiOeyjI/AAAAAAAABJE/Sfgda7Y9lWM/s72-c/Image4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-771404293146227107</id><published>2011-12-14T09:41:00.000Z</published><updated>2011-12-14T09:42:27.702Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='hitatchi 44780'/><category scheme='http://www.blogger.com/atom/ns#' term='character lcd'/><category scheme='http://www.blogger.com/atom/ns#' term='shift register'/><title type='text'>Serial-to-parallel character LCD communication</title><content type='html'>We're getting close to hooking up all the component parts and testing our Blood Bowl game board. The master chip uses UART/serial to talk to the slave, so we've no easy means of talking to the master chip (in a lot of our 18F-based development we usually hook the chip up to a PC using USB to read data directly from the registers - even if USB won't be used in the final design - but this won't be possible in this case, since we can't run UART and USB together)&lt;br /&gt;&lt;br /&gt;Since our game board will include two LCD character displays, we figured we could hook those up and use them to write out debug information during testing. In an attempt to keep as many pins free on our master chip, we're looking at converting an HD44780 parallel display into a serial LCD as in this article:&lt;br /&gt;&lt;a href="http://embedded-lab.com/blog/?p=30"&gt;http://embedded-lab.com/blog/?p=30&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-tk4Ov1nasuw/TuhtDSzFyOI/AAAAAAAABI8/suF3Yp3gaeo/s1600/3WireLCD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-tk4Ov1nasuw/TuhtDSzFyOI/AAAAAAAABI8/suF3Yp3gaeo/s320/3WireLCD.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So before we go plugging everything together and spending hours wondering why things aren't quite working properly, we're going to make a separate project which concentrates on just displaying the information we want on a 3-wire serial LCD&amp;nbsp;(in our final project we'll be using two 20x4 character displays, one green, one blue. But they're on Santa's Xmas Wishlist and not likely to arrive before the big day, so we'll try things out with an old 2x16 that's lying around in the toolbox).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-771404293146227107?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/771404293146227107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/serial-to-parallel-character-lcd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/771404293146227107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/771404293146227107'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/serial-to-parallel-character-lcd.html' title='Serial-to-parallel character LCD communication'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-tk4Ov1nasuw/TuhtDSzFyOI/AAAAAAAABI8/suF3Yp3gaeo/s72-c/3WireLCD.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8554595992506248716</id><published>2011-12-14T00:16:00.001Z</published><updated>2011-12-14T08:59:19.565Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Blood Bowl miniatures</title><content type='html'>Back in the late 80s, Blood Bowl was all the rage, even with the cool kids who didn't even know that it had anything to do with Warhammer Fantasy miniatures, nor that Dungeons &amp;amp; Dragons was a game and not just an &lt;a href="http://en.wikipedia.org/wiki/Dungeons_%26_Dragons_(TV_series)"&gt;animated cartoon series&lt;/a&gt; on kids' TV.&lt;br /&gt;&lt;br /&gt;Sadly none of our miniatures survived many house moves over the years (we've been nerds for a long time) - and maddeningly, the earlier, rarer pieces are commanding quite a price on &lt;a href="http://www.ebay.co.uk/sch/i.html?_from=R40&amp;amp;_trksid=p5197.m570.l1313&amp;amp;_nkw=blood+bowl&amp;amp;_sacat=See-All-Categories"&gt;eBay&lt;/a&gt; these days! Rather than pay over £30 for a team of original pieces, we've been looking for something a bit cheaper....&lt;br /&gt;&lt;br /&gt;The original Blood Bowl teams were heavily armoured, with each character having lots of spikes, pads, over-sized shoulder pads and the like. The miniatures in the different teams looked very much like their Warhammer fantasy war-gaming counterparts (only without weapons).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-vPCl-9yLYvs/Tufok-jC0tI/AAAAAAAABIs/cKO9-q3NYX4/s1600/bb_human.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-vPCl-9yLYvs/Tufok-jC0tI/AAAAAAAABIs/cKO9-q3NYX4/s320/bb_human.jpg" width="188" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The original &lt;a href="http://www.bloodbowl.org/"&gt;Games Workshop Blood Bowl miniatures&lt;/a&gt; followed in this line.&lt;br /&gt;But for us, Blood Bowl is first and foremost a strategy game of fantasy football that happens to include goblins and orcs and elves and other fantasy races. It's the game of football that makes the game fun and interesting to play, not the creatures that make up the different teams.&lt;br /&gt;&lt;br /&gt;So it was really quite refreshing to find a team that were not only relatively cheap to buy (albeit second-hand) but they look more like a football team than a murdering crowd of goblins from Dungeons &amp;amp; Dragons:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-u6USOMq5tS0/TufqjGZRlNI/AAAAAAAABI0/m1SLh-biJKo/s1600/OrcTeamUniform.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="182" src="http://4.bp.blogspot.com/-u6USOMq5tS0/TufqjGZRlNI/AAAAAAAABI0/m1SLh-biJKo/s320/OrcTeamUniform.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Of course, for testing our electronic game board we can use copper discs (two pence pieces are the perfect size) but the whole thing would look much more like a board game with the correct pieces on it!&amp;nbsp;Unfortunately it's that time of year again where buying stuff willy-nilly off the internet is out of the question, as friends and family members are on the look-out for gift ideas; so we'll just have to sit tight and see what Santa brings in a few weeks. In the meantime, there's the board to finish so we'll post some more updates here soon......&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8554595992506248716?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8554595992506248716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-miniatures.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8554595992506248716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8554595992506248716'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-miniatures.html' title='Blood Bowl miniatures'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-vPCl-9yLYvs/Tufok-jC0tI/AAAAAAAABIs/cKO9-q3NYX4/s72-c/bb_human.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4393562787937844843</id><published>2011-12-13T23:49:00.003Z</published><updated>2011-12-13T23:58:33.976Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='board game'/><category scheme='http://www.blogger.com/atom/ns#' term='16f877a'/><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Blood Bowl electronic board - slave board complete</title><content type='html'>Here's a quick update on our slave board for the Blood Bowl electronic board&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-gjC0_aiB6XE/TufgxxeOTkI/AAAAAAAABIk/pY-tVuDAWww/s1600/boards_slave.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-gjC0_aiB6XE/TufgxxeOTkI/AAAAAAAABIk/pY-tVuDAWww/s320/boards_slave.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The top board is underside of the slave board, which is basically a 40-pin &lt;a href="http://uk.farnell.com/microchip/pic16f877a-i-p/ic-8bit-flash-mcu-16f877-dip40/dp/9761446"&gt;16F877A&lt;/a&gt; (any 40-pin PIC with hardware UART/USART would do, even the &lt;a href="http://uk.farnell.com/microchip/pic18f4550-i-p/ic-8bit-flash-mcu-18f4550-pdip40/dp/9321357"&gt;18F4550&lt;/a&gt; - but you'd be spending a lot more than necessary on your slave chip and not using most of the peripherals that you'd paid for! We just used one of the many 16F chips we had knocking around, not necessarily the cheapest/best fit for the job. One of the cheaper 16Fs from &lt;a href="http://uk.farnell.com/"&gt;Farnell&lt;/a&gt; is the &lt;a href="http://uk.farnell.com/microchip/pic16f1939-i-p/mcu-8bit-28k-flash-lcd-40dip/dp/1755832"&gt;16F1939&lt;/a&gt;&amp;nbsp;available for about £2.80 per unit)&lt;br /&gt;&lt;br /&gt;The bottom board shows an arrangement of four &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/creating-playing-squares-for.html"&gt;1x4 board modules&lt;/a&gt; (ok, it's actually 2 of our &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/electronic-board-game-blood-bowl-clone.html"&gt;earlier 2x4 boards&lt;/a&gt; but the wiring is exactly the same!) We've wired them so that the two boards vertically share the same "row" signal wire. So both the boards on the left will come "live" at the same time, when row1 is sent high by the master board. Then the boards on the right will both come on at the same time. The two orange wires are the "row" signal wires and will connect to the master controller. The grey wires (to the left) will connect to the inputs on the slave controller.&lt;br /&gt;&lt;br /&gt;Although not immediately obvious from the nasty photo (iPad cameras are about as good as cheap HP ones in low light) the slave board is simply a PIC microcontroller, a crystal, 4 wires (1 power, 1 ground, 1 serial TX, 1 serial trigger/handshaking line on the RX pin) and all the remaining digital i/o pins pulled to ground through some 100K SMT resistors.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4393562787937844843?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4393562787937844843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-electronic-board-slave-made.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4393562787937844843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4393562787937844843'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-electronic-board-slave-made.html' title='Blood Bowl electronic board - slave board complete'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-gjC0_aiB6XE/TufgxxeOTkI/AAAAAAAABIk/pY-tVuDAWww/s72-c/boards_slave.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7805734296959323663</id><published>2011-12-13T19:59:00.000Z</published><updated>2011-12-13T23:58:03.110Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pcb'/><category scheme='http://www.blogger.com/atom/ns#' term='board game'/><category scheme='http://www.blogger.com/atom/ns#' term='16f877a'/><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Blood Bowl board game slave board</title><content type='html'>Our&lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html"&gt; intelligent Blood Bowl game board&lt;/a&gt; consists of two PIC micros which talk to each other via serial (during testing we're using 9600 baud but will crank this up for the final version). The slave board is simply a 40-pin 16F877A&amp;nbsp;with pull-down resistors on all the digital i/o pins.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HX-uxW-hoI0/Tues2pX6h3I/AAAAAAAABIc/OC4nHqwAguE/s1600/slave_board.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-HX-uxW-hoI0/Tues2pX6h3I/AAAAAAAABIc/OC4nHqwAguE/s320/slave_board.jpg" width="252" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;To allow for maximum flexibility, we're designing this slave board to accept as wide a range of PIC microcontrollers as possible, including some of the 18F series chips (if you have some hanging around from other projects, why not use them instead of buying in new?) Allowing for the power, ground, TX and RX pins (which are in the same place in the 40-pin 16F and 18F chips), as well as the useless Vusb pin on the 18F (useless in this case since we can't use UART and USB together) and the &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/spi-communication-between-two-pics-18f.html"&gt;handshaking line&lt;/a&gt; we've got a maximum of 30 input pins (we could use the RX pin for handshaking, but for now we'll keep that clear in case we can come up with a use for it in future). In the diagram above, all available i/o pins have been taken out to a set of SMT (1206 sized) resistor pads, and all the resistors are tied to ground (making them pull-down resistors on each input).&lt;br /&gt;&lt;br /&gt;30 inputs is an awkward number to work with since each board module is &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/creating-playing-squares-for.html"&gt;4 squares in size&lt;/a&gt; the maximum number of inputs we can use is 28 (4*7=28). So we've got two free input pins on the slave board should the need arise, as we develop the concept further.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/75597849/Slave-Board" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px auto 6px auto; text-decoration: underline;" title="View Slave Board on Scribd"&gt;Slave Board&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_9117" scrolling="no" src="http://www.scribd.com/embeds/75597849/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-tsavm1yh085ljsusodd" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7805734296959323663?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7805734296959323663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-board-game-slave-board.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7805734296959323663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7805734296959323663'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/blood-bowl-board-game-slave-board.html' title='Blood Bowl board game slave board'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-HX-uxW-hoI0/Tues2pX6h3I/AAAAAAAABIc/OC4nHqwAguE/s72-c/slave_board.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7559092382781821842</id><published>2011-12-03T15:46:00.001Z</published><updated>2011-12-04T17:57:26.778Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pcb'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='board game'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Intelligent board game (Blood Bowl) development</title><content type='html'>Here are some photos of the latest board game development;&lt;br /&gt;although we're working on a Blood Bowl clone, the same technology could - in theory - be used for a large number of games, with different board sizes. To date, we've settled on a &lt;a href="http://nerdclub-uk.blogspot.com/2011/12/creating-playing-squares-for.html"&gt;4-square module&lt;/a&gt; and will make our board game(s) up from this/these.&lt;br /&gt;&lt;br /&gt;These photos are from our 4x2 boards (earlier design) but the principles work the same for both.&lt;br /&gt;On the sides of each playing square (N,S,E and W) we drilled a 1mm hole and soldered &lt;a href="http://uk.farnell.com/harwin/t1563f46k/track-pin-1mm-pk1000/dp/1143880"&gt;some pcb studs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Ghxj0XUwePU/TtpEwZYHwMI/AAAAAAAABG0/jxvkldsfuFU/s1600/Hpim2389.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-Ghxj0XUwePU/TtpEwZYHwMI/AAAAAAAABG0/jxvkldsfuFU/s320/Hpim2389.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_v39hjvP7tw/TtqO_MFtr4I/AAAAAAAABHM/skW5vOJbhyc/s1600/pcb_pins.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-_v39hjvP7tw/TtqO_MFtr4I/AAAAAAAABHM/skW5vOJbhyc/s320/pcb_pins.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The studs are slightly raised on the playing surface of the game board. This isn't as nasty as it sounds - for our Blood Bowl game, it means we can add some "flocking" or similar covering but still get the playing pieces to make a good contact with the pins.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-q1IAlAR8au0/TtpINm9st1I/AAAAAAAABG8/PUhTjiknBt4/s1600/Hpim2398.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-q1IAlAR8au0/TtpINm9st1I/AAAAAAAABG8/PUhTjiknBt4/s320/Hpim2398.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;stupid cheap HP camera - even in "macro mode" it doesn't quite know what to focus on!&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;The plan is to weight our playing piece bases with a small copper disk (something like a 2 pence piece would be ideal, only we don't want to get thrown in prison for "defacing a coin of the realm" or whatever the punishment is these days!). Placing these on the playing side of the board bridges the two connections between the "rows" output pin on the master controller and the "columns" input pin on the slave - so when the slave is asked "which inputs are high/low" this can be used to work out which squares have playing pieces on them.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3L1PSMXYZX4/TtpIlxzdbVI/AAAAAAAABHE/bUWi9ZghilQ/s1600/Hpim2405.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-3L1PSMXYZX4/TtpIlxzdbVI/AAAAAAAABHE/bUWi9ZghilQ/s320/Hpim2405.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;once again, a nice focussing job by our little HP camera&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;The tracking of which playing piece is on which square will be done by the master IC. For these early prototypes, we're more concerned about proving the concept of tracking which piece is being lifted/replaced to/from the board.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7559092382781821842?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7559092382781821842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/intelligent-board-game-blood-bowl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7559092382781821842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7559092382781821842'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/intelligent-board-game-blood-bowl.html' title='Intelligent board game (Blood Bowl) development'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Ghxj0XUwePU/TtpEwZYHwMI/AAAAAAAABG0/jxvkldsfuFU/s72-c/Hpim2389.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3021098105132855638</id><published>2011-12-01T23:31:00.001Z</published><updated>2011-12-04T17:57:16.893Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pcb'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='board game'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Creating the playing squares for an intelligent board game board</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;While toner-transferring and etching our game board "modules" something became obvious - though it's not something we'd thought of when designing our PCBs. The photo below shows our game board etched onto a piece of eurocard sized (160mm x 100mm) &lt;a href="http://www.ebay.co.uk/sch/i.html?_from=R40&amp;amp;_trksid=p5197.m570.l1313&amp;amp;_nkw=copper+board&amp;amp;_sacat=See-All-Categories"&gt;copper-clad board&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bZJiMLFy4oE/TtgOYnhh1MI/AAAAAAAABGk/65jhnQkJuoE/s1600/Hpim2387.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-bZJiMLFy4oE/TtgOYnhh1MI/AAAAAAAABGk/65jhnQkJuoE/s320/Hpim2387.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;While trimming to size, we realised that the bit cut off the bottom was almost exactly the right size for a single row of 4 playing squares (the printed module above shows a 2x4 grid of playing squares). It then occurred to us that there's no real reason why we couldn't create modules that were 1x4 instead of 2x4.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;After all, the top row still has to be connected to the bottom row using a wire jumper/via even when they are drawn/etched on the same piece of board. So here's the new PCB layout for four playing squares at a time:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Since the spacing of the playing squares is 30mm (standard Blood Bowl size) the PCB is also 30mm high (with the playing squares pretty much in the middle of each "strip" of 1x4 squares).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If you want smaller playing squares, simply resize the whole PCB. The overall size will shrink to match the size of each playing square so they should still be able to be cut to size and placed side-by-side, without affecting the spacing between playing squares.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.scribd.com/doc/74430504/4x1-Board-Piece" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px auto 6px auto; text-decoration: underline;" title="View 4x1 Board Piece on Scribd"&gt;4x1 Board Piece&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_908" scrolling="no" src="http://www.scribd.com/embeds/74430504/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-qckjwt7yna03irl12fh" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;As you can see, they line up perfectly for connecting horizontally once etched and cut to size:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-f26Cx6C0sVM/TtgWVblV3nI/AAAAAAAABGs/VkUs1yaBTfQ/s1600/Hpim2388.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-f26Cx6C0sVM/TtgWVblV3nI/AAAAAAAABGs/VkUs1yaBTfQ/s320/Hpim2388.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;A little bit of multi-core wire or maybe even some gloopy solder should connect the two boards, edge-to-edge.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3021098105132855638?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3021098105132855638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/creating-playing-squares-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3021098105132855638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3021098105132855638'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/creating-playing-squares-for.html' title='Creating the playing squares for an intelligent board game board'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-bZJiMLFy4oE/TtgOYnhh1MI/AAAAAAAABGk/65jhnQkJuoE/s72-c/Hpim2387.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3188633984548002198</id><published>2011-12-01T23:27:00.001Z</published><updated>2011-12-04T17:57:04.397Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='multi-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='word clock'/><title type='text'>Testing multi-plexed LEDs for word clock</title><content type='html'>Having ditched the impossible-to-debug charlie-plexing idea, we've made up a board which simply places LEDs in columns and rows.&lt;br /&gt;&lt;br /&gt;We're going to drive the "rows" through a shift-register (to allow more than 20mA current to be sourced) and sink them through a number of ULN2803A darlington arrays (since sinking directly to the microcontroller pin would only allow up to 20mA &lt;i&gt;per row&lt;/i&gt; which could make a full row of lit-up LEDs appear quite dim).&lt;br /&gt;&lt;br /&gt;Before we get clever with the sinking and sourcing, we needed to make sure that our array of LEDs worked - and to test it we simply connected the +ve and -ve terminals of a 3V coin-cell battery to the different lines on the PCB.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-F3McistQAKo/TtgN9IAb3XI/AAAAAAAABGc/aCrert_HeSY/s1600/Hpim2385.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-F3McistQAKo/TtgN9IAb3XI/AAAAAAAABGc/aCrert_HeSY/s320/Hpim2385.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;By touching the exposed wire ends to the positive and negative terminals of a 3V battery, we were able to confirm that every LED in the array worked individually of the others.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3188633984548002198?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3188633984548002198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/testing-multi-plexed-leds-for-word.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3188633984548002198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3188633984548002198'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/12/testing-multi-plexed-leds-for-word.html' title='Testing multi-plexed LEDs for word clock'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-F3McistQAKo/TtgN9IAb3XI/AAAAAAAABGc/aCrert_HeSY/s72-c/Hpim2385.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-5321301471990780479</id><published>2011-11-30T23:53:00.001Z</published><updated>2011-12-13T21:09:09.267Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='16f877a'/><category scheme='http://www.blogger.com/atom/ns#' term='oshonsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='usart'/><category scheme='http://www.blogger.com/atom/ns#' term='serial'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><category scheme='http://www.blogger.com/atom/ns#' term='uart'/><title type='text'>Serial/UART communication between two PICs (18F and 16F)</title><content type='html'>It's taken a long time and a lot of different approaches to get even simple &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/communication-between-two-pic.html"&gt;serial communication between two PICs&lt;/a&gt; working. Perhaps hampered a little by using two different PICs (a 16F and an 18F series chip) but that really shouldn't make any difference. Serial/UART communication shouldn't be platform dependent!&lt;br /&gt;&lt;br /&gt;We've tried serial/UART, SPI, I2C and even bit-banging and each time got different (non-working) results. It's too much to go into in this blog post, so we're just going to describe how we actually got a working prototype:&lt;br /&gt;&lt;br /&gt;The first thing to note is that although we're using one of our favoured &lt;a href="http://uk.farnell.com/microchip/pic18f4550-i-p/ic-8bit-flash-mcu-18f4550-pdip40/dp/9321357"&gt;18F4550&lt;/a&gt;&amp;nbsp;PICs, we couldn't use the USB &amp;nbsp;and UART together. So for this experiment, we're reading the data back off our 18F (master) chip via serial, using the excellent &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/pic16f877a-resetting.html"&gt;PICKit2 programmer&lt;/a&gt; and software.&lt;br /&gt;&lt;br /&gt;In our first (failed) attempt at creating pic-to-pic communication, we had our 16F (slave) device monitoring it's input pins and simply broadcasting the results as an 8-byte message over UART. The idea was for the 18F (master) chip to read this serial stream at intervals, find the start of the message and decode the rest of it, so that it knows the state of the slave chip.&lt;br /&gt;&lt;br /&gt;In theory this sounds fine. In practice, sending more than about 4 bytes to the 18F (master) chip caused it to lock up on the &lt;i&gt;Hserin &lt;/i&gt;command. We even tried connecting the PICKit2 to the RX pin on the 18F and removed our slave chip altogether. Our tests confirmed the same thing happening - if we sent one or two bytes at a time to the 18F from the PICKit2 terminal, it successfully received them and sent a response message back. If we sent more than about five bytes at a time, the 18F simply stopped responding - apparently locking up at the point where it reads in the serial data&lt;br /&gt;(we proved this by switching an LED on just before the &lt;i&gt;Hserin &lt;/i&gt;command, and turning it off again immediately after).&lt;br /&gt;&lt;br /&gt;So it appears that we have a set-up whereby we can receive data from our slave, one byte at a time, but the master can't simply "dip in" to a serial stream being "broadcast" by the slave. After reading through the datasheet, it seems that the 18F has only a two (or was it four) byte buffer so blasting more bytes into the buffer than it can handle is causing some sort of buffer overrun error.&lt;br /&gt;&lt;br /&gt;We need some way of getting the master chip to ask for data, one byte at a time.&lt;br /&gt;This is what we came up with:&lt;br /&gt;&lt;br /&gt;The master chip sends a pin high then requests a byte from the serial buffer.&lt;br /&gt;The slave chip monitors the state of the "handshaking" line. When the line goes high, and the previous line state is low, this represents a request from the master, so send &lt;i&gt;one byte&lt;/i&gt;.&lt;br /&gt;Because we're using hardware UART on the master chip, after the line goes high, the code waits until a byte has arrived in the serial buffer. Because the slave only sends a byte on a low-to-high transition on the handshaking pin, we don't have to worry about buffer under-runs or errors in the master chip.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Slave code&lt;br /&gt;&lt;div style="background-color: black; color: lime; font-family: courier,courier new; font-size: 10pt;"&gt;'4Mhz external clock&lt;br /&gt;Define CONF_WORD = 0x3f31&lt;br /&gt;Define CLOCK_FREQUENCY = 4&lt;br /&gt;&lt;br /&gt;AllDigital&lt;br /&gt;Config PORTB = Input&lt;br /&gt;Config PORTD = Input&lt;br /&gt;Config PORTC = Input&lt;br /&gt;Config PORTA = Input&lt;br /&gt;&lt;br /&gt;declarations:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim linestate As Bit&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim lastlinestate As Bit&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim a1 As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim a2 As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim a3 As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim a4 As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim a5 As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim xorval As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim bytecounter As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;init:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hseropen 9600&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 50&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linestate = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lastlinestate = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bytecounter = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;loop:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'all the slave does is read a whole load of input pins&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'and write the response back to the master. The master chip&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'will decide which "row" is live, this chip just takes all&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'the "column" data and sends it back to the master.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'RA0-5&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'RB1-7&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'RC0-5 (6&amp;amp;7 are TX/RX)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'RD0-7&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'RE0-2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'this should give us 6+7+6+8+3 = 30 inputs&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a1 = PORTA And 63  '(mask off bits 7+6)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a2 = PORTB And 254 '(make off bit 0, handshake line)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a3 = PORTC And 63&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a4 = PORTD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a5 = PORTE And 7&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'now stream the values as a response back to the slave&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'all messages begin 255,255 (since this sequence is not&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'possible in the input stream because we bitmask bytes 1,3,5)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linestate = PORTB.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If linestate = 1 And lastlinestate = 0 Then&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'the host chip has asked for another byte of data&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'create the checksum value&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xorval = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xorval = xorval Xor a1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xorval = xorval Xor a2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xorval = xorval Xor a3&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xorval = xorval Xor a4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xorval = xorval Xor a5&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xorval = xorval And 127&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'decide which byte of the message to send&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'(the host has to ask for each message eight times for all 8 bytes)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Select Case bytecounter&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout 255&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout 255&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 3&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout a1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout a2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 5&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout a3&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 6&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout a4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 7&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout a5&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Case 8&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout xorval&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bytecounter = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EndSelect&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bytecounter = bytecounter + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Endif&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lastlinestate = linestate&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Goto loop&lt;br /&gt;End                                               &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Master code&lt;br /&gt;&lt;div style="background-color: black; color: lime; font-family: courier,courier new; font-size: 10pt;"&gt;&lt;br /&gt;AllDigital&lt;br /&gt;&lt;br /&gt;declarations:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim a1 As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim a2 As Byte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Symbol lineshake = PORTA.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Config PORTA.0 = Output&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;init:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low PORTA.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 200&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hseropen 9600&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 200&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;loop:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Gosub getnextbyte&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'two 255 = start of message&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout 255&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout 255&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserout a1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Goto loop&lt;br /&gt;End                                               &lt;br /&gt;&lt;br /&gt;getnextbyte:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'to get the next byte, we send the lineshaking&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'line high - this tells the slave to "release"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'another byte. Once we have this byte, we drive&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'the lineshaking pin low to say we're done&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;High lineshake&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hserin a1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low lineshake&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Return                                            &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;After connecting up the slave to the master (the TX pin of the slave into the RX pin of the master, and RA.0 on the master to RB.0 on the slave) we did actually start receiving intelligible data from the master. So it looks like we've (finally) cracked pic-to-pic communication over serial.&lt;br /&gt;&lt;br /&gt;It's probably a bit slower than it needs to be (since the master has to "poll" each byte from the slave) but it's fast enough for what we want - and once we crank the baud rate up from 9600 to about 57600, or even 115200, it should be more than quick enough to scan an entire game board (of not more than 16 x 28 = 448 squares) at a reasonable rate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-5321301471990780479?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/5321301471990780479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/spi-communication-between-two-pics-18f.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5321301471990780479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5321301471990780479'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/spi-communication-between-two-pics-18f.html' title='Serial/UART communication between two PICs (18F and 16F)'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-2571114477965882762</id><published>2011-11-30T23:46:00.001Z</published><updated>2011-12-04T17:56:19.781Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='16f877a'/><category scheme='http://www.blogger.com/atom/ns#' term='pic'/><category scheme='http://www.blogger.com/atom/ns#' term='usart'/><category scheme='http://www.blogger.com/atom/ns#' term='serial'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><category scheme='http://www.blogger.com/atom/ns#' term='uart'/><title type='text'>Communication between two PIC microcontrollers</title><content type='html'>We're having a bit of a nightmare getting two PICs to talk to each other.&lt;br /&gt;&lt;div&gt;The master is an 18F4550 which will do most of the grunt work and talks to the PC host via USB (we use &lt;a href="http://www.oshonsoft.com/"&gt;Oshonsoft's &lt;/a&gt;excellent USB/HID library for our USB work).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The slave is a 16F877A (no reason for this particular model other than we had quite a few of these lying around). This basic idea is that the 16F reads 28 input pins and writes a four-byte value out to the serial port.&lt;/div&gt;&lt;div&gt;The master periodically polls the slave, reading the serial data. It looks for two specific bytes which signify the start of the message, then reads in the next four bytes that make up the message (the fifth byte is the XOR sum of the previous four bytes so we have some sort of checksum).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem is that while we can check the 16F using the PICKit2 UART tool - and it successfully reads the message being "broadcast" by the slave - when we try to read data using the hardware UART port on the 18F master chip, the USB comms lock up and our PC app stops working.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It seems that we aren't the first people to run into this sort of problem and there are lots of queries across the 'net asking for help with USB and serial comms together. Here's just one example:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.3dreplicators.com/cgi-bin/cblog/index.php?/archives/461-Fixing-a-software-problem-with-hardware.html"&gt;http://www.3dreplicators.com/cgi-bin/cblog/index.php?/archives/461-Fixing-a-software-problem-with-hardware.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So it looks like USB and UART together isn't going to work.&lt;/div&gt;&lt;div&gt;Which is a bit of a bummer.&lt;/div&gt;&lt;div&gt;Also, like the author of the article above, we were also hoping to use the timer1 interrupt to keep a simple clock running, which makes software-based bit-banging and no-go either. Getting a PIC to work as an I2C slave looks quite complicated too, so we're running out of ideas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The only thing left for us to try is getting two PICs talking to either other using SPI hardware on both the master and slave chips.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hopefully this will work with both USB and timer1 interrupts running on the master chip. But until we try, we're not going to know......&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-2571114477965882762?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/2571114477965882762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/communication-between-two-pic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2571114477965882762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2571114477965882762'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/communication-between-two-pic.html' title='Communication between two PIC microcontrollers'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-5399033799084782839</id><published>2011-11-30T22:09:00.001Z</published><updated>2011-12-04T17:55:48.686Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='16f877a'/><category scheme='http://www.blogger.com/atom/ns#' term='pic'/><title type='text'>PIC16F877A resetting</title><content type='html'>This is just a general post to remind anyone like me who often forgets the basics and spends far too long trying to find faults with hardware/firmware that just aren't there.Although in my case, it's specific to my 18F877A, the same rules apply to 16F628A chips and pretty much any of the 16F range.&lt;br /&gt;&lt;br /&gt;Here's why I'm so stupid......&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-n-tKSTYc6YU/TtaqHm2TSeI/AAAAAAAABFs/fz_qGrSzaXE/s1600/16f877a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-n-tKSTYc6YU/TtaqHm2TSeI/AAAAAAAABFs/fz_qGrSzaXE/s320/16f877a.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I've been working a lot lately with 18F series chips.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;These are great because they have loads of different "fuses" which let you set up the chip in a particular way. One of the fuses on the 18F range allows you to reclaim pin one - the MCLR/PGV (programming voltage) pin and set it to an input. I do this with pretty much all my 18F chips.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So when I came back to the old 16F series chips (the 16F877A is an old favourite that first got me interested in PIC programming) I completely forgot that you need to apply 5v to the MCLR pin to stop the chip from resetting (pulling this pin low causes the PIC to reset completely).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So during testing, while trying to read the serial message(s) being "broadcast" from my 16F chip, I kept getting blackouts - periods when the serial stream would stop. Wiggle a few wires around on the breadboard and it would come back to life. For a little while.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Everything was pointing at a hardware problem - either a dodgy wire or a loose crystal or something. I re-wrote the firmware on both the slave and master chips, stripping each down to just the bare essentials, and used a really handy tool in the PICKit2 software to monitor the serial stream&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ChjhvULf9Rk/TtargUU2RKI/AAAAAAAABF0/DPUyufa7G2c/s1600/pickit2_uart.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-ChjhvULf9Rk/TtargUU2RKI/AAAAAAAABF0/DPUyufa7G2c/s320/pickit2_uart.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;You can connect anything that uses serial comms, and set the baud rate to any of the common bps values - 1200, 2400, 4800, 9600, 19200, 38400 etc as well as your own custom baud rate (ideal for debugging MIDI devices at 31250)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SNDDIkZFVrY/Ttar4TvPGDI/AAAAAAAABF8/5MZckaiM5I8/s1600/pic_uart.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="237" src="http://4.bp.blogspot.com/-SNDDIkZFVrY/Ttar4TvPGDI/AAAAAAAABF8/5MZckaiM5I8/s320/pic_uart.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Anyway, after connecting everything up, setting it running and not touching a thing, the 16F would periodically shut down. I stripped out all the wires, rewired the board with a brand new set of jumper wires, put LEDs on all kinds of output pins and so on. I checked and double-checked the fuses, made sure the watchdog timer was disabled (and even tried enabling it and littering the firmware with watchdog reset commands) and checked the brown-out option wasn't selected. I even put a few different capacitors on the power rail of the 16F, just in case the input voltage was getting a bit wobbly.&lt;br /&gt;&lt;br /&gt;The whole thing was suddenly a lot more complicated than any other PIC project I'd ever worked on and still it kept resetting.....&lt;br /&gt;&lt;br /&gt;.... that's when I remembered that pin one (MCLR) has to be pulled high to stop the, erm, PIC from resetting all the time. Bugger.&lt;br /&gt;&lt;br /&gt;It was as simple as that!&lt;br /&gt;A single wire from pin one to 5V and everything worked beautifully.&lt;br /&gt;If I had remembered about the MCLR pin earlier, instead of assuming it was always set to behave as an in input pin I think I'd have saved myself about two hours this evening.&lt;br /&gt;&lt;br /&gt;Hopefully this post will help others in future to avoid wasting a similar amount of time on something so trivial!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-5399033799084782839?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/5399033799084782839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/pic16f877a-resetting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5399033799084782839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5399033799084782839'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/pic16f877a-resetting.html' title='PIC16F877A resetting'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-n-tKSTYc6YU/TtaqHm2TSeI/AAAAAAAABFs/fz_qGrSzaXE/s72-c/16f877a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-92350367640620966</id><published>2011-11-30T19:58:00.001Z</published><updated>2011-12-04T17:55:24.696Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pcb'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='board game'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Electronic board game - Blood Bowl clone</title><content type='html'>Some interesting developments over the last few evenings as we've put together all kinds of ideas for an intelligent board for a board game (like, our old favourite &lt;a href="http://en.wikipedia.org/wiki/Blood_Bowl"&gt;Blood Bowl&lt;/a&gt;).&lt;br /&gt;Our &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html"&gt;original proposal&lt;/a&gt; - based on freeing up as many pins as possible from two 40-pin PIC microcontrollers - was to allow for up to 600 squares, or a grid of 20x30&lt;br /&gt;&lt;br /&gt;To allow for as much flexibility as possible, while at the same time making it relatively easy to understand, we've decided on a modular approach. Our board game will actually be made up of a grid of 4x2 "blocks" which can then be wired together in any arrangement. It means we've lost the flexibility of really wacky board layouts (although using the same technology it should be possible to create one-off boards with pretty much any layout as required) but does mean that we can simplify making boards of different dimensions.&lt;br /&gt;(it also means that anyone who buys their copper boards in eurocard 100mmx160mm size can still make a board game, using a "patchwork" of smaller boards)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-dwyvklV88Fs/TtaNNGcU_AI/AAAAAAAABFI/X8kGSq7cyug/s1600/4x2+board+piece.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://4.bp.blogspot.com/-dwyvklV88Fs/TtaNNGcU_AI/AAAAAAAABFI/X8kGSq7cyug/s320/4x2+board+piece.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/74307280/4x2-Board-Piece" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px auto 6px auto; text-decoration: underline;" title="View 4x2 Board Piece on Scribd"&gt;4x2 Board Piece&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_49020" scrolling="no" src="http://www.scribd.com/embeds/74307280/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-8b2ezw109wy7d4w9l4j" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Each playing square in this board is marked out by a "cross" shape on the board. Small through-hole studs are soldered to this underside, so that on the playing side of the board, a small contact point is visible on the playing surface. Each playing piece has a conductive base (a copper coin glued to the bottom would suffice!) and when placed over the four points of a cross, makes a connection between the top and right contacts and the bottom/left contacts.&lt;br /&gt;&lt;br /&gt;Using the above layout, we can place these pieces side-by-side and join the edges, while connecting each group of top/right contacts together using short pieces of (insulated) wire&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-iy2RN8DYdCk/TtaQVT_viOI/AAAAAAAABFQ/X97tVjXpy_4/s1600/4x2+board+piece_example.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="131" src="http://4.bp.blogspot.com/-iy2RN8DYdCk/TtaQVT_viOI/AAAAAAAABFQ/X97tVjXpy_4/s320/4x2+board+piece_example.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Using this approach, we've designed our Blood Bowl board.&lt;br /&gt;It's not quite 30 x 20, but we found that vertically connecting 7 "rows" of 4 contacts means for each row we can read back up to 28 lines of "column" data. By placing four of these smaller boards side-by-side, our board size is 28 x 16 playing squares. Not a bad compromise and certainly a sizeable playing area for a lot of different board games.&lt;br /&gt;&lt;br /&gt;So what does it look like? In short, a nightmare!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-aKH6pDoTuR0/TtaRU1DWriI/AAAAAAAABFY/D6MPS-lr8qs/s1600/full_board_wired.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-aKH6pDoTuR0/TtaRU1DWriI/AAAAAAAABFY/D6MPS-lr8qs/s320/full_board_wired.png" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As you can see, each smaller board is connected to the board horizontally next to it (the traces were deliberately lined up to make this bit quite easy). Every 7 vertical rows of contacts are connected via wire traces (shown in this diagram by different coloured bars) and each group of these 7x4 = 28 contacts is then connected to the slave microcontroller via a short wire (the connection points for these wires are circled in a matching colour).&lt;br /&gt;&lt;br /&gt;There are 16 wire connect points - these go to the master PIC. The 28 traces from the bottom/left sets of contact points are connected to the slave. By flashing one of the 16 wires at a time, and reading the input values on the 28 inputs, we should be able to work out which set(s) of contacts are being bridged by a playing piece on the board.&lt;br /&gt;&lt;br /&gt;That's the theory anyway.......&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-92350367640620966?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/92350367640620966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/electronic-board-game-blood-bowl-clone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/92350367640620966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/92350367640620966'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/electronic-board-game-blood-bowl-clone.html' title='Electronic board game - Blood Bowl clone'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-dwyvklV88Fs/TtaNNGcU_AI/AAAAAAAABFI/X8kGSq7cyug/s72-c/4x2+board+piece.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1144767868749465671</id><published>2011-11-30T00:12:00.001Z</published><updated>2011-12-04T17:55:07.674Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pic'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><title type='text'>PICKit2 clone programmer alternatives</title><content type='html'>Something has happened to our faithful old PIC programmer - it was (was being the key word) a PICKit2 clone, iCP01 from &lt;a href="http://www.piccircuit.com/"&gt;piccircuit.com&lt;/a&gt;&amp;nbsp;and had worked tirelessly for about three years.&lt;br /&gt;But for some reason, it has suddenly stopped working.&lt;br /&gt;No puff of smoke or funny smell - it just stopped working.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FObsYBVcgtw/TtV1xVLHI9I/AAAAAAAABFA/x3_sAre_zWU/s1600/picprog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="237" src="http://3.bp.blogspot.com/-FObsYBVcgtw/TtV1xVLHI9I/AAAAAAAABFA/x3_sAre_zWU/s320/picprog.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;At first it had problems recognising a 16F877A DIP, so - as we always do before wiggling wires - it was removed from the USB port (removing any power from the breadboard) and then when it was plugged in there was no "bing-bong" or any indication that the PC had recognised the USB device.&lt;br /&gt;&lt;br /&gt;That's it. Despite stripping off the yellow shrink wrap and inspecting the components on the board (nothing seems to have blown and there's continuity across the connections where you'd expect there to be) the device simply refuses to work.&lt;br /&gt;&lt;br /&gt;The PICKit2 software doesn't even recognise that the device is plugged in, and Device Manager fails to identify it too. So it's officially dead. The question is, do we get another one (they're great little programmers and really fast too) or try something else?&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1144767868749465671?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1144767868749465671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/pickit2-clone-programmer-alternatives.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1144767868749465671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1144767868749465671'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/pickit2-clone-programmer-alternatives.html' title='PICKit2 clone programmer alternatives'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-FObsYBVcgtw/TtV1xVLHI9I/AAAAAAAABFA/x3_sAre_zWU/s72-c/picprog.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4836034584875261024</id><published>2011-11-29T12:35:00.001Z</published><updated>2011-12-04T17:54:49.186Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='multi-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='word clock'/><title type='text'>Multi-plexing LEDs for word clock</title><content type='html'>Having failed miserably at &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/debugging-charlie-plexed-led-array.html"&gt;debugging our charlie-plexed LED array&lt;/a&gt;&amp;nbsp;we've decided to stick to the simpler approach of using multi-plexing.&lt;br /&gt;&lt;br /&gt;There's a subtle difference, but since we're already getting down and dirty with &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html"&gt;multi-plexing for inputs on a board game&lt;/a&gt; it made sense to use this same approach for outputs/LEDs. The main difference is that we'll be using a pin for each row and a pin for each column (10 rows x 9 columns = 10+9 = 19 pins).&lt;br /&gt;If we move away from the &lt;a href="http://ww1.microchip.com/downloads/en/devicedoc/40044f.pdf"&gt;16F628A&lt;/a&gt; (with 18 pins) and go far a larger chip, with more i/o pins, then multi-plexing gives us a simpler, easier-to-debug solution.&lt;br /&gt;&lt;br /&gt;With this in mind, we set about creating a new PCB to use multi-plexing.&lt;br /&gt;So far we've just put a load of LEDs into a grid formation - the actual controller board will be a separate PCB mounted onto the back:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/74138237/Uln2803a-Driven-LED-array" style="-x-system-font: none; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px auto 6px auto; text-decoration: underline;" title="View Uln2803a Driven LED array on Scribd"&gt;Uln2803a Driven LED array&lt;/a&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_30049" scrolling="no" src="http://www.scribd.com/embeds/74138237/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-1uuhoo09p4f08bgcb5rt" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Here's a photo of the completed board, populated with LEDs, ready for testing.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KPoHq7F9FKc/TtgNFfrbvpI/AAAAAAAABGU/gsyYEqomEKY/s1600/Hpim2384.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-KPoHq7F9FKc/TtgNFfrbvpI/AAAAAAAABGU/gsyYEqomEKY/s320/Hpim2384.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Unlike last time, testing LEDs is quite straight-forward; and already we've found some potential problems; a lot of the LEDs are re-used from the old board and by connecting a 3v coin-cell battery straight across the anode and cathode of each LED, we've found about half-a-dozen that refuse to light up.&lt;br /&gt;&lt;br /&gt;Whether these were damaged during removal, or never actually worked on the original board, we'll never know. But at least we've an explanation as to why the charlie-plexed board didn't work. Sort of.&lt;br /&gt;&lt;br /&gt;Anyway, we're going to pop out those duds and test each individual LED on this board before even considering wiring it up to the rest of the project!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4836034584875261024?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4836034584875261024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/multi-plexing-leds-for-word-clock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4836034584875261024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4836034584875261024'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/multi-plexing-leds-for-word-clock.html' title='Multi-plexing LEDs for word clock'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-KPoHq7F9FKc/TtgNFfrbvpI/AAAAAAAABGU/gsyYEqomEKY/s72-c/Hpim2384.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4695943195753838842</id><published>2011-11-28T16:21:00.001Z</published><updated>2011-12-04T17:54:31.226Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='hackspaces'/><category scheme='http://www.blogger.com/atom/ns#' term='berlin'/><title type='text'>The nerds are off to Berlin!</title><content type='html'>Ok, it's only for a week or so, but we've confirmed our tickets for early next month (December). And a quick look on &lt;a href="http://hackerspaces.org/"&gt;hackerspaces.org&lt;/a&gt; tells us that there are no less than &lt;a href="http://hackerspaces.org/wiki/Berlin"&gt;12 hackerspaces, in Berlin&lt;/a&gt; alone!&lt;br /&gt;We won't have time to visit all of them (unless we go to three different ones on each day we have free) so we'll have to concentrate on English-speaking spaces for now (a few of us can speak French to an ok level, but German is a whole new language!)&lt;br /&gt;&lt;br /&gt;Woo-hoo, Europe here we come!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4695943195753838842?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4695943195753838842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/nerds-are-off-berlin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4695943195753838842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4695943195753838842'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/nerds-are-off-berlin.html' title='The nerds are off to Berlin!'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3662861525132789853</id><published>2011-11-27T22:03:00.001Z</published><updated>2011-12-04T17:54:16.385Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='multi-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='board game'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><category scheme='http://www.blogger.com/atom/ns#' term='blood bowl'/><title type='text'>Using 2 PIC micros for a huge input array</title><content type='html'>After spending some time thinking about a large board game input device - which simply tracks the position of each piece by comparing the current board state to a previously known state - we've decided that a multi-plexed approach will probably be the easiest to implement.&lt;br /&gt;&lt;br /&gt;The problem with a multi-plexed approach is that whatever size grid is used determines the number of pins needed (so a 10 x 10 grid needs 10+10=20 i/o pins).&lt;br /&gt;&lt;br /&gt;Rather than try the idea out with something simple, then discover it doesn't expand well for bigger/more complex games, we've decided to have a go at quite a complex game, and - if it works - scale it back for simpler board games. For now, we're concentrating on tracking the positions of "dumb" game pieces on the board throughout a game.&lt;br /&gt;&lt;br /&gt;One of our favourite geek-games of the 80s was &lt;a href="http://en.wikipedia.org/wiki/Blood_Bowl"&gt;Blood Bowl&lt;/a&gt; (which thanks to a &lt;a href="http://www.bloodbowl-game.com/"&gt;console remake being released in 2011&lt;/a&gt;&amp;nbsp;is seeing a bit of revival in recent months).&amp;nbsp;Now, the original Blood Bowl board was a massive 15 x 26 = 390 squares in size.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yupqjvrtCOg/TtK2Cxdwq9I/AAAAAAAABEw/CG8A7fvjkIk/s1600/field.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="184" src="http://3.bp.blogspot.com/-yupqjvrtCOg/TtK2Cxdwq9I/AAAAAAAABEw/CG8A7fvjkIk/s320/field.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Obviously, using a PIC with only about 30 spare pins is never going to cut it. So we're back to either using analogue inputs or increasing the i/o pins using shift registers. After much discussion, however, one idea really started to appeal: &lt;i&gt;use two PIC microcontrollers&lt;/i&gt;!&lt;br /&gt;&lt;br /&gt;This is not only cheaper than implementing a whole array of shift registers, but also gives us a bit more oomph to play with, as we could split game play up over a &lt;i&gt;master &lt;/i&gt;and a &lt;i&gt;slave &lt;/i&gt;controller.&lt;br /&gt;&lt;br /&gt;We're planning on using the master to activate an entire "row" of inputs (the output Port1 in this&lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-multiplexed-keypad-for-other.html"&gt; previous port&lt;/a&gt;) but then to start listening on a serial RX pin for a response from the slave. The slave micro simply looks at the input state of all the pins (uC Port2 input in this &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/using-multiplexed-keypad-for-other.html"&gt;previous post&lt;/a&gt;) and sends this back to the master via serial TX.&lt;br /&gt;&lt;br /&gt;Because the master knows which row it activated, it can decode the value received over serial and work out which combination of buttons/inputs were activated. Now, by using 2 x &lt;a href="http://uk.farnell.com/microchip/pic18f4550-i-p/ic-8bit-flash-mcu-18f4550-pdip40/dp/9321357"&gt;18F4550&lt;/a&gt; chips, we've up to 30 pins available on each chip and a grid of 30 x 30 inputs (900 squares) is suddenly achievable.&lt;br /&gt;&lt;br /&gt;For our Blood Bowl game, we could easily implement a 15 x 26 grid of squares and still have about 15 i/o pins freed up on our master controller (this controlling 15 rows, with the 26 inputs on each column being read by the slave controller). With this in mind, and after much more discussion (and a few more cups of tea and a whole packet of hob-nobs) we reckon we could come up with a generic board game controller which would have:&lt;br /&gt;&lt;br /&gt;a) support for up to 600 squares (e.g. 20x30 but not necessarily in a square formation)&lt;br /&gt;b) an LCD display for each player/side which can display current game status&lt;br /&gt;c) built-in dice roll and other random-number generators&lt;br /&gt;d) ability to calculate results/outcomes which would otherwise require dice rolls and table look-ups in the rule book&lt;br /&gt;&lt;br /&gt;Although we've not actually built anything yet, this is quite an exciting development.&lt;br /&gt;We remember Blood Bowl as being a great game, but bogged down with dice rolling, looking up results in tables, applying modifiers based on the playing piece type and so on. The Third Edition of Blood Bowl tried to do away with a lot of this by using a simpler dice system, but eventually the same thing happened: the immediate action could be resolved quickly (did a particular action succeed or fail) but when this affected another players ability, yet more dice rolls and table look-ups were necessary.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;If we could remove all this dice rolling and referring back to the rule book and introduce a simple interface - so a player could pick up a piece to identify which is being moved, then press a button to say which action they were performing - the microcontroller could do all the random number generating and issue resolving; simply displaying a message on an LCD screen to the user, to inform them of the outcome and what to do next.&lt;br /&gt;&lt;br /&gt;Here's how our Blood Bowl game could look with the clever electronics in place:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-2WqCCx3FLjA/TtLGCFAkFxI/AAAAAAAABE4/f1W6O1CiOdQ/s1600/field.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://1.bp.blogspot.com/-2WqCCx3FLjA/TtLGCFAkFxI/AAAAAAAABE4/f1W6O1CiOdQ/s320/field.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3662861525132789853?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3662861525132789853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3662861525132789853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3662861525132789853'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/using-2-pic-micros-for-huge-input-array.html' title='Using 2 PIC micros for a huge input array'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-yupqjvrtCOg/TtK2Cxdwq9I/AAAAAAAABEw/CG8A7fvjkIk/s72-c/field.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4264658226371233551</id><published>2011-11-27T21:31:00.001Z</published><updated>2011-12-04T17:53:49.785Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='multi-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='18F4550'/><title type='text'>Using a multiplexed keypad for other input ideas</title><content type='html'>After a less-than-successful show-and-tell session at the weekend (yes, the one we've been devoting so much time and effort to over the last few weeks, and putting all our own personal projects on the backburner for!) the few people who did turn up spent some time discussing the various projects we were working on.&lt;br /&gt;&lt;br /&gt;A few old ideas were explored once again - sometimes a fresh pair of ideas on an old problem can turn up some really interesting ideas in themselves - and a few new ideas were chewed over.&lt;br /&gt;&lt;br /&gt;One of the ideas that came up was using a keypad style matrix, not for output (lighting LEDs like we were doing with our &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/charlie-plexing-90-led-array-for-word.html"&gt;charlie-plexed array&lt;/a&gt; for the &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/word-clock.html"&gt;word clock&lt;/a&gt;) but for input. It came following the announcement that some of the members of &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt; were looking to set up a monthly board-game-geek meeting (ok, we left Brighton some time ago, but it's important to keep in touch and see what those crazy guys are up to every now and again!). A few of us here at Nerd Towers remember fondly playing uber-geek board games like &lt;a href="http://en.wikipedia.org/wiki/Blood_Bowl"&gt;Blood Bowl&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/HeroQuest"&gt;HeroQuest&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Space_Crusade"&gt;Space Crusade&lt;/a&gt;, as pimply-faced youths, when they were first released during the 80s.&lt;br /&gt;&lt;br /&gt;The idea being investigated is using a microcontroller to load data about each piece (a lot of playing pieces in these role-play type games had a range of different values associated with them) and then to place them on the board in a specific sequence. Each piece will be a "dumb" token - i.e. does not contain or broadcast data about itself - but the board-game controller would keep track of each piece on the board, based on when it was placed on the board, and comparing the current board state with a previously known state, to work out which piece has been lifted off the board.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;A quick search on Google turned up some interesting results, but most solutions broadly follow one of two methods - a multi-plex approach (using a pin to activate a full row of inputs, then querying each pin on the row to see if it has been activated) and an analogue approach, to reduce the number of pins required.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;Because we're potentially dealing with hundreds of squares on a typical board game (even the simplest of board games, chess, uses 64 squares in an 8x8 grid) we're keen to keep the number of pins required down to an absolute minimum:&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-GgH-5J91FkQ/TtKvU4rRqoI/AAAAAAAABEo/lBZi0a7WNTM/s1600/Image1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-GgH-5J91FkQ/TtKvU4rRqoI/AAAAAAAABEo/lBZi0a7WNTM/s1600/Image1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;With the correct value resistors, we should be able to read which key has been pressed using a single input pin. This idea looks perfect for what we need. However, in practice this is quite a difficult method to implement. Why?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The solution above is better suited to single-key entry, such as a telephone keypad or security pad, where each key is pressed, one at a time.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;To be able to detect multiple key presses using a single analogue input pin, we'd need to use resistor values in roughly base-2 increments. i.e. 200 ohms, 400 ohms, 800 ohms, 1600 ohms, 3200 ohms etc.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Now we know that&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;a)&amp;nbsp;resistors&amp;nbsp;don't always come in &lt;i&gt;exactly &lt;/i&gt;the value we want so we have to go for a best match&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;b)&amp;nbsp;resistors&amp;nbsp;have up to 10% error in them already&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;c) reading an analogue input is not accurate - you need to take an average over time, or work with "bands" or thresholds, to decide the true value of the input on the analogue pin.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;In fact, to get to 16 inputs, we'd end up using really huge value resistors - the error in which could be more than some of the lowest-value resistors, further down the array. In short, calculating unique key combinations on a single analogue input pin is going to be, at best, difficult and in practice, almost impossible!&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Which takes us back to the multi-plex approach:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gL66kCrupqU/TtKvTtWJCiI/AAAAAAAABEg/Vp0vMOYbCxA/s1600/Image3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-gL66kCrupqU/TtKvTtWJCiI/AAAAAAAABEg/Vp0vMOYbCxA/s320/Image3.jpg" width="285" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here, we need to strobe each of D0, D1, D2, D3 and take multiple readings to calculate which pins are pressed. So, for example, we could force Port1 (output) D0 low (since the outputs are tied to Vcc through a pull-up resistor) and then read the values on input pin D3 on the Port2 (input).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Under normal circumstances, D3 is pulled high through the pull up resistor at the top left of the circuit. If, however, D3 is LOW, we know that button 3 must be being pressed down. Now we read the value of Port2 D2. Like before, we expect it to be high (no button pressed) but if it is low, this tells us that button 2 must be being pressed. Similarly, if Port2 D1 is low, button 1 is pressed, and if Port2 D0 is low, button 0 must be being held down.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Now we sent Port1 (output) D0 high and pull Port1 D1 (output) low.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Checking the input pins again this time tells us whether buttons 7,6,5 or 4 are held down.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Although this approach uses more pins and appears more complex (in execution rather than in hardware) it does allow us to tell exactly which combination of buttons are pressed, even if two, three or more buttons are pressed all at the same time.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We're looking at the &lt;a href="http://uk.farnell.com/microchip/pic18f4550-i-p/ic-8bit-flash-mcu-18f4550-pdip40/dp/9321357"&gt;18F4550&lt;/a&gt; which is a 40-pin PIC microcontroller (and includes USB so we can easily download game data onto the chip) but when you take out all the used pins (2 x power, 2 x ground, usb etc) we're lucky if we have up to 28 pins to play with.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;In a grid arrangement, this gives us not much more than a 14 x 14 matrix which is pretty small for anything but the simplest of board games......&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4264658226371233551?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4264658226371233551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/using-multiplexed-keypad-for-other.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4264658226371233551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4264658226371233551'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/using-multiplexed-keypad-for-other.html' title='Using a multiplexed keypad for other input ideas'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-GgH-5J91FkQ/TtKvU4rRqoI/AAAAAAAABEo/lBZi0a7WNTM/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-766765121434794121</id><published>2011-11-24T23:16:00.001Z</published><updated>2011-12-04T17:53:14.827Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='farnell'/><title type='text'>Fanell Blogger Outreach Program</title><content type='html'>Here at Nerd Towers, we're big fans of &lt;a href="http://uk.farnell.com/"&gt;Farnell&lt;/a&gt;.&lt;br /&gt;The level of service, fast delivery but most of all, their amazing website leaves the others in the shade!&lt;br /&gt;Although you can sometimes save a few pence (or even a few quid) by going to competitors such as RS, Rapid, Mouser, eBay etc, you often find buying a few bits from one, and a few bits from another - just to get the best deal - means waiting ages for all your different suppliers to send stuff out.&lt;br /&gt;&lt;br /&gt;Wherever possible we try to source all our components in one hit, from one place. And more often than not, it's from &lt;a href="http://uk.farnell.com/"&gt;Farnell&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The reason is because their website is so easy to use!&lt;br /&gt;I've never really browsed by category, or spent any time just clicking from item-to-item. I go straight for the search bar, type in what I want and then apply different filters to the results until I get what I want. Unlike some sites (*cough* RS) where even if you provide the exact part number you don't always get a match, the Farnell site has some really clever search intellegence behind it. You can even type in a vague description of the &lt;i&gt;sort of thing&lt;/i&gt; you're after and it'll have a stab at what it thinks you mean. And then alongside each set of results, are alternatives or related components. Not Amazon-style-other-people-bought-this, but actually complimentary alternatives to what you've found.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-sZVHyWXmAlM/Ts7SHFMhSlI/AAAAAAAABEQ/9d1wa3x7eGc/s1600/farnell_bar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="27" src="http://1.bp.blogspot.com/-sZVHyWXmAlM/Ts7SHFMhSlI/AAAAAAAABEQ/9d1wa3x7eGc/s320/farnell_bar.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Now we must add in a caveat to this Farnell-love-in.&lt;br /&gt;But it's just another reason we put them above the others - brand loyalty.&lt;br /&gt;Like most other "tech" suppliers, Farnell recently entered into the "community" arena; RS have their &lt;a href="http://www.designspark.com/"&gt;DesignSpark&lt;/a&gt; community (and their, frankly, dismal PCB design software), &lt;a href="http://www.instructables.com/id/Autodesk-Acquires-Instructables-What-It-Means-for/step5/Why-Autodesk-Bought-Instructables-in-One-Sentence/"&gt;Instructables was recently bought up by AutoDesk&lt;/a&gt; - suppliers of the eye-wateringly expensive AutoCAD - just to get a community base and even gave away free versions of their CAD software, and Farnell launched &lt;a href="http://www.element14.com/community/index.jspa"&gt;element14&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In fact, element14 was one of the first to recognise that what drives geek-communities is a challenge. So they set up the &lt;a href="http://www.element14.com/community/groups/the-great-global-hackerspace-challenge"&gt;Global HackerSpace Challenge&lt;/a&gt;. They even gave each hackspace a budget to buy stuff with. Not drop their own branded "freebies" onto them as a cheap alternative to beta-testing, but gave away real, genuine cash, and said "go buy stuff, make something with it, tell us what you made".&lt;br /&gt;&lt;br /&gt;Now Farnell are continuing in this vein, giving away yet more stuff - but allowing the recipient to decide what to choose, not just promoting their own range of products. It's called a "blogger outreach programme".&lt;br /&gt;&lt;br /&gt;And we think it's a great idea.&lt;br /&gt;But then again, we probably would, since we're one of the lucky recipients!&lt;br /&gt;It's hard, being given the Farnell catalogue to choose from, to decide what to go for. Choose something too expensive and you just end up looking greedy and getting expensive stuff for the sake of it. But then again, a handful of resistors worth 50p are hardly worth bothering with! In the end, we took a look at the projects we had on the go, and decided to grab some freebies to help complete them.&lt;br /&gt;&lt;br /&gt;So yesterday we received &lt;a href="http://uk.farnell.com/osram/lyn971-z/led-smd-yellow/dp/1226417"&gt;100 SMT LED&lt;/a&gt;s which originally were going to be for our word clock project (using SMT means not having to drill over 200 holes on the next board!) but we might just incorporate into a full-sized light-up guitar fingerboard.&lt;br /&gt;&lt;br /&gt;[photo here]&lt;br /&gt;&lt;br /&gt;Since we've spent many months working on our &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/microband-goes-live.html"&gt;range of miniature instruments&lt;/a&gt;, we've neglected what it was that first sparked the initial idea - that is a love of cool/geeky (full-sized) guitars. With a load of LEDs, we started designing an acrylic fingerboard (yup, acrylic. Not rosewood or ebony or maple - the usual choice of wood for a fingerboard, but good old laser-cuttable plastic!) The idea is to create a "learn to play" guitar neck, which can light up and show you where to put your fingers. Such guitars do exist, from places like FretLight, but they're quiet expensive!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-lzWF1bRj5JA/Ts7W83yCOnI/AAAAAAAABEY/sx5XsI7Lx6Q/s1600/fretlight.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="134" src="http://1.bp.blogspot.com/-lzWF1bRj5JA/Ts7W83yCOnI/AAAAAAAABEY/sx5XsI7Lx6Q/s320/fretlight.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We've a load of cheap guitars (off eBay) that play ok so we're going to try to retro-fit a light-up fretboard onto an existing instrument. But once we're done, we want the rest of the guitar to light up too!&lt;br /&gt;&lt;br /&gt;So our second freebie from Farnell was a &lt;a href="http://uk.farnell.com/surelight/500-2004/el-evaluation-kit-4/dp/1498088"&gt;selection of EL (electro-luminescent) wire&lt;/a&gt;&amp;nbsp;which we're planning on putting around the guitar body, for the ultimate glow-in-the-dark finish!&lt;br /&gt;&lt;br /&gt;[EL wire photo]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We're really looking forward to spending a bit of time doing what we do best - just nerding out with a bunch of components and seeing what we can come up with. And, of course, posting the results on our blog.&lt;br /&gt;&lt;div&gt;Check back for progress updates soon!&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-766765121434794121?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/766765121434794121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/fanell-blogger-outreach-program.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/766765121434794121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/766765121434794121'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/fanell-blogger-outreach-program.html' title='Fanell Blogger Outreach Program'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-sZVHyWXmAlM/Ts7SHFMhSlI/AAAAAAAABEQ/9d1wa3x7eGc/s72-c/farnell_bar.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-438862975848607684</id><published>2011-11-24T22:37:00.001Z</published><updated>2011-12-04T17:53:02.025Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pic'/><category scheme='http://www.blogger.com/atom/ns#' term='traffic lights'/><title type='text'>Multi-lights controller for toy cars</title><content type='html'>As one of the younger members of &lt;a href="http://www.hackllan.co.uk/"&gt;HackLlan&lt;/a&gt;&amp;nbsp;Jason was busy making&lt;a href="http://nerdclub-uk.blogspot.com/2011/11/pic-microcontrolled-traffic-lights.html"&gt; LED traffic lights&lt;/a&gt; for his younger brother last Thursday. This week, we've been working on taking that idea to the next level.&lt;br /&gt;&lt;br /&gt;Instead of a simple pin-on, pin-off with delay approach, we've changed the code in the microcontroller to use a single Timer0 interrupt (raising an "event" every 1ms) and a number of counters and state machines to control lots of different devices all at the same time.&lt;br /&gt;&lt;br /&gt;Instead of the smaller &lt;a href="http://uk.farnell.com/microchip/pic16f628a-i-p/ic-8bit-flash-mcu-16f628-dip18/dp/9760423"&gt;16F628A&lt;/a&gt; chip (used in the original prototype) we've gone to the other end of the scale and put in a massive 40-pin &lt;a href="http://uk.farnell.com/microchip/pic18f4550-i-p/ic-8bit-flash-mcu-18f4550-pdip40/dp/9321357"&gt;18F4550&lt;/a&gt;. This gives us plenty of i/o options. So far, we've kept PORTB for inputs (using the internal pull-ups to reduce the final component count), put the traffic lights on PORTD and used PORTC for the servo and LED controller for the level crossing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The what???&lt;br /&gt;&lt;br /&gt;That's right. This controller now &lt;i&gt;simultaneously&lt;/i&gt; handles:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;two sets of inter-dependent traffic lights&lt;/li&gt;&lt;li&gt;two sets of alternate flashing level crossing lights&lt;/li&gt;&lt;li&gt;two servos (level crossing gates)&lt;/li&gt;&lt;li&gt;a one-shot fire-on-release ultra-bright LED (speed camera)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;There are still plenty of spare i/o pins to add more to this project in the future (pelican crossing, belisha beacon etc) but we need to think about finishing off what we've got here, otherwise it'll be Xmas and we'll still have everything on a loose-wired breadboard (which let's be honest, won't be much of a final gift!)&lt;br /&gt;&lt;br /&gt;Here's a video showing the breadboard, controlling all the different lights and servos at the same time -&lt;br /&gt;well done Jason!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="362" src="http://www.youtube.com/embed/2Eh7ziv1Has?rel=0" width="490"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Note how the traffic lights continue to work independently of the other things on the board - the alternating lights work separately to the traffic lights, and the servo signals are being sent every 20ms to update the servo horn/gate positions. And all the while the speed camera goes off at periodic intervals!&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-438862975848607684?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/438862975848607684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/multi-lights-controller-for-toy-cars.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/438862975848607684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/438862975848607684'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/multi-lights-controller-for-toy-cars.html' title='Multi-lights controller for toy cars'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/2Eh7ziv1Has/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1540148632839768492</id><published>2011-11-20T17:48:00.001Z</published><updated>2011-12-04T17:52:47.900Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='charlie-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='word clock'/><title type='text'>Debugging charlie-plexed LED array</title><content type='html'>All of the online tutorials that mention charlie-plexing and LED array over using shift registers list pros and cons. The pro is always few components, simpler layout etc. and the cons always include "difficult to debug".&lt;br /&gt;&lt;br /&gt;They're not wrong!&lt;br /&gt;Since getting our &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/charlie-plexing-90-led-array-for-word.html"&gt;90-LED charlie-plexed array&lt;/a&gt; soldered up nearly a week ago, there's still little improvement on getting it to work properly! We did track down a few broken traces (the black toner in the printer was a bit faint in places so a few traces over-etched and had breaks in them). But even after fixing those, and spending hours and hours with the continuity tester/multimeter, there are still six different scenarios that cause the matrix to fail.&lt;br /&gt;&lt;br /&gt;Although we feel we're close to solving it (having identified which pins cause it to fail) the last bit - understanding our findings - is still as elusive as ever! Here's the array working as it should:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-bq2mzufBiaY/Tsk-exVSLHI/AAAAAAAABDo/LINIFp8yV8c/s1600/Hpim2378.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-bq2mzufBiaY/Tsk-exVSLHI/AAAAAAAABDo/LINIFp8yV8c/s320/Hpim2378.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;The sheet in the background is a drawing of our findings - the six scenarios that cause the matrix to fail and the LED pattern created, instead of a single LED lighting up&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Every now and again, however, we get something like this result&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-FMhxEW19Xgc/Tsk-gqaEk4I/AAAAAAAABDw/VTDCwKXKYQU/s1600/Hpim2379.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-FMhxEW19Xgc/Tsk-gqaEk4I/AAAAAAAABDw/VTDCwKXKYQU/s320/Hpim2379.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;&amp;nbsp;The LED we expected to be lit up is in the centre of the "cross" shape - and remains stubbornly unlit&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Even more peculiarly, we did some measuring with the voltmeter. When an LED is lit properly (from a 5v source running through 200 ohms) the voltage across the cathode and anode pins is around 2.9V. The voltage across all the other LEDs in the same row/columns is about 0.6V which is the typical voltage drop across a diode, but not enough to cause it to light up.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-NR38c_UtNpM/Tsk-ivC3JjI/AAAAAAAABD4/rQIMhFP8BQM/s1600/Hpim2380.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-NR38c_UtNpM/Tsk-ivC3JjI/AAAAAAAABD4/rQIMhFP8BQM/s320/Hpim2380.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;When we measured the voltage across the pins of an LED that wouldn't light up (the one we expected to light up but is in the middle of the cross - and remains unlit) we got almost a full 5v across the two pins. All the other LEDs that were faintly lit measured about 2.8-2.9V. So in this case, with the dim LED in the centre of the cross, we're measuring 5V across the pins, but it does not light up.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5_0qh-i_Yu4/Tsk-kWW-FUI/AAAAAAAABEA/JZn2ufl8fIM/s1600/Hpim2382.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-5_0qh-i_Yu4/Tsk-kWW-FUI/AAAAAAAABEA/JZn2ufl8fIM/s320/Hpim2382.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here's a diagram of the pins combinations which don't work, and the LED "patterns" that are lit up.&lt;br /&gt;If anyone can spot a pattern or - better still - come up with an explanation, please leave a comment below (and anyone else in future having similar problems might have some idea where to begin debugging!)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-47HVTUneu0Q/TslEHhORH-I/AAAAAAAABEI/91httonmHA4/s1600/debug_matrix.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-47HVTUneu0Q/TslEHhORH-I/AAAAAAAABEI/91httonmHA4/s320/debug_matrix.jpg" width="210" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1540148632839768492?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1540148632839768492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/debugging-charlie-plexed-led-array.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1540148632839768492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1540148632839768492'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/debugging-charlie-plexed-led-array.html' title='Debugging charlie-plexed LED array'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-bq2mzufBiaY/Tsk-exVSLHI/AAAAAAAABDo/LINIFp8yV8c/s72-c/Hpim2378.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-282885229207100684</id><published>2011-11-15T13:46:00.001Z</published><updated>2011-12-04T17:52:23.761Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='charlie-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='word clock'/><title type='text'>Testing our 90-led charlie-plexed LED array</title><content type='html'>There's something not quite right with our &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/charlie-plexing-90-led-array-for-word.html"&gt;LED array&lt;/a&gt;.&lt;br /&gt;In the main, it works fine. By simply applying 5V across different terminals we can see individual LEDs light up. Here's an example of lighting a single LED by applying 5v across two of the 10 available terminals:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-z1ismgxyt-Y/TsJtS19pENI/AAAAAAAABDQ/87JVOpFM2NQ/s1600/Hpim2370.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-z1ismgxyt-Y/TsJtS19pENI/AAAAAAAABDQ/87JVOpFM2NQ/s320/Hpim2370.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;(yes, that is &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/pic-microcontrolled-traffic-lights.html"&gt;Jason's traffic light LED project&lt;/a&gt; - I just nicked the 9v battery and 5v regulated output for the sake of testing this new board!)&lt;br /&gt;&lt;br /&gt;But every now and again - and it is just every now and again, not very often - we get a peculiar result. Instead of single, bright, LED lighting up, an entire row (and sometimes part of the column) lights up too. We're putting this down to either a dodgy LED somewhere, or an LED being soldered in the wrong way around.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-PphO_yfWjFs/TsJuSS0tBTI/AAAAAAAABDY/kby7_Qz2rYc/s1600/Hpim2371.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-PphO_yfWjFs/TsJuSS0tBTI/AAAAAAAABDY/kby7_Qz2rYc/s320/Hpim2371.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;At the minute there's no real pattern to which combination of terminals gives the bad response.&lt;br /&gt;There's one way to get to the bottom of this - to build an LED tester:&lt;br /&gt;The idea is to create something that we can control which pin takes 5v and which takes ground, and record the result in a truth table (similar to the table created at design stage). Hopefully by cross-referencing these results to our schematic, we should be able to identify which LED(s) are common to all the problem terminals.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-282885229207100684?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/282885229207100684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/testing-our-90-led-charlie-plexed-led.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/282885229207100684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/282885229207100684'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/testing-our-90-led-charlie-plexed-led.html' title='Testing our 90-led charlie-plexed LED array'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-z1ismgxyt-Y/TsJtS19pENI/AAAAAAAABDQ/87JVOpFM2NQ/s72-c/Hpim2370.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1626827546956703601</id><published>2011-11-14T22:35:00.001Z</published><updated>2011-12-04T17:52:05.135Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='charlie-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='word clock'/><title type='text'>Charlie-plexing 90 LED array for word clock</title><content type='html'>Despite somehow printing the &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/word-clock_10.html"&gt;PCB for our word clock project at about 90%&lt;/a&gt; (so the 0.1" pitch connector won't fit properly!) we decided that we'd put too much work into the first version just to scrap it - drilling over 200 holes by hand was over an hour's work on it's own!. We do now have a "proper" sized board, but we figured that we could use this messed up one as a proof-of-concept prototype.&lt;br /&gt;&lt;br /&gt;So we got 100 white 3mm LEDs off eBay and set to work.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Yszrq0kX5i4/TsGYxEroRoI/AAAAAAAABCQ/Qm_fNBtX0OA/s1600/Hpim2359.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-Yszrq0kX5i4/TsGYxEroRoI/AAAAAAAABCQ/Qm_fNBtX0OA/s320/Hpim2359.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We started out with the top row of 10 LEDs - soldering the legs but NOT cutting them to length. Then after the second row of ten LEDs had been soldered in, we could bend the legs on the top row across to solder to the LEDs on the second row. This is how we're making our connections between each horizontal "row" on the PCB.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_vJnl9vL_uA/TsGZTRyQrzI/AAAAAAAABCY/oObTnsimBNA/s1600/Hpim2361.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-_vJnl9vL_uA/TsGZTRyQrzI/AAAAAAAABCY/oObTnsimBNA/s320/Hpim2361.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Care should be taken to make sure that all "ground" legs (i.e. the shorter, cathode leg) are clipped short enough so that the legs being bent DON'T make contact with them (effectively shorting one or more LEDs to ground).&lt;br /&gt;&lt;br /&gt;Here's the top side of the board after the first two rows of LEDs were installed&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-a9LxePBElQY/TsGZ6KA0e8I/AAAAAAAABCg/1BlHuOe4kwM/s1600/Hpim2362.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-a9LxePBElQY/TsGZ6KA0e8I/AAAAAAAABCg/1BlHuOe4kwM/s320/Hpim2362.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;After installing a couple of rows of LEDs, getting the snips in between all the flying legs was a bit of a problem, so we cut the cathodes of all the LEDs to length &lt;i&gt;before&lt;/i&gt; putting them onto the board.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-q9p-y_PHtL0/TsGaO71oUeI/AAAAAAAABCo/BtMBbqxwo6Y/s1600/Hpim2363.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-q9p-y_PHtL0/TsGaO71oUeI/AAAAAAAABCo/BtMBbqxwo6Y/s320/Hpim2363.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This made installing the LEDs much easier - less than 30 minutes later and we had a fully populated board:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BZ2n6LeiftA/TsGagM0yHuI/AAAAAAAABCw/E8brq4wgthA/s1600/Hpim2366.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-BZ2n6LeiftA/TsGagM0yHuI/AAAAAAAABCw/E8brq4wgthA/s320/Hpim2366.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The reverse side showing how the LED legs were bent in different directions, to create connections across the horizontal rails on the PCB&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ivOL7w5FY0A/TsGa1VhwgcI/AAAAAAAABC4/EHFxMIy7SpQ/s1600/Hpim2367.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-ivOL7w5FY0A/TsGa1VhwgcI/AAAAAAAABC4/EHFxMIy7SpQ/s320/Hpim2367.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;(note the connector is still in place but the final job will be to remove this and solder the ends of the wires from a 10-way multi-core cable straight onto the board)&lt;br /&gt;&lt;br /&gt;The final LED matrix with current limiting resistors in place on each "column" of the matrix.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-GxwYUaP_kv8/TsGbjLI7akI/AAAAAAAABDI/R-89l--TWto/s1600/Hpim2368.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-GxwYUaP_kv8/TsGbjLI7akI/AAAAAAAABDI/R-89l--TWto/s320/Hpim2368.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now we're ready to hook it up to a microcontroller and start flashing those lights! Sadly, it's a little late to be starting such a thing now, so it'll have to wait until the morning......&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1626827546956703601?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1626827546956703601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/charlie-plexing-90-led-array-for-word.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1626827546956703601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1626827546956703601'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/charlie-plexing-90-led-array-for-word.html' title='Charlie-plexing 90 LED array for word clock'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Yszrq0kX5i4/TsGYxEroRoI/AAAAAAAABCQ/Qm_fNBtX0OA/s72-c/Hpim2359.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3479579306555050376</id><published>2011-11-14T22:29:00.001Z</published><updated>2011-12-04T17:51:48.683Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pic'/><category scheme='http://www.blogger.com/atom/ns#' term='traffic lights'/><title type='text'>PIC microcontrolled traffic lights</title><content type='html'>This is a set of traffic lights, created by the newest (and youngest) member of &lt;a href="http://www.hackllan.co.uk/"&gt;HackLlan&lt;/a&gt;, Llangollen's hackspace. Jason is also a member of our nerd club and his first microcontroller project was this funky set of traffic lights&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zkcvPZbl_WY/TsGWoskFCWI/AAAAAAAABCI/Nk11DfkBzLM/s1600/Hpim2358.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-zkcvPZbl_WY/TsGWoskFCWI/AAAAAAAABCI/Nk11DfkBzLM/s320/Hpim2358.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;He's used a PIC16F628A - the perfect "beginner" chip for starting out with PIC programming, although he's not really done much with the myriad of interfaces available on this chip (I2C, SPI, serial UART etc). Jason wired up the board, created the state machine for the lighting sequence and coded the &lt;a href="http://www.oshonsoft.com/pic.html"&gt;Oshonsoft BASIC&lt;/a&gt; program to make the lights play out the same sequence as a real set of traffic lights.&lt;br /&gt;&lt;br /&gt;The final result is quite impressive, with the 5mm LEDs mounted onto tiny little home-made PCBs, ready for fitting into their final enclosure.&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="362" src="http://www.youtube.com/embed/w8xL73u9TmA" width="490"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3479579306555050376?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3479579306555050376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/pic-microcontrolled-traffic-lights.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3479579306555050376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3479579306555050376'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/pic-microcontrolled-traffic-lights.html' title='PIC microcontrolled traffic lights'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-zkcvPZbl_WY/TsGWoskFCWI/AAAAAAAABCI/Nk11DfkBzLM/s72-c/Hpim2358.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6364266108957184856</id><published>2011-11-10T21:28:00.001Z</published><updated>2011-12-04T17:51:32.966Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><title type='text'>Microband goes live</title><content type='html'>One of the reasons there's not been much hardware activity is because we've been coding away like a troupe of monkeys to get the instrument software (and accompanying website) if not finished, at least in a state that we can use to demonstrate the instruments.&lt;br /&gt;&lt;br /&gt;We're calling the range "&lt;a href="http://www.microband.co.uk/"&gt;MicroBand&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;(micro because they're small, but also because they're driven by Microchips micro-controllers. You really couldn't get more micro than one of our micro instruments!)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ej2LsBCllrw/TrxCkACM-sI/AAAAAAAABBg/Cbmr6KJLU8w/s1600/band_header_logo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="53" src="http://4.bp.blogspot.com/-ej2LsBCllrw/TrxCkACM-sI/AAAAAAAABBg/Cbmr6KJLU8w/s320/band_header_logo.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The software uses an Activex DLL to raise events whenever the instrument is played. This allows us to concentrate on getting everything working, then handing a large part of it over to the community to play about with and see what they can come up with!&lt;br /&gt;&lt;br /&gt;When a micro instrument is connected, the DLL raises a connected event, reads some data off the device and displays it as an interactive animation on the screen&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-TXIp7BBH27E/TrxGEHihm7I/AAAAAAAABBo/a-mNTJBPf94/s1600/Hpim2355.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-TXIp7BBH27E/TrxGEHihm7I/AAAAAAAABBo/a-mNTJBPf94/s320/Hpim2355.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;(the onscreen guitar highlights which fret the user has selected at any time the instrument is held and played properly - note how the onscreen display changes to match the instrument you're holding)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The software includes a sequencer, so multiple players can collaborate on a single song. In the example below, another user has already laid down a drum track (red) and the sequencer shows the guitar track just played and recorded (yellow)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4Nau2p_VvwY/TrxGiwMFHjI/AAAAAAAABBw/pzw_SG7KsUk/s1600/Image2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="230" src="http://2.bp.blogspot.com/-4Nau2p_VvwY/TrxGiwMFHjI/AAAAAAAABBw/pzw_SG7KsUk/s320/Image2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Using this multi-layered approach, other players with different instruments (bass, synth/keys, rhythm guitar, vocals etc) can come together to create tracks, using the website integration to pull everything together.&lt;br /&gt;Which brings us onto the website - it's pretty straight forward and rather than spend ages discussing it with photos here, visit &lt;a href="http://www.microband.co.uk/"&gt;http://www.microband.co.uk&lt;/a&gt; and see for yourself!&lt;br /&gt;&lt;br /&gt;Having recognised my username and password, the server knows which guitar I've got, and updates the onscreen avatar to reflect my customisations. In time, we hope to have a full video creation tool, where players - having created their multi-track mp3 songs - can animate their avatars in time to their own musical creations.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Tp2rckATqic/TrxHQeduyeI/AAAAAAAABB4/FoOTTSehXgM/s1600/Image3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="140" src="http://4.bp.blogspot.com/-Tp2rckATqic/TrxHQeduyeI/AAAAAAAABB4/FoOTTSehXgM/s320/Image3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We've still quite a way to go to get a "complete" working, finished product. But at the same time, we're now at the point where we need to see how people use the instruments, to see how and where we need to improve things. So the first batch of guitars have been made up and sent out.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-cqXOT9Tvmm4/TrxHwZc6V6I/AAAAAAAABCA/UpTurIyZ8Ok/s1600/Hpim2338.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-cqXOT9Tvmm4/TrxHwZc6V6I/AAAAAAAABCA/UpTurIyZ8Ok/s320/Hpim2338.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The next job is to get some pals together, have a massive jam session one weekend and get a load of samples recorded for the website! (and of course, to record some videos to demonstrate just how cool these little instruments are to play - if a picture is worth a thousand words, one Youtube video is worth, erm, just loads of these types of blog posts - look out for a video update soon!)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6364266108957184856?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6364266108957184856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/microband-goes-live.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6364266108957184856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6364266108957184856'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/microband-goes-live.html' title='Microband goes live'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ej2LsBCllrw/TrxCkACM-sI/AAAAAAAABBg/Cbmr6KJLU8w/s72-c/band_header_logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-2322272632597817515</id><published>2011-11-10T21:21:00.001Z</published><updated>2011-12-04T17:51:21.914Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><title type='text'>Miniature instruments update</title><content type='html'>We've not really done much on the actual instrument hardware in recent days - except perhaps finally settle on a design we're happy with. Since trying numerous ways of building the instrument from layers of acrylic, we feel we never quite got the neck/fingerboard design right. Until tonight....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-IkyFAIoUDeo/TrxAex_ZDuI/AAAAAAAABBQ/XVHFb5KVZSU/s1600/Hpim2345.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-IkyFAIoUDeo/TrxAex_ZDuI/AAAAAAAABBQ/XVHFb5KVZSU/s320/Hpim2345.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This latest style - the Les Paul classic shape - now has a fingerboard slightly raised from the body join. This is how a real guitar looks- the neck may be bolted flush to the body, but the fingerboard is always slightly raised (presumably to help the player to reach those tricky 22nd and 23rd frets!)&lt;br /&gt;&lt;br /&gt;We're going to use this design on all our guitars in future, raising the fingerboard slightly proud of the guitar body. Here's how we acheived it -&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7XU4yq6Vu4o/TrxAhEkkanI/AAAAAAAABBY/CDNaZYZyZCg/s1600/Hpim2348.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-7XU4yq6Vu4o/TrxAhEkkanI/AAAAAAAABBY/CDNaZYZyZCg/s320/Hpim2348.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Each guitar body is made of 2 layers of 5mm acrylic (with the middles cut away to create a hollow into which the electronics are places inside the guitar body). The lower layer does not include a cut away for the guitar neck to sit in. In the old design, we would glue the 5mm guitar neck onto this lower layer, so that when the fingerboard and 3mm top body layer were placed on, they were pretty much in line.&lt;br /&gt;&lt;br /&gt;By adding a 3mm shim on top of the bottom layer, when we put the guitar neck on, it is raised above the height of the second layer. When the final (top) layer of acrylic is in place (often a different colour to the 5mm layers) the whole assembly is flush. The fingerboard is placed on top of the neck, with the end result that it stands a few millimetres above the guitar body - just like the real thing!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-2322272632597817515?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/2322272632597817515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/miniature-instruments-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2322272632597817515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2322272632597817515'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/miniature-instruments-update.html' title='Miniature instruments update'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-IkyFAIoUDeo/TrxAex_ZDuI/AAAAAAAABBQ/XVHFb5KVZSU/s72-c/Hpim2345.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-9009155189294820076</id><published>2011-11-10T20:55:00.001Z</published><updated>2011-12-04T17:51:06.942Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='charlie-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='word clock'/><title type='text'>Word clock</title><content type='html'>Carrying on our &lt;a href="http://nerdclub-uk.blogspot.com/2011/11/word-clock.html"&gt;Word Clock project&lt;/a&gt;, we managed to get a PCB made for it tonight.&lt;br /&gt;The final PCB was drawn out in our old favourite &lt;a href="http://www.expresspcb.com/"&gt;ExpressPCB&lt;/a&gt;&amp;nbsp;(because the free version of &lt;a href="http://www.diptrace.com/"&gt;DipTrace&lt;/a&gt; has a limit on the number of pins you can use in one circuit). It took a while getting used to the rather basic interface again, but it didn't take long before it all came flooding back!&lt;br /&gt;&lt;br /&gt;Here's the PCB design we came up with.&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/72288663/Charlie-Plex-90-Pcb-Black" style="display: inline !important; font-family: Helvetica, Arial, sans-serif; font-size: 14px; margin-bottom: 6px; margin-left: auto; margin-right: auto; margin-top: 12px;" title="View Charlie Plex 90 Pcb - Black on Scribd"&gt;Charlie Plex 90 Pcb - Black&lt;/a&gt;&lt;br /&gt;&lt;iframe class="scribd_iframe_embed" data-aspect-ratio="1.41503267973856" data-auto-height="true" frameborder="0" height="600" id="doc_78146" scrolling="no" src="http://www.scribd.com/embeds/72288663/content?start_page=1&amp;amp;view_mode=list&amp;amp;access_key=key-1euj677ds7d2lfn140w5" width="100%"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;(function() { var scribd = document.createElement("script"); scribd.type = "text/javascript"; scribd.async = true; scribd.src = "http://www.scribd.com/javascripts/embed_code/inject.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(scribd, s); })();&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It's not really 100% complete, because we've only really run the traces in the horizontal direction. When the LEDs are in place on the board, we'll have to bend some legs over and solder an LED leg to another LED leg - &amp;nbsp;because otherwise we'd either end up with a really complex PCB layout or crossed traces somewhere:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RuEDVOi_XKM/Trw7837nkpI/AAAAAAAABAo/L_n7eR9-kcY/s1600/leds_90.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-RuEDVOi_XKM/Trw7837nkpI/AAAAAAAABAo/L_n7eR9-kcY/s320/leds_90.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;note that the horizontal LEDs are connected where necessary (e.g. D51-D55, to D45-D50 are all connected) but the vertical LEDs (D5, D15, D25, D35 etc) need to be connected using the component legs&lt;/i&gt;&lt;br /&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;To connect the LED legs in the vertical directions, we'll just solder the legs together, similar to the way shown in this diagram -&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dOgpxRBIhkM/Trw864n4qZI/AAAAAAAABAw/fmtleM7Lwhc/s1600/led_legs_joined.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-dOgpxRBIhkM/Trw864n4qZI/AAAAAAAABAw/fmtleM7Lwhc/s1600/led_legs_joined.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, here's the board after etching and cleaning - getting ready to drill the LED holes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dj3FIcmBQRM/Trw9Je44VvI/AAAAAAAABA4/FFiujH0ELcE/s1600/Hpim2342.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-dj3FIcmBQRM/Trw9Je44VvI/AAAAAAAABA4/FFiujH0ELcE/s1600/Hpim2342.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Almost an hour later, after drilling over 200 holes with a hand drill, it started to look like an array of components might actually live on this board:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-xt8x4W4qjgs/Trw9q5kMcMI/AAAAAAAABBA/ZJi5kZVCQi8/s1600/Hpim2343.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-xt8x4W4qjgs/Trw9q5kMcMI/AAAAAAAABBA/ZJi5kZVCQi8/s320/Hpim2343.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;With the board drilled (and while we waited for the 150 LEDs we'd ordered off eBay to arrive) we lined up the plastic inserts, that we cut last week, against our PCB. Each LED should sit snugly into each "cell" in the insert -&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-7ZxJeIcnG34/Trw-I-wdabI/AAAAAAAABBI/c7MOGmBjPug/s1600/Hpim2350.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-7ZxJeIcnG34/Trw-I-wdabI/AAAAAAAABBI/c7MOGmBjPug/s320/Hpim2350.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Bugger. We're out by quite a bit. Having measured the spacing for 3mm LEDs and set the spacing in the insert grid to 8mm (that's 3mm for the LED plus 2.5mm top and bottom for the PCB traces) we're still not sure how we got this one so far out.&lt;br /&gt;But the PCB is made and etched (we've another one in the making too) so it makes sense to redesign and cut the grid to better suit the PCB, rather than the other way around. Maybe it's time to fire up the laser cutter again......&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-9009155189294820076?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/9009155189294820076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/word-clock_10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/9009155189294820076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/9009155189294820076'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/word-clock_10.html' title='Word clock'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-RuEDVOi_XKM/Trw7837nkpI/AAAAAAAABAo/L_n7eR9-kcY/s72-c/leds_90.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8977570078603494496</id><published>2011-11-04T13:39:00.001Z</published><updated>2011-12-04T17:50:44.458Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='delta robot'/><title type='text'>Delta robot update</title><content type='html'>Here's our delta robot after gluing the "hip" joints to the servo horns and assembling the limbs.&lt;br /&gt;Note that the joints are simply bits of elastic tied through the connecting pieces. We don't know yet if this is a suitable way of making joints, but they look ok so far - and allow for multiple degrees of movement, in all different directions, not just in one direction (without having to use expensive ball-and-socket type joints)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CQPOfSnnrUg/TrPqDdxsx9I/AAAAAAAAA-g/4p8F_GbajEo/s1600/Hpim2337.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-CQPOfSnnrUg/TrPqDdxsx9I/AAAAAAAAA-g/4p8F_GbajEo/s320/Hpim2337.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Please, no more comments about how messy the desk is or "haven't I seen that black guitar somewhere before?" - we tend to tidy up &lt;i&gt;after&lt;/i&gt; we've finished what we're &amp;nbsp;making. Which, given the number of projects we've actually completed, explains why the place is always such a mess!&lt;br /&gt;&lt;br /&gt;Now to let the glue dry before trying to actually move it around.&lt;br /&gt;So while that's happening, let's get on with the controller board. As ever, it'll be a USB HID device, driven by a trusty &lt;a href="http://uk.farnell.com/microchip/pic18f2455-i-sp/ic-mcu-8-bit-24k-flash-spdip28/dp/1579600"&gt;PIC 18F2455&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(the final robot may not be usb-driven, but putting a USB chip on during development makes it really easy to read back values for debugging and to see what's actually going on in your code!)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8977570078603494496?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8977570078603494496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/delta-robot-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8977570078603494496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8977570078603494496'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/delta-robot-update.html' title='Delta robot update'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-CQPOfSnnrUg/TrPqDdxsx9I/AAAAAAAAA-g/4p8F_GbajEo/s72-c/Hpim2337.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-2514099700953184639</id><published>2011-11-04T00:10:00.001Z</published><updated>2011-12-04T17:50:27.662Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><title type='text'>Miniature guitars manufacturing process</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Incredibly, it's November and we're still perfecting the manufacturing process for our range of miniature instruments (starting with the micro guitars). We've got the PCBs made up and have placing and soldering the components down to quite a fine art - even if we're still doing everything by hand, until we've a working &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-machine-needed.html"&gt;pick-and-place machine&lt;/a&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://nerdclub-uk.blogspot.com/2011/08/soldering-0025-pitch-cable.html"&gt;Soldering the multi-core cable&lt;/a&gt; is still quite a job to do by hand but we've got it down to about five-ten minutes per instrument, including testing and resoldering should any dry joints cause problems.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;One of our bottle-necks is getting the guitar strings consistently the same length and all bent to the right angle(s). These finished guitars look ok, but if you examine them closely (around the bridge and neck positions) you'll see that on some, the guitar strings look a bit bent and wiggly.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-mTfDAtKpH1c/TrMroTvhMAI/AAAAAAAAA-Q/Itr4VnPtF4g/s1600/Hpim2326.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-mTfDAtKpH1c/TrMroTvhMAI/AAAAAAAAA-Q/Itr4VnPtF4g/s320/Hpim2326.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;While we had the laser cutter out, we made a simple jig for bending the wires.&lt;br /&gt;We went through all the guitar designs and made sure that the holes for each lined up exactly then made a template for bending our wires.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-rofJs9jUDJ4/TrMrrfos3-I/AAAAAAAAA-Y/u06lrBBpuOQ/s1600/Hpim2332.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-rofJs9jUDJ4/TrMrrfos3-I/AAAAAAAAA-Y/u06lrBBpuOQ/s320/Hpim2332.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As you can see, using the jig, all our guitar strings are now neatly lined up, all the same length, and all entering the guitar body at the same angle. Such a simple job - but it makes such a difference!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-2514099700953184639?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/2514099700953184639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/miniature-guitars-manufacturing-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2514099700953184639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2514099700953184639'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/miniature-guitars-manufacturing-process.html' title='Miniature guitars manufacturing process'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-mTfDAtKpH1c/TrMroTvhMAI/AAAAAAAAA-Q/Itr4VnPtF4g/s72-c/Hpim2326.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8916254498139097347</id><published>2011-11-04T00:01:00.003Z</published><updated>2011-12-04T17:50:09.921Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='charlie-plexing'/><category scheme='http://www.blogger.com/atom/ns#' term='word clock'/><title type='text'>Word clock</title><content type='html'>As part of the &lt;a href="http://www.hackllan.co.uk/"&gt;HackLlan&lt;/a&gt; show-and-tell session, we're hoping to get a number of projects finally finished (or at least in a presentable form) and so we're furiously cutting and making, every time the laser cutter gets pulled out of the HackCupboard.&lt;br /&gt;&lt;br /&gt;Here's the internal guts for a word clock.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Xx-OxgAcAN8/TrMkRw4HoHI/AAAAAAAAA9o/xvD1rVc8SU4/s1600/Hpim2329.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-Xx-OxgAcAN8/TrMkRw4HoHI/AAAAAAAAA9o/xvD1rVc8SU4/s320/Hpim2329.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here it is assembled (missing the top and right-edge struts)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-TMlM79Wi5wU/TrMkTpFNerI/AAAAAAAAA9w/q_F7M7-D_w8/s1600/Hpim2331.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-TMlM79Wi5wU/TrMkTpFNerI/AAAAAAAAA9w/q_F7M7-D_w8/s320/Hpim2331.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;The idea is to place this structure over an array of LEDs (90 in total) which are &lt;a href="http://en.wikipedia.org/wiki/Charlieplexing"&gt;charlie-plexed&lt;/a&gt; by a single &lt;a href="http://uk.farnell.com/microchip/pic18f2455-i-sp/ic-mcu-8-bit-24k-flash-spdip28/dp/1579600"&gt;PIC 18F2455 microcontroller&lt;/a&gt;.&lt;br /&gt;Using the formula &lt;i&gt;pins required = n(n-1)&lt;/i&gt; we can work out that we're going to need 10 pins to drive an array of 90 LEDs (10 * (10-1) = 10*9 = 90). It may be possible to drive this array from a cheaper, lower-spec PIC, such as the &lt;a href="http://uk.farnell.com/microchip/pic16f628a-i-p/ic-8bit-flash-mcu-16f628-dip18/dp/9760423"&gt;16F628A&lt;/a&gt;&amp;nbsp;and our chosen chip is probably a bit of over-kill for what we need, but it'll be nice to have extra i/o pins if needed, for extra functionality in future.&lt;br /&gt;&lt;br /&gt;Here's how we're driving 90 LEDs:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-j8NnjV8xx8w/TrMomr2VVmI/AAAAAAAAA94/ZJfvl_MASUQ/s1600/charlie.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="172" src="http://1.bp.blogspot.com/-j8NnjV8xx8w/TrMomr2VVmI/AAAAAAAAA94/ZJfvl_MASUQ/s320/charlie.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And the truth-table (which pins to activate) to turn on each individual LED&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-LJzdt8cCYFs/TrMposf2hjI/AAAAAAAAA-A/lu9YikXo6JY/s1600/charlie_truth.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-LJzdt8cCYFs/TrMposf2hjI/AAAAAAAAA-A/lu9YikXo6JY/s320/charlie_truth.jpg" width="117" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;How does a matrix of 90 LEDs become a clock then?&lt;br /&gt;By simply placing our cell-structure over the leds (so we don't get any light-leakage) and fitting an etched piece of glass/perspex like this over the top:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--SVBJsimAhQ/TrMqkE1kupI/AAAAAAAAA-I/h8l5guHd-UA/s1600/word_clock_words.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://1.bp.blogspot.com/--SVBJsimAhQ/TrMqkE1kupI/AAAAAAAAA-I/h8l5guHd-UA/s320/word_clock_words.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Light up the LEDs depending on the time - so for half past four, we'd light up LEDs numbered&amp;nbsp;1,2,3,4,5,6,7,33,34,35,36,64,65,66,67. We'll put a watch crystal inside to keep accurate time, then just convert the current hours and minutes into a selection of LEDs to light up - and use the charlie-plexing routines to make the appropriate lights come on at the correct times. Easy huh?&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8916254498139097347?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8916254498139097347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/word-clock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8916254498139097347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8916254498139097347'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/word-clock.html' title='Word clock'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Xx-OxgAcAN8/TrMkRw4HoHI/AAAAAAAAA9o/xvD1rVc8SU4/s72-c/Hpim2329.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8094465542368339588</id><published>2011-11-03T23:36:00.001Z</published><updated>2011-12-04T17:49:42.476Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='laser cutter'/><category scheme='http://www.blogger.com/atom/ns#' term='robotics'/><category scheme='http://www.blogger.com/atom/ns#' term='delta robot'/><title type='text'>Delta robot and laser cutting</title><content type='html'>At another of our HackLlan meetings, and in preparation for the show-and-tell (provisionally booked for Sat 26th November, on the same day as the Llangollen Xmas Festival) we've had the laser cutter out, busy making and preparing a number of different projects.&lt;br /&gt;&lt;br /&gt;First up is a simple three-servo delta-robot.&lt;br /&gt;This robot will be programmed with a script to perform repetitive tasks such as pick up, move, release an object. There are no plans for any further &amp;nbsp;intelligence to be programmed into it at this stage - but perhaps could be used as a project for any follow-up workshop from the show-and-tell session.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-E74FiiknyDc/TrMkP98L4sI/AAAAAAAAA9g/aX5XvbbUBHM/s1600/Hpim2328.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-E74FiiknyDc/TrMkP98L4sI/AAAAAAAAA9g/aX5XvbbUBHM/s320/Hpim2328.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The photo above shows the main structure with the servos mounted on it at 120 degree intervals. Slots were cut into a round disk, to allow the servo heads to move through 180 degrees, perpendicular to the base. The servos were lined up by placing their corners on top of some small cross-hairs etched into the base and stuck down with double-sided tape (in the final version we'll use permanent plastic cement, but for now we may need to move them around again as development continues!)&lt;br /&gt;&lt;br /&gt;There are three legs, each made up of three lengths of acrylic.&lt;br /&gt;The "hip" joint - the part that connects to the servo - is a single piece with a large circular head (for connecting to the servo horn). The lower part of the leg - from the "knee" to the ankle - is made up of two pieces connected either side of the top piece.&lt;br /&gt;&lt;br /&gt;We're still thinking about how to make the joints, as the "ankle" joints need to free-moving in all axis directions. Someone suggested hobby-sized ball joints (like those found on remote control cars, helicopters etc). A cruder (but easier and cheaper) solution might be to simply use elastic bands to make the joints....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8094465542368339588?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8094465542368339588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/delta-robot-and-laser-cutting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8094465542368339588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8094465542368339588'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/11/delta-robot-and-laser-cutting.html' title='Delta robot and laser cutting'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-E74FiiknyDc/TrMkP98L4sI/AAAAAAAAA9g/aX5XvbbUBHM/s72-c/Hpim2328.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7771005257160486901</id><published>2011-10-31T18:41:00.000Z</published><updated>2011-12-04T17:49:06.062Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cnc'/><title type='text'>Pick and place update</title><content type='html'>We've been a bit busy with all kinds of projects lately, but this popped up in Google+ today and looks like a really good idea - it's a homebrew pick and place machine, based on a CNC frame.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hackedgadgets.com/2011/10/24/diy-pick-and-place-machine-called-the-redfrog/"&gt;http://hackedgadgets.com/2011/10/24/diy-pick-and-place-machine-called-the-redfrog/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But the thing that caught our imagination was the tape advance method.&lt;br /&gt;The head simply drops into one of the tractor tracks on the side of the tape and pulls it along! No need for complicated electronic feeds or multiple steppers - just use the positioning head to pull the tape along to the correct place. A neat idea.&lt;br /&gt;&lt;br /&gt;Hopefully it won't be too long before we get to try it on our own machine!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7771005257160486901?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7771005257160486901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/pick-and-place-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7771005257160486901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7771005257160486901'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/pick-and-place-update.html' title='Pick and place update'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-4099869151904807662</id><published>2011-10-28T00:41:00.000+01:00</published><updated>2011-12-04T17:48:51.143Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><title type='text'>New guitar models added to the microband range</title><content type='html'>After spending a few days soldering up some of the &lt;a href="http://nerdclub-uk.blogspot.com/2011/10/pcbs-arrived-from-pcbcart.html"&gt;new PCBs&lt;/a&gt; from &lt;a href="http://www.pcbcart.com/"&gt;www.pcbcart.com&lt;/a&gt;&amp;nbsp;we fired up the laser cutter to make some enclosures for the new miniature guitars. We're working on a complete range of micro instruments at &lt;a href="http://www.microband.co.uk/"&gt;http://www.microband.co.uk&lt;/a&gt;&amp;nbsp;and hope to have at least eight different guitar models.&lt;br /&gt;&lt;br /&gt;We've already got&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html"&gt;Stratocaster&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html"&gt;Flying V&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html"&gt;Explorer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;And we're hoping to complete the range with&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Les Paul&lt;/li&gt;&lt;li&gt;Warlock&lt;/li&gt;&lt;li&gt;Telecaster&lt;/li&gt;&lt;li&gt;Gibson SG (AC/DC)&lt;/li&gt;&lt;li&gt;F-hole blues (like BB King's Lucille)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Tonight we managed to design and cut out two of these new guitars:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-p-BOu5RewyE/TqnorhSXWzI/AAAAAAAAA6w/kX30_hAoZtU/s1600/Hpim2323.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-p-BOu5RewyE/TqnorhSXWzI/AAAAAAAAA6w/kX30_hAoZtU/s320/Hpim2323.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This is going to be an SG style guitar, for Andy at BandJammer.&lt;br /&gt;While Angus Young from AC/DC usually plays a maroon-coloured SG, Andy's&amp;nbsp;&amp;nbsp;favoured guitar is a mustard yellow one (at least that's the one he uses in most of his videos and promotional material!).&amp;nbsp;The closest match we could make was a yellow acrylic, but here it is partially assembled.&amp;nbsp;It's a surprise gift, so let's hope he's not reading this blog!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jP_sxmtgMgk/Tqnotmw_kuI/AAAAAAAAA64/IPV7BaH-Tgc/s1600/Hpim2325.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-jP_sxmtgMgk/Tqnotmw_kuI/AAAAAAAAA64/IPV7BaH-Tgc/s320/Hpim2325.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We've some 1.5mm HIPs on order for the scratchplate. We tried making it from thick card, but it didn't look nice (and stank the workshop out with a nasty tarry smell as the laser just burned the paper and filled the cutter with smoke!). Here's the guitar we're basing this one on....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QVigSnForOo/TqnpzsaJheI/AAAAAAAAA7A/J8QFIndMwtU/s1600/andy_bandjammer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="126" src="http://1.bp.blogspot.com/-QVigSnForOo/TqnpzsaJheI/AAAAAAAAA7A/J8QFIndMwtU/s320/andy_bandjammer.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For our Les Paul style guitar, we wanted to try something a bit different to the previous styles. We've got a red Stratocaster, a yellow Explorer, a green Flying V and now another yellow guitar. A blue Les Paul just didn't look right and we don't have any gold coloured acrylic to re-create Slash's famous goldtop.&lt;br /&gt;So who else plays a Les Paul and isn't Slash...?&lt;br /&gt;Zakk Wylde not only plays a Les Paul, but also plays a white one, with a striking bulls-eye black-and-white pattern. Perfect! We've plenty of white acrylic in both 3mm and 5mm!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-iD4EooxPxeI/TqnrJiF17VI/AAAAAAAAA7I/EwWkzef4hBE/s1600/Hpim2320.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-iD4EooxPxeI/TqnrJiF17VI/AAAAAAAAA7I/EwWkzef4hBE/s320/Hpim2320.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Unlike &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html"&gt;previous miniature guitars&lt;/a&gt;, we've moved away from the 5mm black acrylic, and decided to make the entire body from the same colour, yet stick with a black fretboard. The end result is actually quite nice.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-p0_LgLpHkiY/TqnrLp8zZrI/AAAAAAAAA7Q/IlWiedggD98/s1600/Hpim2322.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-p0_LgLpHkiY/TqnrLp8zZrI/AAAAAAAAA7Q/IlWiedggD98/s320/Hpim2322.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A few stickers and a bit of finishing off and we shouldn't be too far away from the real thing -&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--hHR6RnQ2TU/TqnrvK3cjKI/AAAAAAAAA7Y/FUJsxrd18dk/s1600/zakk.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/--hHR6RnQ2TU/TqnrvK3cjKI/AAAAAAAAA7Y/FUJsxrd18dk/s320/zakk.jpg" width="248" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-4099869151904807662?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/4099869151904807662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/new-guitar-models-added-to-microband.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4099869151904807662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/4099869151904807662'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/new-guitar-models-added-to-microband.html' title='New guitar models added to the microband range'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-p-BOu5RewyE/TqnorhSXWzI/AAAAAAAAA6w/kX30_hAoZtU/s72-c/Hpim2323.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8864308381818624296</id><published>2011-10-24T23:11:00.001+01:00</published><updated>2011-12-04T17:48:39.162Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='pcbcart'/><title type='text'>PCBs arrived from PCBCart</title><content type='html'>More exciting news about the miniature instruments as our &lt;a href="http://nerdclub-uk.blogspot.com/2011/10/pcbs-ordered-from-pcbcartcom.html"&gt;second set of PCBs&lt;/a&gt; from &lt;a href="http://www.pcbcart.com/"&gt;PCBCart.com&lt;/a&gt; arrived this afternoon. Woo-hoo! We had 200 boards made up for just under £100 - making them less than 50p each.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-4s5WNdHMMqg/TqXdQM3qBBI/AAAAAAAAA58/GMu7Im4q4YM/s1600/Hpim2306.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-4s5WNdHMMqg/TqXdQM3qBBI/AAAAAAAAA58/GMu7Im4q4YM/s320/Hpim2306.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JBhkJb1OANE/TqXdSPIg3RI/AAAAAAAAA6E/V0e1BmWkIVE/s1600/Hpim2307.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-JBhkJb1OANE/TqXdSPIg3RI/AAAAAAAAA6E/V0e1BmWkIVE/s320/Hpim2307.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here they are, ready for inserting into our first commissioned miniature guitars. The&amp;nbsp;soldermask and HASL (hot-air-solder-level) finish certainly makes soldering the boards up much easier than the homebrew boards we've been struggling with so far!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8bGasqA3JdM/TqXduIq2Q6I/AAAAAAAAA6M/wqeBJpLEvsw/s1600/HPIM2308.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://4.bp.blogspot.com/-8bGasqA3JdM/TqXduIq2Q6I/AAAAAAAAA6M/wqeBJpLEvsw/s320/HPIM2308.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Tbg0nwGu_2E/TqXdvpwpmsI/AAAAAAAAA6U/6WfKVeL9Jzw/s1600/Hpim2309.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-Tbg0nwGu_2E/TqXdvpwpmsI/AAAAAAAAA6U/6WfKVeL9Jzw/s320/Hpim2309.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;The cable on the right was soldered first.&amp;nbsp;&lt;/i&gt;&lt;i&gt;As we got familiar with the method for attaching the ribbon cable, the last cable (right) has a much better finish. These cables were hand-soldered using solder paste rather than the solder pot but only because that was what was to hand!&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;Even soldering by hand with a cone-tipped iron (rather than our preferred &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/hot-air-soldering-again.html"&gt;hot-air-soldering method&lt;/a&gt;) was quick and easy. Ok, the first transistor we put down went a bit wonky, but that's only because we were rushing to see how quickly we could assemble a full board!&lt;br /&gt;&lt;br /&gt;Here's the first of our new boards ready to go into the latest (commissioned) &lt;a href="http://www.microguitar.co.uk/"&gt;micro guitar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NNRJOVLurfw/TqXfLAczrJI/AAAAAAAAA6c/Mdh_rn3Kigo/s1600/Hpim2312.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-NNRJOVLurfw/TqXfLAczrJI/AAAAAAAAA6c/Mdh_rn3Kigo/s320/Hpim2312.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Back in 1991, &lt;a href="http://en.wikipedia.org/wiki/Metallica"&gt;Metallica&lt;/a&gt; released their eponymous "&lt;a href="http://en.wikipedia.org/wiki/Metallica_(album)"&gt;Black Album&lt;/a&gt;".&lt;br /&gt;It is still considered by many to be their best album to date. Everything about it was black. Including the guitars. This guitar is for a 90's Metallica fan who wants to remember James Hetfield before he shaved off his handlebar moustache and cut his hair!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zTsD2Mb_26Y/TqXg23V-DPI/AAAAAAAAA6k/njtcNsxGHaw/s1600/jamess2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/-zTsD2Mb_26Y/TqXg23V-DPI/AAAAAAAAA6k/njtcNsxGHaw/s320/jamess2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8864308381818624296?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8864308381818624296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/pcbs-arrived-from-pcbcart.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8864308381818624296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8864308381818624296'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/pcbs-arrived-from-pcbcart.html' title='PCBs arrived from PCBCart'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-4s5WNdHMMqg/TqXdQM3qBBI/AAAAAAAAA58/GMu7Im4q4YM/s72-c/Hpim2306.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-5525470947665112628</id><published>2011-10-19T19:57:00.001+01:00</published><updated>2011-12-04T17:48:21.169Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='poker'/><category scheme='http://www.blogger.com/atom/ns#' term='rgb'/><title type='text'></title><content type='html'>Here's a grid of 54 blocks of colour - each with a unique combination of RGB values, one for each playing card in a regular deck (52 cards + two jokers). We're hoping to use these with a &lt;a href="http://nerdclub-uk.blogspot.com/2011/10/intelligent-poker-table-without-rfid.html"&gt;colour sensor to build a device&lt;/a&gt; which can "read" playing cards placed in a special holder.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-M77qDJwrc6g/Tp8dJ81EQlI/AAAAAAAAA5Y/ejtF6AHF7Y4/s1600/colour_blocks_new.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-M77qDJwrc6g/Tp8dJ81EQlI/AAAAAAAAA5Y/ejtF6AHF7Y4/s1600/colour_blocks_new.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-5525470947665112628?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/5525470947665112628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/heres-grid-of-54-blocks-of-colour-each.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5525470947665112628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/5525470947665112628'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/heres-grid-of-54-blocks-of-colour-each.html' title=''/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-M77qDJwrc6g/Tp8dJ81EQlI/AAAAAAAAA5Y/ejtF6AHF7Y4/s72-c/colour_blocks_new.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8914110732188818823</id><published>2011-10-19T12:04:00.000+01:00</published><updated>2011-12-04T17:48:11.565Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='poker'/><category scheme='http://www.blogger.com/atom/ns#' term='rgb'/><title type='text'>Creating unique colour combinations for playing card reader</title><content type='html'>Ok. With the numerous problems and &lt;a href="http://nerdclub-uk.blogspot.com/2011/10/seeing-playing-cards-with-ldr-and-rgb.html"&gt;repetitions in our previous attempt&lt;/a&gt;, we've turned to Excel to help us solve this conundrum. We need to be sure that every playing card has a unique combination of red, green and blue in the colour block (whether we settle for a single colour in the block, or stick with the 2x2 grid approach, we'll have to wait and see, once we know how sensitive our LDR is going to be).&lt;br /&gt;&lt;br /&gt;Each colour will have an intensity of zero-to-three.&lt;br /&gt;By writing out all possible permutations, we get 64 combinations (three colours, four intensities, 4^3=64)&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Red&lt;/th&gt;&lt;th&gt;Green&lt;/th&gt;&lt;th&gt;Blue&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;We only need up to 52 colours, so we've decided to do away with the "darker" colours&lt;/div&gt;&lt;div&gt;(e.g. a block with the colour combination 0 1 0 would have one single green square and three black ones in a 2x2 grid). The easiest way to do this was to sum the totals of RGB and any block with a total of two or less was discarded (0-1-0 gets binned, 0-1-1 gets binned, but 0-0-3 can stay, as can 0-1-2 and so on)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This leaves us with 54 colour combinations:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Red&lt;/th&gt;&lt;th&gt;Green&lt;/th&gt;&lt;th&gt;Blue&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;Where the total sum of colours in a block exceeds three (1-2-3 for example represents 1R-2G-3B) we'll have to mix the colours to make secondary colours (magenta, cyan, yellow) and maybe even black and/or white. But hopefully, using these colour intensity charts as a guide, we'll come up with colour blocks that enable us to uniquely identify a card based on the RGB values received by the LDR/light sensor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8914110732188818823?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8914110732188818823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/creating-unique-colour-combinations-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8914110732188818823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8914110732188818823'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/creating-unique-colour-combinations-for.html' title='Creating unique colour combinations for playing card reader'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-1837264152323566058</id><published>2011-10-19T11:48:00.000+01:00</published><updated>2011-12-04T17:48:00.072Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='poker'/><category scheme='http://www.blogger.com/atom/ns#' term='rgb'/><title type='text'>Seeing playing cards with an LDR and RGB LED</title><content type='html'>It didn't take long after posting about our &lt;a href="http://nerdclub-uk.blogspot.com/2011/10/intelligent-poker-table-without-rfid.html"&gt;intelligent poker table&lt;/a&gt;&amp;nbsp;for the emails to come in pointing out a few mistakes on our colour-block image.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-EQq_OrW8ZHM/Tp6na3wGTEI/AAAAAAAAA5Q/AY-KI6Jh0fM/s1600/colour_blocks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-EQq_OrW8ZHM/Tp6na3wGTEI/AAAAAAAAA5Q/AY-KI6Jh0fM/s1600/colour_blocks.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We'd tried to come up with at least 52 unique combinations of colour blocks, using only primary (red, green, blue) and secondary (magenta, cyan, yellow) colours. We thought we'd done a pretty good job until Matt from &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt; pointed out -&lt;br /&gt;&lt;br /&gt;Looking at the top-left block of colours, it's easy to see that we've two red, one green and one blue block. Let's write this as 2R-1G-1B.&lt;br /&gt;&lt;br /&gt;Now on the top row, look at blocks three and five.&lt;br /&gt;Block three has two red, one magenta and one green.&lt;br /&gt;Magenta is made up of equal parts (1:1) red and blue.&lt;br /&gt;So block three is 3R-1G-1B&lt;br /&gt;&lt;br /&gt;Block five is made up of two red, one yellow and one blue.&lt;br /&gt;Yellow (as most people who paid attention in physics class will tell you) is made up of red and green &lt;i&gt;light &lt;/i&gt;(yes, when mixing paint, yellow+blue = green, but when mixing light, red+green = yellow. Just accept it!)&lt;br /&gt;This makes block five also 2R + 1R+1G + 1B = 3R-1G-1B&lt;br /&gt;&lt;br /&gt;So although we'd used unique combinations of &lt;i&gt;colour pigments&lt;/i&gt; for our blocks, we've actually repeated &lt;i&gt;intensities of light&lt;/i&gt; for a lot of the colour combinations. In fact, looking through the image, we can see we've actually repeated ourselves quite a few times!&lt;br /&gt;&lt;br /&gt;Back to the drawing board....&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-1837264152323566058?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/1837264152323566058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/seeing-playing-cards-with-ldr-and-rgb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1837264152323566058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/1837264152323566058'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/seeing-playing-cards-with-ldr-and-rgb.html' title='Seeing playing cards with an LDR and RGB LED'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-EQq_OrW8ZHM/Tp6na3wGTEI/AAAAAAAAA5Q/AY-KI6Jh0fM/s72-c/colour_blocks.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7333348967800782681</id><published>2011-10-19T11:37:00.002+01:00</published><updated>2011-12-04T17:47:35.744Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='poker'/><category scheme='http://www.blogger.com/atom/ns#' term='rgb'/><title type='text'>Intelligent poker table without RFID</title><content type='html'>As a member of &lt;a href="http://www.hackllan.co.uk/"&gt;HackLlan&lt;/a&gt; (Llangollen's Hackspace) we're trying to get some ideas together for a show-and-tell session in November and to organise a robot kit for a weekend-workshop.&lt;br /&gt;This means a few of our other projects have been sidelined, while we try to find projects that are both simple enough to explain in a few hours, but complex enough to keep people's interest for the whole day.&lt;br /&gt;&lt;br /&gt;One project we're looking at is an intelligent poker table. You know the sort - players put their cards face down on the table and a graphic appears on-screen showing their "hole" cards. This was first seen in the UK on Channel 4's Late Night Poker, where the rather lo-tech solution was to put a camera behind a sheet of glass at every player's position.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fots-KkD9uw/Tp6lcQE6eoI/AAAAAAAAA5I/_H04FLb9bbo/s1600/L3Rvb2xzL3Bob3RvYWxidW1fdmlldy9jdXN0b21lci9pbWcvMjgzNC9tZWRpdW0zYy8yODM0OTkuanBnL0Nyb3AvP3g9NyZ5PTEyNiZ3aWR0aD04MTgmaGVpZ2h0PTMwMA.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="117" src="http://3.bp.blogspot.com/-fots-KkD9uw/Tp6lcQE6eoI/AAAAAAAAA5I/_H04FLb9bbo/s320/L3Rvb2xzL3Bob3RvYWxidW1fdmlldy9jdXN0b21lci9pbWcvMjgzNC9tZWRpdW0zYy8yODM0OTkuanBnL0Nyb3AvP3g9NyZ5PTEyNiZ3aWR0aD04MTgmaGVpZ2h0PTMwMA.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This approach is still used in a lot of televised poker tournaments, and they are available on the 'net to buy, but you'd have to be a dedicated poker player to house a full-sized 10 seater table in your house!&lt;br /&gt;A variation on this theme is to have cameras mounted in the "rail" of the poker table, which sneak a peak at each player's hand, as they bend their cards upwards to have a look at them.&lt;br /&gt;&lt;br /&gt;For home-games, an alternative approach is becoming popular, but it still quite expensive - RFID playing cards. Each card in the deck has a tiny RFID tag, and each player has an RFID reader in front of them. As the cards as placed on the reader, the unique ID is read from each tag and the system knows which cards the player holds.&lt;br /&gt;This is infinitely simpler than having up to ten webcams under a table, but RFID tags are expensive. Each tag costs 50p-£1 and a professionally made deck of cards costs £100 or more. You can make your own cards, by simply applying an RFID label to each playing card, but this increases the thickness of the deck significantly and the labels are still susceptible to breaking if players bend the cards too much.&lt;br /&gt;&lt;br /&gt;We're after a much more low-tech (i.e. cheaper solution) that should be accessible to almost anyone.&lt;br /&gt;One of the ideas we're investigating is a colour sensing circuit and a 2x2 grid of colour, unique to each card.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-EQq_OrW8ZHM/Tp6na3wGTEI/AAAAAAAAA5Q/AY-KI6Jh0fM/s1600/colour_blocks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-EQq_OrW8ZHM/Tp6na3wGTEI/AAAAAAAAA5Q/AY-KI6Jh0fM/s1600/colour_blocks.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The idea is to have an RGB LED and a light sensor (either an &lt;a href="http://uk.farnell.com/excelitas-tech/vt90n2/ldr-series-vt900/dp/1652637"&gt;LDR&lt;/a&gt; or something like a &lt;a href="http://uk.farnell.com/taos/tsl250r-lf/photodiode-sensor-l-volts/dp/1182346"&gt;light-to-voltage sensor&lt;/a&gt;) under an opening onto which the card is placed. By flashing the LED red, then measuring the amount of reflected light, then green, then blue, should allow us to work out which combination of colours is showing.&lt;br /&gt;&lt;br /&gt;At the minute it's all just a fancy idea - but hopefully this week we'll find time to put together a proof-of-concept prototype to see if it's feasible to continue.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7333348967800782681?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7333348967800782681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/intelligent-poker-table-without-rfid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7333348967800782681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7333348967800782681'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/intelligent-poker-table-without-rfid.html' title='Intelligent poker table without RFID'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-fots-KkD9uw/Tp6lcQE6eoI/AAAAAAAAA5I/_H04FLb9bbo/s72-c/L3Rvb2xzL3Bob3RvYWxidW1fdmlldy9jdXN0b21lci9pbWcvMjgzNC9tZWRpdW0zYy8yODM0OTkuanBnL0Nyb3AvP3g9NyZ5PTEyNiZ3aWR0aD04MTgmaGVpZ2h0PTMwMA.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3081150447901113292</id><published>2011-10-17T16:46:00.001+01:00</published><updated>2011-12-04T17:47:15.828Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='oomlout'/><category scheme='http://www.blogger.com/atom/ns#' term='servos'/><title type='text'>Interesting servo hack</title><content type='html'>After reading a few other articles about hacking servos to make them rotate continuously, I noted quite a few people suggested disconnecting the rotary pot and replacing with a voltage divider made up of 2 x 2k resistors (in a sort-of Y shape)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-KO9ilaLg5NE/Tpxa3pOuIPI/AAAAAAAAA4w/w2HgjeEYJwk/s1600/File0089.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="224" src="http://3.bp.blogspot.com/-KO9ilaLg5NE/Tpxa3pOuIPI/AAAAAAAAA4w/w2HgjeEYJwk/s320/File0089.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Our servo is much too small to fit extra components inside it, but without these, it doesn't seem to work. It spins in one direction, by sending a repeating 1ms pulse every 20ms, but increase the pulse length to 2ms and instead of running in reverse, the servo just judders and makes a nasty noise.&lt;br /&gt;(if the servo is "centred" at 1.5ms, a pulse of 1ms tells it to move 90 degrees in one direction, and a pulse of 2ms tells it to move 90 degrees from centre in the other direction. By removing the pot input, the servo never knows where the head is so should continue to move).&lt;br /&gt;&lt;br /&gt;Removing the pot seems to have caused the problem.&lt;br /&gt;To simulate the pot, we soldered a piece of wire from the board where it was connected to the potentiometer (we should have snipped the end nearest the pot, not nearest the board and we could have re-used the bit of wire without extra soldering!) and connected to a voltage divider on the breadboard, made up of two 2K pots&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-jScgwJTp-mg/TpxbALkBz4I/AAAAAAAAA44/ZNZOcwIk4lo/s1600/File0088.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-jScgwJTp-mg/TpxbALkBz4I/AAAAAAAAA44/ZNZOcwIk4lo/s320/File0088.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This sort-of solved the problem, but not quite.&lt;br /&gt;The servo no longer judders, but it's not not right. With a pulse width of 1ms, the servo runs at full speed in one direction. A pulse width of 2ms makes it run in the same direction, only much slower.&lt;br /&gt;Maybe this is because we're using power and ground on either side of our voltage divider, rather than taking them off the internal pot (but then to get at those wires would require completely dismantling the servo!)&lt;br /&gt;&lt;br /&gt;Now we could play about with the resistor values, or maybe even replace them with an exterior potentiometer (with the wire from the servo connected to the wiper and each end connected to power and ground) but here's a thought....&lt;br /&gt;&lt;br /&gt;Pulling the signal on the wire to ground causes the servo to run at full speed in one direction.&lt;br /&gt;Pulling it to power (5v in our case) causes the servo to run at full speed in the other direction.&lt;br /&gt;So now we have a binary method of moving the servos either forwards or backwards - simply connect this new wire to an output pin and pull it high to drive the servo in one direction, and pull it low to drive it the other way.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="274" src="http://www.youtube.com/embed/xeVLjt6c64Q?rel=0" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Edit...&lt;br /&gt;interestingly, we did have to make some changes to the servo control values to get the servo to work consistently without juddering. When pulling the signal pin high, we set the servo signal length to zero. When pulling the signal pin low, we set the servo signal length to 2ms. This resulted in the servo running at full speed in opposite directions. (using a signal length of 1ms and pulling low occasionally caused juddering so we ditched it!) &lt;br /&gt;&lt;br /&gt;The downside to this approach, of course, is that we don't have a way of programmatically stopping the servos from turning. For our little robots project, we'll live with this restriction.&lt;br /&gt;It's a fine balance between coming up with a project that can be completed inside a couple of hours but still demonstrates "hardware hacking" and spending all day perfecting servo controls which probably wouldn't get used!&lt;br /&gt;&lt;br /&gt;Anyway, this is to document how &lt;i&gt;we hacked our micro servos&lt;/i&gt; to allow us to create little tiny robots, instead of the big monstrosities normally associated with continuous rotation servos ;-)&lt;br /&gt;&lt;br /&gt;For anyone interested, here's the Oshonsoft BASIC PIC code for our servo test board:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: black; color: lime; font-family: courier new; font-size: 8pt; padding: 10px;"&gt;Define CONF_WORD = 0x3f18&lt;br /&gt;Define CLOCK_FREQUENCY = 4&lt;br /&gt;&lt;br /&gt;declarations:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim servolen As Word&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AllDigital&lt;br /&gt;&lt;br /&gt;init:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Config PORTB = Input&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Config PORTA = Output&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OPTION_REG.7 = 0  'pull-ups on PORT inputs&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;startup:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;While PORTB.0 &amp;lt;&amp;gt; 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'do nothing: we have to press the button to start&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Wend&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;loop:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'button controls direction&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'connect the extra wire from the servo&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'to pin PORTA.1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If PORTB.0 = 0 Then&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;High PORTA.1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;servolen = 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low PORTA.1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;servolen = 2000&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Endif&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'servo control signal&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'for our hacked servo, signal length doesn't matter&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;High PORTA.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitUs servolen&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Low PORTA.0&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WaitMs 15&lt;br /&gt;&lt;br /&gt;Goto loop&lt;br /&gt;End                                               &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3081150447901113292?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3081150447901113292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/interesting-servo-hack.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3081150447901113292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3081150447901113292'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/interesting-servo-hack.html' title='Interesting servo hack'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-KO9ilaLg5NE/Tpxa3pOuIPI/AAAAAAAAA4w/w2HgjeEYJwk/s72-c/File0089.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7461637343752066155</id><published>2011-10-17T13:13:00.001+01:00</published><updated>2011-12-04T17:46:51.755Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='oomlout'/><category scheme='http://www.blogger.com/atom/ns#' term='servos'/><title type='text'>Hacking to make a continuous rotation servo</title><content type='html'>As part of the up-and-coming &lt;a href="http://www.hackllan.co.uk/"&gt;HackLlan&lt;/a&gt; show-and-tell session, and for the follow-up workshop, we're making robot kits in preparation for the &lt;a href="http://roboticswales.wordpress.com/"&gt;Robot Week Wales&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As with most robotic projects, this begins with hacking some servos to make them rotate continuously. We could just buy &lt;a href="http://www.oomlout.co.uk/servo-continuous-rotation-p-235.html?zenid=c3817fdb6145649df0a37e45d765dee5"&gt;factory-set rotational servos&lt;/a&gt;&amp;nbsp;from our pals at &lt;a href="http://www.oomlout.co.uk/"&gt;Oomlout&lt;/a&gt;&amp;nbsp;but as the workshop is to include "hardware hacking" we figured we'd have a got at modifying some &lt;a href="http://www.oomlout.co.uk/servo-micro-p-195.html?zenid=c3817fdb6145649df0a37e45d765dee5"&gt;micro servos&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-uadKY2BEnt8/TpwYdFfOqLI/AAAAAAAAA4I/z342RXUyywg/s1600/SERV-03-MI_MED.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://1.bp.blogspot.com/-uadKY2BEnt8/TpwYdFfOqLI/AAAAAAAAA4I/z342RXUyywg/s320/SERV-03-MI_MED.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We're after making some small, compact robots so these micro servos are the perfect size&amp;nbsp;(plus of course, a ready-made continuous rotation servo is £11, a micro servo less than half this at £5 each). We already had a couple of these from an &lt;a href="http://nerdclub-uk.blogspot.com/2011/07/oomloutcouk.html"&gt;earlier project&lt;/a&gt; but if all goes well with this experiment, we'll be buying more!&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;At this stage, we're not sure if the modifications will work, but we've looked into how a servo works. It's basically a small motor with a control board. The output from the motor is geared right down, giving the servo plenty of torque (twisting power). The control board has a microcontroller and a rotary potentiometer, which is turned as the motor moves the servo "horn", which is connected to the shaft of the motor.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;These easiest way to explain this is to have a look at what goes into a servo.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Whenever you take anything apart, the most important tool you can have is a digital camera - and a hammer. Hammers open anything ;-)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-iryY_yFM5Qs/TpwZ4KL3Q-I/AAAAAAAAA4Q/zBx4obpCl2c/s1600/Hpim2296.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-iryY_yFM5Qs/TpwZ4KL3Q-I/AAAAAAAAA4Q/zBx4obpCl2c/s320/Hpim2296.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We put the hammer to one side and open up the servo with a tiny jeweller's screwdriver.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We actually found that the smallest flat-headed screwdriver worked better than even our smallest cross-headed 'driver (despite the servo having cross-headed screws holding it all together).&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You can see that the motor shaft has plenty of cogs, gearing the output down many, many times. This is what gives the servo motor it's power.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-1cNZxqTV64s/TpwaRx4bV5I/AAAAAAAAA4Y/x-Ml_6MQE4g/s1600/HPIM2298.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://3.bp.blogspot.com/-1cNZxqTV64s/TpwaRx4bV5I/AAAAAAAAA4Y/x-Ml_6MQE4g/s320/HPIM2298.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Underneath the control board, you can just make out the rotary potentiometer. As the motor turns, the gears and cogs also turn, and the shaft on the second "pile" of cogs causes the wiper on the potentiometer to turn. This signal is fed back onto the control board, so that when the servo head has reached the required position, it knows to stop turning the motor.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4ytN_eYGB4E/Tpwaweh9nuI/AAAAAAAAA4g/4_KMhA_PJZo/s1600/Hpim2301.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="235" src="http://4.bp.blogspot.com/-4ytN_eYGB4E/Tpwaweh9nuI/AAAAAAAAA4g/4_KMhA_PJZo/s320/Hpim2301.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We traced the wire from the pot to where it meets the control board. Taking photos (so it can be replaced later if necessary) we snipped the wire from the pot and taped it up. Now, when the motor turns, the control board won't know where the servo head is, and so will keep turning the motor.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The last thing to amend is the physical lock on the servo head.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;A small "lug" on one of the cogs stops the head from turning too far during normal operation.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ynHuVO5i2DM/TpwbeAtGFOI/AAAAAAAAA4o/Msl4enWKuqg/s1600/Hpim2297.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="228" src="http://3.bp.blogspot.com/-ynHuVO5i2DM/TpwbeAtGFOI/AAAAAAAAA4o/Msl4enWKuqg/s320/Hpim2297.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;We snipped this lug off the cog and reassembled the servo, using the earlier photographs as reference. We then put the head back on the servo and turned it by hand, to check that it does, indeed, turn through 360 degrees. The last thing to do now is to check that the servo direction can be controlled by our microcontroller.....&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7461637343752066155?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7461637343752066155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/hacking-to-make-continuous-rotation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7461637343752066155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7461637343752066155'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/hacking-to-make-continuous-rotation.html' title='Hacking to make a continuous rotation servo'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-uadKY2BEnt8/TpwYdFfOqLI/AAAAAAAAA4I/z342RXUyywg/s72-c/SERV-03-MI_MED.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8279316647289667030</id><published>2011-10-12T23:01:00.000+01:00</published><updated>2011-12-04T17:46:30.866Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='pcbcart'/><title type='text'>PCBs ordered from PCBCart.com</title><content type='html'>After receiving such &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/pcbcart-order-is-in.html"&gt;great service&lt;/a&gt; from &lt;a href="http://www.pcbcart.com/"&gt;PCBCart.com&lt;/a&gt; for our &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/holy-moley-look-at-these-pcbs.html"&gt;earlier guitar neck part of the project&lt;/a&gt;, and struggling to find a quick and easy way to attach cables to our &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/back-to-business-little-guitars-again.html"&gt;home-etched boards&lt;/a&gt;, we decided to put another order in for more PCBs.Soldering multi-core cable to professionally produced boards (with only the pads exposed and solder mask covering the traces) is quite easy when &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/soldering-quarter-pitch-multi-core.html"&gt;using a solder pot&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nerdclub-uk.blogspot.com/2011/08/soldering-0025-pitch-cable.html"&gt;Soldering quarter-pitch cable to home-etched boards&lt;/a&gt; with exposed traces can get a little messy with bridges and shorts and traces lifting when you try to correct them and so on.Simliarly, using &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/hot-air-soldering-again.html"&gt;home-brew reflow techniques&lt;/a&gt; are a little difficult with tiny components on home-etched boards because when the solder paste melts, instead of it pulling the component into line over the pads, the solder sometimes runs along the traces, dragging the component with it!&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Hopefully all these problems will be solved by using properly masked, professionally produced circuit boards for our little guitars. Now we can simply populate a board and either hot-air gun or bake the board to fix everything in place. We already know that soldering cable to a professionally produced board is much easier and less likely to cause faults, so while we're waiting for these new boards to arrive, we're going to buy/build a stop watch to time how long it takes to build a miniature guitar from start to finish!&lt;br /&gt;&lt;br /&gt;&amp;nbsp;For anyone interested, here's the schematic and PCB layout for the miniature guitars.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-R78ll9Es9os/TpYOEu67x7I/AAAAAAAAA3k/gX9vrXPSJGA/s1600/guitar_body.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-R78ll9Es9os/TpYOEu67x7I/AAAAAAAAA3k/gX9vrXPSJGA/s400/guitar_body.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-na9iurAEBUs/TpYOK5NDhnI/AAAAAAAAA3w/VBkC5Bli068/s1600/guitar_schematic.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-na9iurAEBUs/TpYOK5NDhnI/AAAAAAAAA3w/VBkC5Bli068/s400/guitar_schematic.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8279316647289667030?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8279316647289667030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/pcbs-ordered-from-pcbcartcom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8279316647289667030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8279316647289667030'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/pcbs-ordered-from-pcbcartcom.html' title='PCBs ordered from PCBCart.com'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-R78ll9Es9os/TpYOEu67x7I/AAAAAAAAA3k/gX9vrXPSJGA/s72-c/guitar_body.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3066909430362751436</id><published>2011-10-11T16:47:00.000+01:00</published><updated>2011-12-04T17:46:12.187Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><title type='text'>Working guitars - Flying V and Explorer</title><content type='html'>After what seems to have been months of development (and re-development) we're finally ready to ship our first two miniature guitars. The software is still in "beta" phase, so these are going to our good friends Aaron from &lt;a href="http://www.oomlout.co.uk/"&gt;Oomlout&lt;/a&gt; and Chris at &lt;a href="http://www.hpclaser.co.uk/"&gt;HPC Laser&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's a video showing the basic guitar functions, and the software in it's current state (including lots of "coder art" - we're techies here are Nerd Club, not artists!)&lt;br /&gt;&lt;br /&gt;Each instrument uses an Activex exe (sorry true geeky types, Windows only until someone can write a Linux port) but the benefit of this approach is&lt;br /&gt;&lt;ul&gt;&lt;li&gt;using a different thread to actually play sounds means more responsive play&lt;/li&gt;&lt;li&gt;anyone with a bit of macro-building experience can write their own software to integrate with the instruments.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The software shows how multiple users can share music by recording to a different track for each instrument. This demo shows an existing drum track with a guitar track being played over the top.&lt;br /&gt;&lt;br /&gt;[video goes here]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3066909430362751436?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3066909430362751436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/working-guitars-flying-v-and-explorer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3066909430362751436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3066909430362751436'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/working-guitars-flying-v-and-explorer.html' title='Working guitars - Flying V and Explorer'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3856356369716574554</id><published>2011-10-08T18:20:00.002+01:00</published><updated>2011-12-04T17:45:56.983Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='llangollen'/><title type='text'>Robot Week Wales Wrexham</title><content type='html'>It's been a busy couple of weeks and while we've not managed to get much further on the multitude of projects we seem to be working on, we have been involved in some exciting developments.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first thing is being involved with setting up &lt;a href="http://www.hackllan.co.uk/"&gt;HackLlan&lt;/a&gt;, a new hackspace for Llangollen and North Wales. At the minute it's a small community with a small space, but after less than a week, numbers are already increasing, and just as importantly, so is the interest in the group.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BWGFTUkCPmc/TpCDBag_ugI/AAAAAAAAA3U/AUSy92eJOHo/s1600/hack_llan_logo2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="50" src="http://3.bp.blogspot.com/-BWGFTUkCPmc/TpCDBag_ugI/AAAAAAAAA3U/AUSy92eJOHo/s320/hack_llan_logo2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;We're also looking to get involved with &lt;a href="http://roboticswales.wordpress.com/"&gt;Robot Week Wales&lt;/a&gt;&amp;nbsp;which is a week-long celebration of robotics, based at &lt;a href="http://www.tqg.org.uk/"&gt;Techniquest&lt;/a&gt; in Wrexham's &lt;a href="http://www.newi.ac.uk/"&gt;Glyndwr University&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-nwl5h3UGV9o/TpCD9884U-I/AAAAAAAAA3Y/k1hdO4qx_Kg/s1600/techniquest.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://3.bp.blogspot.com/-nwl5h3UGV9o/TpCD9884U-I/AAAAAAAAA3Y/k1hdO4qx_Kg/s320/techniquest.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And as part of the build-up to the Robot Week, we're looking to put on a show-and-tell session with other members of HackLlan, to show new potential members the kinds of things they can make at their local hackspace. This will be followed up with a more formal robot-building workshop, where attendees can make their own line-following robot.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-moSTh2Pqdpw/TpCE0ykSynI/AAAAAAAAA3c/w81eTP4H-6k/s1600/linefollower.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://4.bp.blogspot.com/-moSTh2Pqdpw/TpCE0ykSynI/AAAAAAAAA3c/w81eTP4H-6k/s320/linefollower.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So while all this is going on, our recent x-y plotter/cnc pick-n-place machine looks like it's going on hold. But we're determined to soldier on with our &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html"&gt;miniature instruments&lt;/a&gt; developement. The software is almost finished now (we've been working on it over recent weeks, while the internet connection here has been a bit intermittent) so we just need to get our &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html"&gt;guitars&lt;/a&gt; finished and tested and we're ready to launch a &lt;a href="http://www.microband.co.uk/"&gt;new website&lt;/a&gt; (details to be posted here nearer the time)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3856356369716574554?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3856356369716574554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/robot-week-wales-wrexham.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3856356369716574554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3856356369716574554'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/10/robot-week-wales-wrexham.html' title='Robot Week Wales Wrexham'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-BWGFTUkCPmc/TpCDBag_ugI/AAAAAAAAA3U/AUSy92eJOHo/s72-c/hack_llan_logo2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6066167822681257864</id><published>2011-09-30T17:53:00.001+01:00</published><updated>2011-12-04T17:45:38.456Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='stepper motor'/><category scheme='http://www.blogger.com/atom/ns#' term='salvaging'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>What can you salvage from a floppy disk drive?</title><content type='html'>In true Nerd Club fashion, no sooner have we decided to start (or re-start) a project, and something else comes along and takes our attention away. This time, it was the postie bringing us a clutch of four floppy disk drives, won off eBay just 48 hours earlier.&lt;br /&gt;&lt;br /&gt;Why would anyone want such old crappy hardware?&lt;br /&gt;Well, for a start the winning bid was just 1p, so even allowing £3 for delivery, they came to less than a pound each. (if you're ever at a car boot, and someone is selling off job-lots of drives as they often do, for 50p or so, it's worth grabbing a few). But that's not the main reason - we actually went out looking for old floppies, as a source of cheap stepper motors.&lt;br /&gt;&lt;br /&gt;Here's what we found in one of our floppy drives:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-m2rvd_AvE3g/ToXxGPJDH-I/AAAAAAAAA20/ob40r3BInOc/s1600/Hpim2285.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://2.bp.blogspot.com/-m2rvd_AvE3g/ToXxGPJDH-I/AAAAAAAAA20/ob40r3BInOc/s320/Hpim2285.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The bit we're interested in is the stepper motor - usually seen at the back, next to the IDE cable connector. Whip the lid off and take a look. The motor usually has a corkscrew shaft and a bit of grease on it. These aren't important right now.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Cwhji9soGWE/ToXxHo2-VjI/AAAAAAAAA24/Frjt-xQZcqg/s1600/Hpim2286.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://3.bp.blogspot.com/-Cwhji9soGWE/ToXxHo2-VjI/AAAAAAAAA24/Frjt-xQZcqg/s320/Hpim2286.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Normally two screws is all it takes to get the motor out of the casing. The other end of the shaft is usually in a part moulded into the actual casing. If the shaft and casing are all one unit (as often found in low voltage or portable/laptop drives) you'll need to undo a few more screws. But 99% of drives are built like this one.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PjZkK5dZ21w/ToXxJRHAMRI/AAAAAAAAA28/lWT9G2CU0Js/s1600/Hpim2289.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://4.bp.blogspot.com/-PjZkK5dZ21w/ToXxJRHAMRI/AAAAAAAAA28/lWT9G2CU0Js/s320/Hpim2289.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Undo the two screws and pull the stepper motor backwards. Eventually it will stop. That's the flexible ribbon cable holding it in place. Pull until it comes free.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-huC8Ubqp4o0/ToXxKnSO6mI/AAAAAAAAA3A/4_k-3zSj9z8/s1600/Hpim2290.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://3.bp.blogspot.com/-huC8Ubqp4o0/ToXxKnSO6mI/AAAAAAAAA3A/4_k-3zSj9z8/s320/Hpim2290.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If your motor still has the ribbon cable attached, you can use this to connect to a PCB in future. But most messing about with steppers is first done on a breadboard/prototyping board, in which case simply solder some wires onto each of the four connection points.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VJrJOCTVaPU/ToXxMDRxVeI/AAAAAAAAA3E/Ikqw7-HTG70/s1600/Hpim2291.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://4.bp.blogspot.com/-VJrJOCTVaPU/ToXxMDRxVeI/AAAAAAAAA3E/Ikqw7-HTG70/s320/Hpim2291.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The rest of the drive can be junked. We've got what we came for. But if you're in a scavenging mood, there's plenty more to be had from these little things. Get rid of the disk caddy and moving parts...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-V_GwD73vFCM/ToXxNxpNa0I/AAAAAAAAA3I/-PUBvRB0Tms/s1600/Hpim2293.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://1.bp.blogspot.com/-V_GwD73vFCM/ToXxNxpNa0I/AAAAAAAAA3I/-PUBvRB0Tms/s320/Hpim2293.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Remove the plate above the spinning head and pull. The actual spinning head should come off in your hands. It's a doughnut-shaped magnet with a spindle in the middle. It should just lift off. Undo a few screws from the bit it's sitting on and you should see some cool coils.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YQ5sPJzRwAs/ToXxPkLMP-I/AAAAAAAAA3M/Wy8Mmzt81xs/s1600/Hpim2294.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://2.bp.blogspot.com/-YQ5sPJzRwAs/ToXxPkLMP-I/AAAAAAAAA3M/Wy8Mmzt81xs/s320/Hpim2294.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It's these coils that control how the head spins. As each coil is activated in a particular sequence, it can attract or repel the magnets inside the spinny head thing. If you really wanted to, you could use this as another crude stepper motor. But it's probably more hassle than it's worth. The coils themselves, however, might be useful in other projects.&lt;br /&gt;&lt;br /&gt;Let's take a quick look at what we've scavenged from our floppy disk drive:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Xz7id4PpG7o/ToXxRiDW-LI/AAAAAAAAA3Q/VKmL_CchUwI/s1600/Hpim2295.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://1.bp.blogspot.com/-Xz7id4PpG7o/ToXxRiDW-LI/AAAAAAAAA3Q/VKmL_CchUwI/s320/Hpim2295.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In our drive (though not all) we found some useful 0.1" pitch flexible ribbon cables. These are useful for joining two or more PCBs together, especially if soldering isn't your strong point - they're quite easy to work with.&lt;br /&gt;&lt;br /&gt;There were a few springs, used to pull the disk drawer in and out, and a few "peg-style" clip springs too.&lt;br /&gt;&lt;br /&gt;The rod that the disk head was on could always come in useful for something robot-y.&lt;br /&gt;Of course, the stepper motor is going to come in handy - that's what we came for in the first place! And there were also a few "self-tapping" screws which might be handy in future. They have a slightly wider thread than normal screws and are perfect for fixing into plastic or acrylic (where they make their own thread as they are screwed into place, hence the name)&lt;br /&gt;&lt;br /&gt;Not a bad haul for a few minutes work.&lt;br /&gt;Get yourself some component bins, a few cheap drives and get to work!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6066167822681257864?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6066167822681257864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/what-can-you-salvage-from-floppy-disk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6066167822681257864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6066167822681257864'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/what-can-you-salvage-from-floppy-disk.html' title='What can you salvage from a floppy disk drive?'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-m2rvd_AvE3g/ToXxGPJDH-I/AAAAAAAAA20/ob40r3BInOc/s72-c/Hpim2285.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7624729691699314896</id><published>2011-09-30T15:24:00.000+01:00</published><updated>2011-12-04T17:45:17.064Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><title type='text'>Back to business - little guitars again</title><content type='html'>It's been a disruptive couple of weeks - the move from Brighton to North Wales was ok, but finding everything in the aftermath has proved a nightmare! So what better way to find out what's here, what's missing, and what's still somewhere in the depths of our monster Transit Van than to actually get making stuff.&lt;br /&gt;&lt;br /&gt;Not having access to the tools (nor even the internet for most of the last few weeks) means quite a bit of software development has been going on. We've been working quite a bit of late on&lt;br /&gt;Setting up HackLlan - a new "hackspace" in the mountains&lt;br /&gt;Creating a time-line-driven sequencer for players to create and share music over the 'web&lt;br /&gt;&lt;br /&gt;But now we've got some of our stuff out of boxes and into the hack-cupboard, it's time to get making again.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-q7W89FEAjMs/ToXPP5nk99I/AAAAAAAAA2o/_kpk5a67ga4/s1600/Hpim2280.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-q7W89FEAjMs/ToXPP5nk99I/AAAAAAAAA2o/_kpk5a67ga4/s320/Hpim2280.jpg" width="238" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;i&gt;a state of chaos in the new cupboard-come-office&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JHpjsGZKE8M/ToXPR93lBvI/AAAAAAAAA2s/40cXIUWuEeI/s1600/Hpim2282.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-JHpjsGZKE8M/ToXPR93lBvI/AAAAAAAAA2s/40cXIUWuEeI/s320/Hpim2282.jpg" width="238" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;if you can't find it, look in one of those stacking boxes...&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We're actually quite excited about how well the software development is coming along, even though it's not much more than an array of samples and a piano-roll style screen. Our current guitar prototype works quite well with the software, but we're still having a few teething problems. Whether this is the software, the hardware or the firmware, we've yet to resolve. So in true "hacker" style, we've attacked all three at once.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here's the new pcb layout, etched and ready to solder.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lootUZrJTik/ToXPTKK_5YI/AAAAAAAAA2w/c02mHlPCAOE/s1600/Hpim2284.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://3.bp.blogspot.com/-lootUZrJTik/ToXPTKK_5YI/AAAAAAAAA2w/c02mHlPCAOE/s320/Hpim2284.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Before we left Brighton we were working on using a solder pot to connect the tiny fine-pitch multi-core wires to the circuit boards. We've got everything ready to go - except the components box with all our SMT stuff isn't immediately to hand. That doesn't mean it's not here. But it could just as easily mean it's somewhere in the back of a van, under a heap of household items and bedding....&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7624729691699314896?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7624729691699314896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/back-to-business-little-guitars-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7624729691699314896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7624729691699314896'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/back-to-business-little-guitars-again.html' title='Back to business - little guitars again'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-q7W89FEAjMs/ToXPP5nk99I/AAAAAAAAA2o/_kpk5a67ga4/s72-c/Hpim2280.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-2262027528596574786</id><published>2011-09-22T14:40:00.002+01:00</published><updated>2011-12-04T17:44:59.568Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='llangollen'/><title type='text'>Llangollen canal</title><content type='html'>Having lived aboard a narrowboat, a few of us nerdy types already knew what a beautiful place the canal can be - especially at this time of year, as the autumn leaves paint everything a red-and-gold colour. After moving to Llangollen, we took a bike ride along the canal, to the Trevor Basin.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fd8nvv8Nj9U/Tns5c3eUwEI/AAAAAAAAA2I/sJgjzQY6I4M/s1600/llan1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://4.bp.blogspot.com/-fd8nvv8Nj9U/Tns5c3eUwEI/AAAAAAAAA2I/sJgjzQY6I4M/s320/llan1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;(this was the start of our bike ride in Llangollen)&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;British Waterways have made an excellent job of upgrading the tow-path along the full length of the canal, and riding it was fantastic (helped, of course, because it's all absolutely level and flat). It took about an hour to meander along - rarely travelling faster than the boats on the canal!&lt;br /&gt;&lt;br /&gt;What was so impressive were the views - so, inspired by &lt;a href="https://plus.google.com/102367518856858469264/posts?hl=en"&gt;Barney&lt;/a&gt; at &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt;, we've decided to have a go at making a time-lapse camera that can be mounted onto a bike. The idea being that the next time we go for a bike ride, we can create a video to show everyone else what they are missing!&amp;nbsp;We might even add in some GPS position recording, so that the cue points in the video can be tied in with an automatically updating Google map. But for now, we'll stick with making a camera that takes pictures every few seconds, and doesn't freak out when we ride over a few bumps (the towpath is lovely and smooth, but sometimes you have to go "off road" to cycle around obstacles such as dog walkers, moored boats, horses and woodland detritus).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-m5DTN8jHPtI/Tns6r7KIqZI/AAAAAAAAA2M/0ZiO3IvNyFk/s1600/llan2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://3.bp.blogspot.com/-m5DTN8jHPtI/Tns6r7KIqZI/AAAAAAAAA2M/0ZiO3IvNyFk/s320/llan2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-2262027528596574786?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/2262027528596574786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/llangollen-canal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2262027528596574786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2262027528596574786'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/llangollen-canal.html' title='Llangollen canal'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-fd8nvv8Nj9U/Tns5c3eUwEI/AAAAAAAAA2I/sJgjzQY6I4M/s72-c/llan1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-911183954894925287</id><published>2011-09-20T13:16:00.000+01:00</published><updated>2011-12-04T17:44:48.518Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd club'/><category scheme='http://www.blogger.com/atom/ns#' term='llangollen'/><title type='text'>Nerd Club has a new home</title><content type='html'>There's little to report on the maker front this week;&lt;br /&gt;We've been pretty well tied up with firstly moving, and secondly, finding a new workshop. It's been an arduous few days but finally things are looking a bit more positive.&lt;br /&gt;&lt;br /&gt;This is mainly because we've secured a unit (well, ok, a cupboard) in the &lt;a href="http://maps.google.co.uk/maps?q=llangollen+malthouse&amp;amp;hl=en&amp;amp;ll=52.968599,-3.166004&amp;amp;spn=0.00125,0.003449&amp;amp;gl=uk&amp;amp;t=h&amp;amp;z=18&amp;amp;vpsrc=6&amp;amp;layer=c&amp;amp;cbll=52.96861,-3.165786&amp;amp;panoid=KVHTvhTT_CY18CdZyJzP2Q&amp;amp;cbp=12,145.62,,0,0"&gt;Llangollen Malthouse&lt;/a&gt;. So now we've somewhere to get making again, we're hoping to run a few workshops and build up a community to support HackLlan - the &lt;a href="http://llangollen-hackspace.blogspot.com/"&gt;new hackspace for North Wales&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JlYlHN6vpFc/TniEAr0kE_I/AAAAAAAAA2E/PDN8SFTl9PM/s1600/Llangollen2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="203" src="http://1.bp.blogspot.com/-JlYlHN6vpFc/TniEAr0kE_I/AAAAAAAAA2E/PDN8SFTl9PM/s320/Llangollen2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-911183954894925287?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/911183954894925287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/nerd-club-has-new-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/911183954894925287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/911183954894925287'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/nerd-club-has-new-home.html' title='Nerd Club has a new home'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-JlYlHN6vpFc/TniEAr0kE_I/AAAAAAAAA2E/PDN8SFTl9PM/s72-c/Llangollen2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3172109035701170419</id><published>2011-09-14T20:20:00.003+01:00</published><updated>2011-12-04T17:44:32.020Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd club'/><category scheme='http://www.blogger.com/atom/ns#' term='llangollen'/><title type='text'>Nerd Club is moving</title><content type='html'>After three fantastic years down here in Brighton, we're on the move.&lt;br /&gt;&lt;div&gt;Hopefully it'll only be a temporary move, but with work and family commitments, we're having to decamp for a while and move up to North Wales.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's not all doom and gloom of course!&lt;/div&gt;&lt;div&gt;First up, we're looking to start a &lt;a href="http://llangollen-hackspace.blogspot.com/"&gt;hackspace/maker group&lt;/a&gt; up in the mountains.&amp;nbsp;As members and regular visitors to &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt;, we'd love to see something similar, albeit on a slightly smaller scale (BuildBrighton have just taken over a large part of the &lt;a href="http://www.rodhus.co.uk/"&gt;Rodhus Art Studio&lt;/a&gt; and arranged the 2011&amp;nbsp;&lt;a href="http://www.makerfairebrighton.com/"&gt;Brighton Mini MakerFaire&lt;/a&gt; thanks to their increasing subscriber base and growing community - it'll take us quite a while to get to that level!)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And, of course, once the move is over and we've settled into our new space (wherever that may be) we're hoping to get making, blogging and video-ing all over again. With a new bunch of nerds and geeks.&amp;nbsp;&lt;/div&gt;&lt;div&gt;So while it may be a bit quiet on the blog for a while, it's not an indication that nothing is going on - there'll be plenty of news, when we're back up-and-nerding in a few short days...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-3172109035701170419?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/3172109035701170419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/nerd-club-is-moving.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3172109035701170419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/3172109035701170419'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/nerd-club-is-moving.html' title='Nerd Club is moving'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7848876873328404361</id><published>2011-09-12T18:31:00.001+01:00</published><updated>2011-12-04T17:44:12.894Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='soldering'/><title type='text'>Soldering quarter pitch multi-core cable</title><content type='html'>&lt;a href="http://www.18robots.com/"&gt;Matt&lt;/a&gt; turned up at the last &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt; meeting with two solder pots from &lt;a href="http://www.dealextreme.com/"&gt;DealExtreme&lt;/a&gt;. I'm a little disappointed with DealExtreme - they may be cheap, but you've got to be prepared for a long wait; these 'pots have been on order for about five or six weeks and there were no email updates to say where the order was up to (unlike &lt;a href="http://www.pcbcart.com/"&gt;PCBCart&lt;/a&gt; - another China-based supplier - who have excellent order status updates).&lt;br /&gt;&lt;br /&gt;Anyway, the solder pot arrived and no sooner had I cut my finger on the sharp exposed edges around the pot than I had it up and running (careful of these cheaply-manufactured electronic tools - reminiscent of those nastily made PC cases that flooded the market in the early 90s, some of those edges can be razor sharp!). The moulded Australian style plug had to be cut off and a UK style plug fitted, but it didn't take long for the sharp tang of a new heater coil to fill the air.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-xYeawK6bMhw/Tm5FIz5_gCI/AAAAAAAAA0k/G7qomh4k-_Q/s1600/Dscf6535.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-xYeawK6bMhw/Tm5FIz5_gCI/AAAAAAAAA0k/G7qomh4k-_Q/s320/Dscf6535.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;The pot holds LOADS of solder - about quarter of a coil of regular solder wire and there was still only a small lump of molten solder in the bottom of the pot. The rosin/flux inside the solder didn't half smoke! And it created a tarry brown coating over the exposed parts of the pot. But once the solder was molten, it was easy enough to use.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-BnWtt1BP1m0/Tm5EgrkDouI/AAAAAAAAA0c/Nw_PAiSitZA/s1600/Dscf6534.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-BnWtt1BP1m0/Tm5EgrkDouI/AAAAAAAAA0c/Nw_PAiSitZA/s320/Dscf6534.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;&amp;nbsp;(picture taken after solder has cooled, to show the rosin tarring inside the pot)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;First, cut some multicore wire to length and strip back to expose the ends.&lt;br /&gt;(we use quarter-pitch IDE cable - the sort of stuff you find in "round" IDE cables)&lt;br /&gt;Dip the exposed copper into the solder, leave for a second or two, then remove.&lt;br /&gt;&lt;br /&gt;The ends are perfectly tinned with just the right amount of solder.&lt;br /&gt;Place the cable onto the tiny-pitch PCB connectors and heat with the tip of a soldering iron. Easy peasy - every wire connected first time, with no bridges or lumps of solder like we usually get when trying to solder these by hand.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-oJOFZhdgQTc/TnBsu8KNqFI/AAAAAAAAA0o/cTb6AmNl8_A/s1600/Dscf6538.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-oJOFZhdgQTc/TnBsu8KNqFI/AAAAAAAAA0o/cTb6AmNl8_A/s320/Dscf6538.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We're still having to connect each wire one-at-a-time, but it's relatively easy. Ideally we'd like to get a really wide (15mm) chisel tip on the iron, so all wires can be connected in one go. But so far, the solder pot looks like it's going to be a useful addition to our arsenal of tools!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7848876873328404361?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7848876873328404361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/soldering-quarter-pitch-multi-core.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7848876873328404361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7848876873328404361'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/soldering-quarter-pitch-multi-core.html' title='Soldering quarter pitch multi-core cable'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-xYeawK6bMhw/Tm5FIz5_gCI/AAAAAAAAA0k/G7qomh4k-_Q/s72-c/Dscf6535.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-608188991485128773</id><published>2011-09-11T20:30:00.002+01:00</published><updated>2011-12-04T17:43:51.623Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='stepper motor'/><title type='text'>Choosing the stepper motor resistors</title><content type='html'>Using a combination of L293D stepper controller ICs and IRF640 mosfets, we've now got a way of controlling both unipolar and bipolar stepper motors - so no matter where you salvage your motors from, we should have a way of offering a way of controlling them.&lt;br /&gt;&lt;br /&gt;Now we have to get a bit nerdy and re-visit old school topics.&lt;br /&gt;Back in the dark ages, those of us of a certain age will remember electronics, or even physics, lessons where we learned Ohm's Law.&lt;br /&gt;&lt;br /&gt;Ohm's Law helps us to work out current and power requirements for controlling our stepper motors. We already know - from bitter experience - that if you ignore you basic power requirements, you'll quickly get through quite a few components, as you let the magic smoke out after just a few seconds of driving the motors!&lt;br /&gt;&lt;br /&gt;We need to look at the things we can't change, and introduce elements to control those that we can.&lt;br /&gt;For example, we're using the L293D stepper controller. It has a maximum current rating of 600mA (0.6A) per channel. That means, if we push more than 0.6A through the chip, it'll get hot, start to smell, and eventually burst into flames with a pop and a rush of smoke. Understandably, we don't want this to happen, so we need to introduce some resistors to limit the current.&lt;br /&gt;&lt;br /&gt;This is where Ohm's Law comes in. Simply put:&lt;br /&gt;V = IR where V=voltage, I=current, R=resistance&lt;br /&gt;P = IV where P=power, I=current, V=voltage&lt;br /&gt;&lt;br /&gt;Using these two equations, we can work out what type of resistors we need to use to limit current through the motor coils, to keep everything within safe limits.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-X2qeHNKdzKY/Tm0KOIW1yJI/AAAAAAAAA0I/youhbS1NwzU/s1600/ohmslaw.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://4.bp.blogspot.com/-X2qeHNKdzKY/Tm0KOIW1yJI/AAAAAAAAA0I/youhbS1NwzU/s320/ohmslaw.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As our stepper controller chip L293D has a current rating of 0.6A, ideally we want to drive the motors at not more than about half this (so that if the motor "spikes" or draws more current, to suddenly change direction, for example, we're still within safe limits).&lt;br /&gt;&lt;br /&gt;We're going to use a 12V supply for driving the motors (because at a lower voltage, and lower current, the motor loses torque and can slip when driving a load). Now we just need to fill in the missing value:&lt;br /&gt;&lt;br /&gt;V = IR; 12 = 0.3 * R; R = 12/0.3 = 40&lt;br /&gt;&lt;br /&gt;So we know we want to use a resistor of roughly 40 ohms.&lt;br /&gt;Common resistor values are 22R, 33R, 47R.&amp;nbsp;If we increase the resistance too much, the motor will stall, so let's see what happens if we choose the 33R resistor:&lt;br /&gt;&lt;br /&gt;V = IR; 12 = I*33; I = 12/33 = 0.36A&lt;br /&gt;This equation has used only the resistance of the resistor. But we're putting the resistor&lt;i&gt; in series&lt;/i&gt; with the motor coil - so we need to factor in the resistance across the coil(s) in the stepper motor.&lt;br /&gt;The motor we're using has a coil resistance of 5 ohms (measure the resistance across your steppers with a simple multimeter - they're all different) so our total resistance is actually 38R.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0yX4gVqjgKE/Tm0LmgMu3RI/AAAAAAAAA0M/icMa-H_2wyI/s1600/coil-resistance-cnc-howto.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://2.bp.blogspot.com/-0yX4gVqjgKE/Tm0LmgMu3RI/AAAAAAAAA0M/icMa-H_2wyI/s320/coil-resistance-cnc-howto.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So to find the current consumption, if we use a 33R resistor in series with the stepper motor coil(s):&lt;br /&gt;&lt;br /&gt;V = IR; 12 = I*38; I = 12/38 = 0.32A&lt;br /&gt;&lt;br /&gt;It seems that a 33ohm resistor in series with one side of each of the stepper coils results in the motor drawing just over 0.3A per phase. This is half of the current rating of the L293D driver chip, and seems like an ideal value.&lt;br /&gt;&lt;br /&gt;BUT&lt;br /&gt;&lt;br /&gt;Just shoving a regular 33R resistor in-line isn't going to do much good.&lt;br /&gt;We know - from experience - that using puny little resistors with stepper motors means bad smells and lots of smoke! Why? Well, a typical resistor (the type you normally use with breadboard/prototyping boards) can have a resistance of between a few ohms, up to a few million ohms, but typically only handle about 0.25W&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-8L7Z3qW2yi8/Tm0MTB_3sFI/AAAAAAAAA0Q/jyaWMEg8lds/s1600/resistor_blown.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="224" src="http://2.bp.blogspot.com/-8L7Z3qW2yi8/Tm0MTB_3sFI/AAAAAAAAA0Q/jyaWMEg8lds/s320/resistor_blown.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Watts are the units of power that the resistor can handle.&lt;br /&gt;Watts are a product of voltage and current.&lt;br /&gt;Ohm's Law tells us that P = IV (power = current * voltage).&lt;br /&gt;&lt;br /&gt;So in our example here, we've a 12V supply and a 0.32A current draw.&lt;br /&gt;The total power requirement is 12*0.32 = 3.84W&lt;br /&gt;So we need a resistor with a power rating of at least 4W - ideally more.&lt;br /&gt;It's no wonder that when we pushed current through our 0.25W resistor to drive the motors, they got hot and started to smoke very, very quickly! We're going to need to get hold of some &lt;i&gt;power resistors&lt;/i&gt; and maybe a couple of heatsinks, to help keep them from getting too hot while in use.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-608188991485128773?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/608188991485128773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/choosing-stepper-motor-resistors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/608188991485128773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/608188991485128773'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/choosing-stepper-motor-resistors.html' title='Choosing the stepper motor resistors'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-X2qeHNKdzKY/Tm0KOIW1yJI/AAAAAAAAA0I/youhbS1NwzU/s72-c/ohmslaw.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-917941906435602565</id><published>2011-09-10T21:13:00.000+01:00</published><updated>2011-12-04T17:43:38.723Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='l293d'/><category scheme='http://www.blogger.com/atom/ns#' term='unipolar'/><category scheme='http://www.blogger.com/atom/ns#' term='stepper motor'/><category scheme='http://www.blogger.com/atom/ns#' term='irf640'/><category scheme='http://www.blogger.com/atom/ns#' term='uln2803a'/><category scheme='http://www.blogger.com/atom/ns#' term='bipolar'/><title type='text'>Stepper motor control 2-phase 4-phase</title><content type='html'>Critical to getting our &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/what-now-more-cnc-goodness.html"&gt;CNC-based pick-and-place machine&lt;/a&gt; working is driving the stepper motors.&lt;br /&gt;We've already managed to get some &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/driving-stepper-motor-directly-from-pic.html"&gt;4-phase, six-wire motors spinning&lt;/a&gt; using a &lt;a href="http://uk.farnell.com/toshiba/uln2803apg/darlington-array-8npn-dip18-50v/dp/1047761"&gt;ULN2803A darlington array&lt;/a&gt;. But the problem was the current was too great and they started to smell really quickly. Not much longer after that, the &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-update.html"&gt;magic smoke get let out&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/lexmark-x73-all-in-one-printer-scanner.html"&gt;stripped a Lexmark Z73&lt;/a&gt; printer scanner and salvaged some motors, and even &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-machine-update.html"&gt;stripped the steppers from old floppy disk drives&lt;/a&gt;. So we've no end of stepper motors to play with, but not much luck in getting them turning. The main problem has been that the motors we took from the old hardware and donated stuff off Freecycle are all 4-wire 2-phase/bipolar motors.&lt;br /&gt;&lt;br /&gt;We upgraded the original stepper circuit, replacing the ULN2803A with 4 x IRF640 mosfets.&amp;nbsp;The IRF640 chips have built-in fly-back diodes (they're designed for driving inductive loads) so we don't have to worry about any extra external components. The "gate" is isolated and can use logic-level (5V) voltages to switch them on.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-AEx1-mHUtK8/TmvGcMpUT6I/AAAAAAAAA0A/Irvo0x-GDYs/s1600/IRF640N_pinout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="153" src="http://2.bp.blogspot.com/-AEx1-mHUtK8/TmvGcMpUT6I/AAAAAAAAA0A/Irvo0x-GDYs/s320/IRF640N_pinout.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This allows beefier stepper motors to be controlled (up to about 16A) but they are set up to drive 6-wire/4 phase/unipolar steppers. We still didn't have a way of driving 4-wire/2 phase bipolar motors correctly.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Xn6kyI4EcFw/TmvHjwL0QOI/AAAAAAAAA0E/qCsSMWxHeXk/s1600/Unipolar_BD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="208" src="http://1.bp.blogspot.com/-Xn6kyI4EcFw/TmvHjwL0QOI/AAAAAAAAA0E/qCsSMWxHeXk/s320/Unipolar_BD.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Until today.&lt;br /&gt;Thanks to &lt;a href="http://www.google.co.uk/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBgQFjAA&amp;amp;url=http%3A%2F%2Fhotchk155.blogspot.com%2F&amp;amp;ei=e8NrTv2APcOj8QPB0PEz&amp;amp;usg=AFQjCNGyKwdKsg4CEE5gfUkiz2yudc5mMg"&gt;Jason&lt;/a&gt; at &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt;, we've got a few &lt;a href="http://uk.farnell.com/texas-instruments/l293dne/ic-driver-peripheral-dual-36v/dp/1470423"&gt;L293D&lt;/a&gt; half-H-bridge chips to play with.&amp;nbsp;And they work perfectly for driving scavenged stepper motors. Here's how we connected each IC to the coils on a bipolar stepper motor.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pF9iYRpL5xE/TmvFm5APpPI/AAAAAAAAAz8/VUBwstZDcUg/s1600/l293d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://3.bp.blogspot.com/-pF9iYRpL5xE/TmvFm5APpPI/AAAAAAAAAz8/VUBwstZDcUg/s320/l293d.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So now we've got a way of driving both 4-wire, 5-wire and 6-wire stepper motors.&lt;br /&gt;We've got a nice beefy PC power supply to provide the power without having to worry about running more than two motors together (the earlier 500mA phone-charger just wasn't up to the job!) and the stepper driver chips can handle up to 1A per channel (4-wire/biopolar) and a massive 16A or more for six-wire (unipolar) motors.&lt;br /&gt;&lt;br /&gt;The trick is to make our driver board(s) compatible with any combination of steppers so that anyone else who wants to make one of these machines can source parts for it cheaply and easily.&lt;br /&gt;&lt;br /&gt;At the minute we're trying out a number of different ideas and don't have enough time to devote to developing each idea, AND write it up on the blog with photos/diagrams/full descriptions. So over the next few days, we're going to play about with a few ideas then write up the most successful ones here......&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-917941906435602565?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/917941906435602565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/stepper-motor-control-2-phase-4-phase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/917941906435602565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/917941906435602565'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/stepper-motor-control-2-phase-4-phase.html' title='Stepper motor control 2-phase 4-phase'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-AEx1-mHUtK8/TmvGcMpUT6I/AAAAAAAAA0A/Irvo0x-GDYs/s72-c/IRF640N_pinout.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-2551196058888435627</id><published>2011-09-09T23:46:00.000+01:00</published><updated>2011-12-04T17:42:59.204Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cnc'/><category scheme='http://www.blogger.com/atom/ns#' term='salvaging'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>CNC pick and place machine update</title><content type='html'>After an evening at &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt;, exchanging ideas and motor control circuits, we've had a re-think about our CNC-based pick-and-place machine. In fact, we've had several re-thinks, returned to abandoned ideas, discarded previously agreed ideas and gone around in circles enough times to make everyone very, very dizzy!&lt;br /&gt;&lt;br /&gt;At first, we concentrated on making a machine that would be simple to understand during it's construction.&lt;br /&gt;We concentrated on theoretical accuracy - using a small angle stepper motor, relatively few teeth on the cog, sticking to numbers that were easily divisible and so on. The problem with this approach is that actually obtaining parts is quite difficult - 1.8deg steppers are quite expensive (£20/unit) wereas cheaper, salvageable motors (from printers, cd drives etc) are more difficult to drive, and have peculiar voltage requirements.&lt;br /&gt;&lt;br /&gt;Our compromise is this -&lt;br /&gt;&lt;br /&gt;Where possible, use parts that can be salvaged from easily obtained hardware.&lt;br /&gt;An old, obsolete PC could be a major source of parts - the power supply gives us multiple 5V and 12V supplies, the CD and floppy drives provide 4-wire (2 phase) stepper motors, specifically designed to run on 5V/12V. The IDE cables are perfect for connecting homemade PCBs to other parts on the machine (old hard drive cables use 0.1" pitch, the same as breadboard prototyping and lots of through-hole components, pin-headers etc).&lt;br /&gt;&lt;br /&gt;Rather than concentrating on using motors and belts that make the maths for calculating steps per mm easier, we're going to build a machine that works with mostly salvaged parts. The final device will be a "puppet and playback" machine - the user will manually position the picking head either using buttons on the machine, or using a PC/software interface, then record the co-ordinates (in terms of steps rather than mm from a known origin) back to the PC/eeprom memory. Once one complete "animation" has been recorded, the script can be played back over and over again.&lt;br /&gt;&lt;br /&gt;This way, the actual accuracy of the device becomes less important - it just has to be "accurate enough" to pick up a component and place it on the board. We're not going to be loading g-code type files into the device, or have to do tricky conversions from one format to another. The machine will simply use a record-the-steps-and-play-them-back approach for placing the components. So the actual distances travelled and units used won't matter; if you're using 1.8 deg steppers and half-stepping to give 400 steps/rev, with a 5mm belt, it doesn't matter&lt;i&gt; how far&lt;/i&gt; between components the head moves: the machine will simply remember &lt;i&gt;x&lt;/i&gt; &lt;i&gt;number of steps&lt;/i&gt; on the x-axis and&lt;i&gt; y&lt;/i&gt; &lt;i&gt;number of steps&lt;/i&gt; along the y-axis. Someone using a machine with 7.5 deg steppers will simply have &lt;i&gt;fewer steps&lt;/i&gt; in each axis to travel the same &lt;i&gt;physical distance&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Talking of belts, we've decided to ditch them and go with a rack-and-pinion system.&lt;br /&gt;This means we're removing another potentially costly part from the bill of materials - a 1.25mm belt can be had from a printer or a scanner, but it may be 1.2mm, or 1.25mm, or the imperial equivalent, a 0.05" pitch belt. All these belts need to have the right pulley or cog, with the teeth exactly spaced to match the belt.&lt;br /&gt;&lt;br /&gt;By using a rack and pinion approach, everyone can use the same set of laser-cutting templates, and matching the right pulley/cog to your (possibly unknown) belt is no longer an issue.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-2551196058888435627?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/2551196058888435627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-machine-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2551196058888435627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/2551196058888435627'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-machine-update.html' title='CNC pick and place machine update'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-6579250455064981891</id><published>2011-09-08T16:37:00.000+01:00</published><updated>2011-12-04T17:42:39.035Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cnc'/><category scheme='http://www.blogger.com/atom/ns#' term='stepper motor'/><category scheme='http://www.blogger.com/atom/ns#' term='belt and pulley'/><title type='text'>CNC pick-and-place update</title><content type='html'>We've spent a few days scavenging stepper motors from a variety of sources, and looking at what's available on eBay and other online sources. It's proved a bit tricky to decide exactly what to use for our pick-and-place machine; there are just too many options available!&lt;br /&gt;&lt;br /&gt;It's a fine balance between scavenging and ease-of-use.&lt;br /&gt;Typically, the easily accessible stuff (stepper motors from floppy drives, old printers and so on) is not so easy to drive - mostly they're high voltage (24V, 36V etc) and bipolar (2-phase, 4-wire) motors. While these are not impossible to use, they're more difficult to drive than our preferred uni-polar (5 or 6 wire) motors, which we've discovered can be run at lower voltages, using less current.&lt;br /&gt;&lt;br /&gt;Current draw is proving to be an important consideration.&lt;br /&gt;We've spent ages getting multiple motors working - albeit one at a time. When we introduced more than one motor at a time, our power supply (a 500mA phone charger providing 5V) wasn't up to the job. So we've upgraded the power supply and salvaged a PC power unit (PSU) which is good up to 400W, and gives us plenty of 12V and 5V power connectors.&lt;br /&gt;&lt;br /&gt;The idea now is to use a PC supply (which should be easy to get hold of) and concentrate on 5V or 12V motors.&lt;br /&gt;&lt;br /&gt;Unfortunately, we soon discovered that our original circuit was no good for higher voltage motors.&lt;br /&gt;After beefing up the actual power supply, we managed to get more than one motor turning, but at a cost - a funny smell and a lot of smoke! It turns out that the ULN2803A chips we were using to drive the motors can only handle up to 500mA. And the motors were drawing 1A at 12V. Hence the darlington arrays blew after only a few seconds of usage.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-v0tO8WMsMvw/TmjXfICUHzI/AAAAAAAAAzM/gRCmwZed7p0/s1600/Dscf6527.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-v0tO8WMsMvw/TmjXfICUHzI/AAAAAAAAAzM/gRCmwZed7p0/s320/Dscf6527.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;This chip didn't just smell and smoke, it actually scorched the breadboard and blew the bottom off the chip when we tried to force it to drive two 1A motors at full belt!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;All this means we've had to upgrade our stepper motor circuit.&lt;br /&gt;We've replaced the &lt;a href="http://uk.farnell.com/toshiba/uln2803apg/darlington-array-8npn-dip18-50v/dp/1047761"&gt;ULN2380A&lt;/a&gt; chip with a series of &lt;a href="http://uk.farnell.com/international-rectifier/irf640npbf/mosfet-n-200v-18a-to-220/dp/8648379"&gt;IRF640&lt;/a&gt; mosfets.&lt;br /&gt;We need a single mosfet on each phase of the stepper motor coil(s) - i.e. four per motor (for a 4-phase unipolar motor). They include internal fly-back diodes and accept 5V logic level inputs, so are quite easy to use and require no extra components.&lt;br /&gt;&lt;br /&gt;Here's a photo of the breadboard with the darlington arrays replaced with mosfets.&lt;br /&gt;The benefit of this approach is that the mosfets can be used with low-power motors as well as the bigger ones, so the stepper motor driver will be compatible with a wider range of motors once complete.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Dg5BSyOeuC0/TmjYziBJ9jI/AAAAAAAAAzQ/UvhLvV8M1QY/s1600/Dscf6529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-Dg5BSyOeuC0/TmjYziBJ9jI/AAAAAAAAAzQ/UvhLvV8M1QY/s320/Dscf6529.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The schematic is here - showing how to connect 4 pins from a PIC to 4 mosfets, for driving a single 6-wire/4-phase stepper motor.&lt;br /&gt;&lt;br /&gt;[schematic pdf goes here]&lt;br /&gt;&lt;br /&gt;Once we got the motor turning again, it was time to build the pulley for the belt-drive system.&lt;br /&gt;We're using one of the belts we got out of the &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/lexmark-x73-all-in-one-printer-scanner.html"&gt;Lexmark Z73&lt;/a&gt; - it's got a really &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-machine-needed.html"&gt;fine tooth-pitch&lt;/a&gt;, about 1.2mm. So our cog/pulley needs to have a similar pitch to make the belt teeth fit snugly without slipping. We wanted as large a cog as possible, so that one single rotation moves the belt as far as possible. The larger to cog, the lower the precision, so like everything else, it's a fine balancing act to get the right combination.&lt;br /&gt;&lt;br /&gt;Here's how we decided what to use:&lt;br /&gt;The stepper motor is a 1.8 degree motor. This means 200 steps per revolution.&lt;br /&gt;We're using half-stepping, so 400 steps/rev. The tooth-pitch is 1.2mm, or maybe 1.25 if the belt is imperial rather than metric (we can't be sure at this stage, so we're going to make the system, try it out and if there's any slippage, replace the cog/pulley for one with more/fewer teeth).&lt;br /&gt;If we say our pitch is 1.25mm, then a cog with 40 teeth would move 40*1.25 = 50mm per revolution. At 400 steps per revolution, this means each step moves 50/400 = 0.125mm per step. This seems quite quite a nice level of accuracy.&lt;br /&gt;&lt;br /&gt;The photo above shows a 40-tooth cog with a pitch of 1.25mm. It's pretty small.&lt;br /&gt;So we thought, if we used an 80-tooth cog, we'd double the speed of the movement (80*1.25 = 100mm per revolution, or 100/400 = 0.25mm per step). Although not as precise, moving a head to within a quarter of a millimetre seems precise enough for a pick-and-place machine, so we decided to make a cog with 80 teeth.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BhWXf4y6OGY/TmjbpF7E_PI/AAAAAAAAAzU/nsSLsD_leFk/s1600/DSCF6530.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-BhWXf4y6OGY/TmjbpF7E_PI/AAAAAAAAAzU/nsSLsD_leFk/s320/DSCF6530.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Why pink? Just using up scraps of left over acrylic from a previous job! It wasn't a conscious decision to use pink over any other colour!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We added the disks above and below the cog to stop the belt slipping off the pulley during use. In fact, we found that our belt was every so slightly wider than 3mm (the thickness of the acrylic) so we created little spacer disks from cardboard, and used these between the disks and the cogs, to space them apart slightly.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ctArQPU9kHY/TmjcOqzemBI/AAAAAAAAAzY/FRNqoeA2BHQ/s1600/Dscf6532.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-ctArQPU9kHY/TmjcOqzemBI/AAAAAAAAAzY/FRNqoeA2BHQ/s320/Dscf6532.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;With all the centre holes lined up, we stuck the multiple layers together and fitted to the stepper motor shaft (although the datasheet said the shaft was 6.25mm, we had to cut our holes 6.35mm to get them to fit and even then, it took some effort to get them onto the shaft!)&lt;br /&gt;&lt;br /&gt;We made our cogs using InkScape.&lt;br /&gt;It has a built-in gear maker. On a new document, go to the Extensions menu, Render, Gears:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-5z0vsjUjksA/Tmjc8YF2ITI/AAAAAAAAAzc/mLioEd9rOqg/s1600/inks1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://3.bp.blogspot.com/-5z0vsjUjksA/Tmjc8YF2ITI/AAAAAAAAAzc/mLioEd9rOqg/s320/inks1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;By default, Inkscape uses 90 pixels per inch resolution. We decided that our belt is probably 0.05" pitch, so the circular pitch &lt;i&gt;in pixels&lt;/i&gt; is 0.05*90 = 4.5&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UJb-S18t8SQ/TmjddfkRG2I/AAAAAAAAAzg/YBnNLdWnFjU/s1600/inks2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://3.bp.blogspot.com/-UJb-S18t8SQ/TmjddfkRG2I/AAAAAAAAAzg/YBnNLdWnFjU/s320/inks2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I found this diagram when looking for definitions such as circular pitch and pressure angle (I didn't know what they meant either!)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9CgG5INnTKc/TmjeET8eQ3I/AAAAAAAAAzk/0NR1-o4jRuI/s1600/cogs.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="263" src="http://4.bp.blogspot.com/-9CgG5INnTKc/TmjeET8eQ3I/AAAAAAAAAzk/0NR1-o4jRuI/s320/cogs.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;With the parameters in InkScape set, it was just a case of letting it create our gear by hitting apply:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WA3d0tSMP7s/TmjeZUKaylI/AAAAAAAAAzo/dnSzFpUp5Ig/s1600/inks3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://1.bp.blogspot.com/-WA3d0tSMP7s/TmjeZUKaylI/AAAAAAAAAzo/dnSzFpUp5Ig/s320/inks3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;With the gear created, we just needed to add the hole for the shaft. After much trial and error, we discovered that the ideal sized hole for the shaft was 6.35mm. We drew a circle with no fill colour and set the height and width to 6.35, then placed it inside the cog:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-L2CeEx89pPw/TmjfAMuqtvI/AAAAAAAAAzs/yWiRPdpFqlM/s1600/inks4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://4.bp.blogspot.com/-L2CeEx89pPw/TmjfAMuqtvI/AAAAAAAAAzs/yWiRPdpFqlM/s320/inks4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;With both items selected, go to Object, Align and Distribute. Set "relative to" the biggest object. Then centre along both the x and y axis:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-OkgmOTGouQ4/Tmjf7WLbAhI/AAAAAAAAAzw/Fc4cg0ajamU/s1600/inks5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://4.bp.blogspot.com/-OkgmOTGouQ4/Tmjf7WLbAhI/AAAAAAAAAzw/Fc4cg0ajamU/s320/inks5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The end result is a cog with a perfectly centred hole for the shaft:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-J2nx7DueZmI/TmjgM28qY0I/AAAAAAAAAz0/yCUTcwqUB0A/s1600/inks6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://1.bp.blogspot.com/-J2nx7DueZmI/TmjgM28qY0I/AAAAAAAAAz0/yCUTcwqUB0A/s320/inks6.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Which fits perfectly with our tiny-toothed timing belt. Or so it seems. We'll know for sure, once we've got the CNC machine up and running!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-NLU41OIKFqM/TmjhDbxpHkI/AAAAAAAAAz4/4Eh2Y21sxO4/s1600/Dscf6533.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-NLU41OIKFqM/TmjhDbxpHkI/AAAAAAAAAz4/4Eh2Y21sxO4/s320/Dscf6533.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-6579250455064981891?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/6579250455064981891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-update.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6579250455064981891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/6579250455064981891'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-update.html' title='CNC pick-and-place update'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-v0tO8WMsMvw/TmjXfICUHzI/AAAAAAAAAzM/gRCmwZed7p0/s72-c/Dscf6527.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8772072912534930683</id><published>2011-09-06T11:29:00.002+01:00</published><updated>2011-12-04T17:42:19.309Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pcb'/><category scheme='http://www.blogger.com/atom/ns#' term='cnc'/><category scheme='http://www.blogger.com/atom/ns#' term='stepper motor'/><category scheme='http://www.blogger.com/atom/ns#' term='belt and pulley'/><title type='text'>CNC pick-and-place machine needed!</title><content type='html'>After spending hours and hours last night assembling and soldering just a couple of PCBs, the need for some sort of automation is growing - especially if we're going to realise the dream of actually making and selling a few miniature instruments.&lt;br /&gt;&lt;br /&gt;So we're back to investigating a miniature CNC-type pick-and-place machine.&lt;br /&gt;We've already &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/stepper-motor-forwards-and-reverse.html"&gt;got some stepper motors working&lt;/a&gt; and&amp;nbsp;&lt;a href="http://nerdclub-uk.blogspot.com/2011/08/lexmark-x73-all-in-one-printer-scanner.html"&gt;pulled apart a few printers and scanners&lt;/a&gt;, and have had no luck in finding &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/what-now-more-cnc-goodness.html"&gt;exactly the types of steppers, belts and pulleys we were hoping to use&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Which has lead us down a slightly different path - instead of determining which types of stepper motors and belt-drive system we're going to use up-front, we're going to build a system which anyone else can build too - but using parts that can easily be scavenged from old computer hardware.&lt;br /&gt;&lt;br /&gt;We &lt;a href="http://nerdclub-uk.blogspot.com/2011/08/lexmark-x73-all-in-one-printer-scanner.html"&gt;dismantled an old Lexmark Z73&lt;/a&gt; and found some useful looking stuff - stepper motors, carriage rods, belts and so on. None of these match our original cnc requirements (1.8deg steppers, 20-tooth pulley, 5mm pitch belts) but we've decided to change our approach, and build a machine using the parts we can get hold of. We'll write some software to drive our custom-made stepper board, so that you can simply enter a few parameters and let the computer do all the tricky calculations.&lt;br /&gt;&lt;br /&gt;This sounds like we're heading towards Mach3/traditional CNC type ground - the original plan was to just build something that would work "out-of-the-box" without lots of difficult setting up and parameter fiddling. But then again, buying all new hardware is going to get quite costly for us, or anyone else wanting to make a similar machine, whereas re-using and recycling old computer hardware is a much more eco-friendly way to go about making stuff in general.&lt;br /&gt;&lt;br /&gt;Here's our starting point - a stepper motor and a timing belt.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qlSDvzhbtaM/TmXzq0RA_gI/AAAAAAAAAy8/fE0juVCArGM/s1600/Dscf6521.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-qlSDvzhbtaM/TmXzq0RA_gI/AAAAAAAAAy8/fE0juVCArGM/s320/Dscf6521.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The stepper motor is a Mitsumi M42SP-6NK.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;A quick look on Google returns the datasheet, telling us that it's a 7.5 degree motor, runs at 12V and has a peak current of 400mA. We marked one of the teeth on the cog, then counted them clockwise, and discovered that this motor is fitted with a 15-tooth pulley&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-foK4qLp9z8o/TmXzrS67-3I/AAAAAAAAAzA/Qew_n4le_es/s1600/Dscf6522.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-foK4qLp9z8o/TmXzrS67-3I/AAAAAAAAAzA/Qew_n4le_es/s320/Dscf6522.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The timing belt didn't reveal much - the serial number OPM 300766 returned nothing of interest, so we had to do a bit of investigating....&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-xds4ZcZYuxs/TmXzr33EmEI/AAAAAAAAAzE/nUZXeqrq90U/s1600/Dscf6523.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-xds4ZcZYuxs/TmXzr33EmEI/AAAAAAAAAzE/nUZXeqrq90U/s320/Dscf6523.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;To find out the pitch of the belt, we need to measure from the&lt;a href="http://nerdclub-uk.blogspot.com/2011/08/what-now-more-cnc-goodness.html"&gt; centre of one tooth to the centre of another&lt;/a&gt;. This belt has tiny teeth, so we marked out 20 teeth using some masking tape and measured across the tops of the teeth with a steel rule (marked in 0.5mm spacing). Despite the photo's appearance, we made it 24mm across 20 teeth, making the belt pitch 1.2mm&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vg7LmxefNPA/TmXzqBw0hHI/AAAAAAAAAy4/2aYUjuaY7vI/s1600/Dscf6520.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-vg7LmxefNPA/TmXzqBw0hHI/AAAAAAAAAy4/2aYUjuaY7vI/s320/Dscf6520.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This may or may not be correct. The belt may even use imperial measurement (e.g. 1.2mm = 0.0472 inches - it may be a 0.05" pitch belt and we've just not measured it properly!) All this can hopefully be corrected in software once we've actually got the machine built, entered a few parameters and calibrated everything fully!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8772072912534930683?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8772072912534930683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-machine-needed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8772072912534930683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8772072912534930683'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/cnc-pick-and-place-machine-needed.html' title='CNC pick-and-place machine needed!'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-qlSDvzhbtaM/TmXzq0RA_gI/AAAAAAAAAy8/fE0juVCArGM/s72-c/Dscf6521.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-8884675875818125762</id><published>2011-09-06T01:22:00.001+01:00</published><updated>2011-12-04T17:41:49.480Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><title type='text'>Miniature Explorer and Flying V</title><content type='html'>Following the &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/brighton-mini-makerfaire.html"&gt;Brighton Mini MakerFaire&lt;/a&gt;, and taking a few days off to help out at &lt;a href="http://www.buildbrighton.com/"&gt;BuildBrighton&lt;/a&gt; (setting up stalls, packing away again, moving to the new hackspace and so on) it's time to concentrate on actually getting these miniature instruments finished!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nerdclub-uk.blogspot.com/2011/07/oomloutcouk.html"&gt;Aaron&lt;/a&gt; from &lt;a href="http://www.oomlout.co.uk/"&gt;Oomlout&lt;/a&gt;&amp;nbsp;came all the way down from Halifax to Brighton, especially for the MakerFaire but had already expressed an interest in the miniature guitars, so we demonstrated our &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-guitar-working-prototype.html"&gt;early prototype&lt;/a&gt;. He wanted to buy one there and then! So we've set about making a few different guitars.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Here's a Flying V being put together in green. We've only got 1.5mm in white, so all the scratchplates and accessories have to be white for now - so we're trying to pick colours that will show up the scratchplate well (we're sick of making stuff out of red, black would be a bit boring, blue a bit dark....)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-1Ntq3nhmHhE/TmVl1VY_xLI/AAAAAAAAAyk/OaOoZB7UkIs/s1600/DSCF6514.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-1Ntq3nhmHhE/TmVl1VY_xLI/AAAAAAAAAyk/OaOoZB7UkIs/s320/DSCF6514.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Below is an Explorer-shaped guitar (as played by U2's The Edge, and James Hetfield of Metallica - although they tend to stick to black rather than bright sunshine yellow!)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-gY1-EZDJgHo/TmVl3YXDkPI/AAAAAAAAAyo/cHDQlCuwP5M/s1600/DSCF6515.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-gY1-EZDJgHo/TmVl3YXDkPI/AAAAAAAAAyo/cHDQlCuwP5M/s320/DSCF6515.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Then we had to make a whole load of pick-ups and embellishments.In this case, we're cutting them from 3mm black acrylic - the square-shaped ones at the bottom are humbuckers and the middle bits get covered in chrome sticker to make them look authentic (although for a Les Paul type guitar, the pick-ups are usually gold coloured, rather than silver, but we've only got silver!)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kmtnpg6vGFk/TmVl5dbMi6I/AAAAAAAAAys/hpbJjz7l6bM/s1600/DSCF6517.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-kmtnpg6vGFk/TmVl5dbMi6I/AAAAAAAAAys/hpbJjz7l6bM/s320/DSCF6517.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;A few different guitar accessories - single-coil pick-ups, humbuckers, and bridge supports&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Soi5N_dI4zk/TmVl7Wqr2sI/AAAAAAAAAyw/ECMlcTMAvxU/s1600/DSCF6518.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-Soi5N_dI4zk/TmVl7Wqr2sI/AAAAAAAAAyw/ECMlcTMAvxU/s320/DSCF6518.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;The guitars being assembled - the red stratocaster is our &lt;a href="http://nerdclub-uk.blogspot.com/2011/09/miniature-guitar-working-prototype.html"&gt;working prototype&lt;/a&gt;. The others are new designs, which have taken quite a bit of trial-and-error to get right!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yw_v_DA-kuI/TmVl9WbtWdI/AAAAAAAAAy0/yhObQIF7mAY/s1600/DSCF6519.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-yw_v_DA-kuI/TmVl9WbtWdI/AAAAAAAAAy0/yhObQIF7mAY/s320/DSCF6519.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-8884675875818125762?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/8884675875818125762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8884675875818125762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/8884675875818125762'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/miniature-explorer-and-flying-v.html' title='Miniature Explorer and Flying V'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-1Ntq3nhmHhE/TmVl1VY_xLI/AAAAAAAAAyk/OaOoZB7UkIs/s72-c/DSCF6514.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-7326537969703621313</id><published>2011-09-04T14:55:00.004+01:00</published><updated>2011-12-04T17:41:33.594Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='brighton'/><category scheme='http://www.blogger.com/atom/ns#' term='makerfaire'/><category scheme='http://www.blogger.com/atom/ns#' term='buildbrighton'/><title type='text'>Brighton Mini MakerFaire</title><content type='html'>This Saturday, 3rd September 2011, saw the first &lt;a href="http://www.makerfairebrighton.com/"&gt;Mini MakerFaire come to Brighton&lt;/a&gt;.&lt;br /&gt;And what a fantastic makerfaire it was - with over 5,000 people attending the one day event, running from 10am to 6pm. There are loads of photos all over the 'net, but videos are harder to come by - perhaps because it was such a hot and noisy event!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kPmHlfSl4rU/TmN7CmAfx5I/AAAAAAAAAw8/BT6DlVuHu_I/s1600/bmmf1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-kPmHlfSl4rU/TmN7CmAfx5I/AAAAAAAAAw8/BT6DlVuHu_I/s320/bmmf1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Li1qrmBbTjc/TmN7RY8kR5I/AAAAAAAAAxA/W7gUXMvTIcc/s1600/bmmf2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-Li1qrmBbTjc/TmN7RY8kR5I/AAAAAAAAAxA/W7gUXMvTIcc/s320/bmmf2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XW1uOAh38tY/TmN7SGj1ZiI/AAAAAAAAAxE/0d7z7k0Zm1s/s1600/bmmf3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-XW1uOAh38tY/TmN7SGj1ZiI/AAAAAAAAAxE/0d7z7k0Zm1s/s320/bmmf3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It was really nice to see so many HackSpaces attending - some of the more established ones like London and Nottingham, as well as the newer fledgling spaces like Manchester (Hac-Man, you gotta love it!)&lt;br /&gt;&lt;br /&gt;There were some fantastic individual people displaying weird and wonderful gadgets too. &amp;nbsp;There were loads of midi- and arduino- based music making machines...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nI2J13CI678/TmN7-eBOdBI/AAAAAAAAAxI/qYpRgyiCUbA/s1600/bmff4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-nI2J13CI678/TmN7-eBOdBI/AAAAAAAAAxI/qYpRgyiCUbA/s320/bmff4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;...a guy in a white coat so he must have been a bona-fida scientist...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-J1tNeU_a_qk/TmN8Sdt7L0I/AAAAAAAAAxM/brQaE7Kt9Pc/s1600/bmmf5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-J1tNeU_a_qk/TmN8Sdt7L0I/AAAAAAAAAxM/brQaE7Kt9Pc/s320/bmmf5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;...magic mouldable rubber compounds for hacking even greater ideas....&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-sdmoKY2-rhU/TmN8h0eYkxI/AAAAAAAAAxQ/E7tSt2Bmcuk/s1600/bmmf6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-sdmoKY2-rhU/TmN8h0eYkxI/AAAAAAAAAxQ/E7tSt2Bmcuk/s320/bmmf6.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;...create-your-own-furniture design and prototyping services...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-6lrnF41IFGc/TmN80WqrC4I/AAAAAAAAAxU/uZsfXzWFPr8/s1600/bmmf7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-6lrnF41IFGc/TmN80WqrC4I/AAAAAAAAAxU/uZsfXzWFPr8/s320/bmmf7.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;...amazing self-balancing skateboards...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-w6FLTcPHEBs/TmN9BuvigXI/AAAAAAAAAxY/b67J6F3Ep9k/s1600/bmmf8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-w6FLTcPHEBs/TmN9BuvigXI/AAAAAAAAAxY/b67J6F3Ep9k/s320/bmmf8.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;...H2O-based music making (probably playing Hadel's Water Music - see what I did there?)....&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-__xHcr33aio/TmN9Wxao-BI/AAAAAAAAAxc/NUpqykyMohw/s1600/bmmf9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-__xHcr33aio/TmN9Wxao-BI/AAAAAAAAAxc/NUpqykyMohw/s320/bmmf9.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;...local celebrity &lt;a href="http://www.janebombane.co.uk/"&gt;Jane Bom Bane&lt;/a&gt;...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-1sy-SJ6Bi50/TmN9w2surbI/AAAAAAAAAxg/0DPP35lJE7I/s1600/bmmf10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-1sy-SJ6Bi50/TmN9w2surbI/AAAAAAAAAxg/0DPP35lJE7I/s320/bmmf10.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;...wasn't the only person creating weird and wonderful hats....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kD7bxCmw0Q4/TmN9xuROQaI/AAAAAAAAAxk/YxjH5PVzQa0/s1600/bmmf11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-kD7bxCmw0Q4/TmN9xuROQaI/AAAAAAAAAxk/YxjH5PVzQa0/s320/bmmf11.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Everyone had their own personal favourites. For me, the robotic drawing arm, part of the &lt;a href="http://aikon-gold.com/"&gt;AI-Kon Project&lt;/a&gt; was just incredible to watch. Stylised drawing - with a biro no less!&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-q6QKZYi0JPo/TmN-_d8CISI/AAAAAAAAAxo/dRWlQ5AnEO0/s1600/bmff12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-q6QKZYi0JPo/TmN-_d8CISI/AAAAAAAAAxo/dRWlQ5AnEO0/s320/bmff12.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9TQzxPfbcJk/TmN-_6JMJcI/AAAAAAAAAxs/J1z_iEaw168/s1600/bmff13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-9TQzxPfbcJk/TmN-_6JMJcI/AAAAAAAAAxs/J1z_iEaw168/s320/bmff13.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;There were 3D-printers...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-SJmbjK8DQF4/TmN_Xk2hc-I/AAAAAAAAAxw/bCbyx0olDHs/s1600/bmmf14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-SJmbjK8DQF4/TmN_Xk2hc-I/AAAAAAAAAxw/bCbyx0olDHs/s320/bmmf14.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;...a soldering workshop and drop-in hack room...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XC1OooqBphE/TmN_rrg4CDI/AAAAAAAAAx0/Umqmx9FmPP4/s1600/bmmf15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-XC1OooqBphE/TmN_rrg4CDI/AAAAAAAAAx0/Umqmx9FmPP4/s320/bmmf15.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;...a whole world of craft and techo-textile mash-ups...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-omQ_us4hDJ0/TmOABenVqVI/AAAAAAAAAx4/grHMyBi5rZw/s1600/bmmf16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-omQ_us4hDJ0/TmOABenVqVI/AAAAAAAAAx4/grHMyBi5rZw/s320/bmmf16.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;... including beautiful flowers from recycled materials...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-WXo81bA_1Ro/TmOAbvTkbaI/AAAAAAAAAx8/hbnamIjGPcM/s1600/bmmf17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-WXo81bA_1Ro/TmOAbvTkbaI/AAAAAAAAAx8/hbnamIjGPcM/s320/bmmf17.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... and workshops where you could sit and make your own...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-P6bfZR24KyM/TmOAcVKmA8I/AAAAAAAAAyA/Y7a-ylIFb6k/s1600/bmmf18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-P6bfZR24KyM/TmOAcVKmA8I/AAAAAAAAAyA/Y7a-ylIFb6k/s320/bmmf18.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There were stunning mosiacs....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kmMcaEbdbj8/TmOAuKIoruI/AAAAAAAAAyE/Ot-YpbO2Gig/s1600/bmmf19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-kmMcaEbdbj8/TmOAuKIoruI/AAAAAAAAAyE/Ot-YpbO2Gig/s320/bmmf19.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;...chain-mail-like metallic textiles...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-f-Yl-R6g1Gs/TmOBCL8OYuI/AAAAAAAAAyI/EcjISuFnvR8/s1600/bmmf20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-f-Yl-R6g1Gs/TmOBCL8OYuI/AAAAAAAAAyI/EcjISuFnvR8/s320/bmmf20.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;...knitted and felt-making classes...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-t-qpJaTyIzI/TmOBVMc1fBI/AAAAAAAAAyM/OqnRGp3KUTE/s1600/bmmf21.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-t-qpJaTyIzI/TmOBVMc1fBI/AAAAAAAAAyM/OqnRGp3KUTE/s320/bmmf21.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... rampaging robots who squirted unsuspecting passers-by, and blew smoke rings at them from behind!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VIFTw4oeCDk/TmOBi23nbZI/AAAAAAAAAyQ/_jFoIi2yxLE/s1600/bmmf22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-VIFTw4oeCDk/TmOBi23nbZI/AAAAAAAAAyQ/_jFoIi2yxLE/s320/bmmf22.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There were intricate gingerbread mini-masterpieces...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-KNR70-DPuzE/TmOB6fVpzNI/AAAAAAAAAyU/DeBf2IKKkWo/s1600/bmmf23.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-KNR70-DPuzE/TmOB6fVpzNI/AAAAAAAAAyU/DeBf2IKKkWo/s320/bmmf23.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;... a giant etch-a-sketch...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Vbb6t9ZY1XU/TmOEO2O02OI/AAAAAAAAAyg/MYzKdj9lO2Q/s1600/bmmf26.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-Vbb6t9ZY1XU/TmOEO2O02OI/AAAAAAAAAyg/MYzKdj9lO2Q/s320/bmmf26.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;... geeks....&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-E0sJ94GM9BI/TmOCQ659fDI/AAAAAAAAAyY/zFt8EQU67ww/s1600/bmmf24.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-E0sJ94GM9BI/TmOCQ659fDI/AAAAAAAAAyY/zFt8EQU67ww/s320/bmmf24.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... and nerds of all ages!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-v0P4SI97cZk/TmOCRu6ZOvI/AAAAAAAAAyc/ATYqx5vI0Bs/s1600/bmmf25.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-v0P4SI97cZk/TmOCRu6ZOvI/AAAAAAAAAyc/ATYqx5vI0Bs/s320/bmmf25.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There was loads more besides - but by this point I'd just forgotten all about the camera and was wandering around, staring in wide-eyed marvel at all the brilliant (and bizarre) things there.&lt;br /&gt;&lt;br /&gt;One of the best things about the makerfaire is that it was a truly family event - mums and dads were amazed at the technology and work that had gone into a lot of the exhibits, while the kids laughed and squealed at anything that beeped, farted, or flashed. The overall feeling at the makerfaire was that the Maker Movement in the UK has finally got a bit of momentum behind it. And with so many kids taking an interest, it's not just a middle-aged big-boys-club of shed-dwellers: making stuff is really accessible to &lt;i&gt;everyone&lt;/i&gt; now - it's an exciting time to be a geek or a nerd!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2584327372624565191-7326537969703621313?l=nerdclub-uk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nerdclub-uk.blogspot.com/feeds/7326537969703621313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/brighton-mini-makerfaire.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7326537969703621313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2584327372624565191/posts/default/7326537969703621313'/><link rel='alternate' type='text/html' href='http://nerdclub-uk.blogspot.com/2011/09/brighton-mini-makerfaire.html' title='Brighton Mini MakerFaire'/><author><name>FatBob</name><uri>http://www.blogger.com/profile/08274133286396866480</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='22' src='http://1.bp.blogspot.com/_qnQwfZmjA0Q/SrtRyqNZWCI/AAAAAAAAABQ/_UHabGZleLI/S220/nerd1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-kPmHlfSl4rU/TmN7CmAfx5I/AAAAAAAAAw8/BT6DlVuHu_I/s72-c/bmmf1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2584327372624565191.post-3619735987864530924</id><published>2011-09-01T16:13:00.000+01:00</published><updated>2011-12-04T17:41:05.227Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='miniature guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='microband'/><category scheme='http://www.blogger.com/atom/ns#' term='18f2455'/><title type='text'>Miniature guitar - working prototype</title><content type='html'>Another exciting day at Nerd Towers as we've finally completed our first working mi
