<?xml version='1.0' ?>
<feed version='0.3'>
  <title>Jonathan Oxer\'s Brain(cell)</title>
  <link href="http://jon.oxer.com.au/" rel="alternate" type="text/html"/>
  <tagline>Jonathan Oxer\'s Brain(cell)</tagline>
  <modified>2010-01-21 23:Jan:st</modified>
  <author>
    <name>2010-01-21 23:Jan:st</name>
    <url>http://jon.oxer.com.au</url>
    <email>jon@oxer.com.au</email>
  </author>
  <copyright>Copyright 2010 Jonathan Oxer</copyright>
  <entry>
    <issued>Thu, 21 Jan 2010 23:11:06  +1000</issued>
    <modified>Thu, 21 Jan 2010 23:11:06  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/359" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/359</id>
    <title mode="escaped" type="text/html">Interview by Marcus Schappi of Little Bird</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      Right after the Arduino Miniconf ended Marcus Schappi of <a href="http://www.littlebirdelectronics.com/">Little Bird Electronics</a> trapped Hugh and I in a corner and asked us a few questions.<br />
<br />
<object width="480" height="270"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8827307&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8827307&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="480" height="270"></embed></object>    </content>
  </entry>
  <entry>
    <issued>Thu, 21 Jan 2010 23:01:49  +1000</issued>
    <modified>Thu, 21 Jan 2010 23:01:49  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/358" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/358</id>
    <title mode="escaped" type="text/html">Arduino Miniconf at LCA2010</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      Wow, it's all over! The Arduino Miniconf at LCA2010 was a blur of craziness but I had an absolute blast. It was the most fun conference event I've been to in, well, ever.<br />
<br />
It started with a hardware assembly session to give all the software geeks a chance to use a soldering iron (some for the very first time) and build their own Pebble shield.<br />
<br />
<img src="http://www.practicalarduino.com/pics/amc2010/amc2010-construction.jpg"><br />
<div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/richard_jones/4286230658/"><a rel="cc:attributionURL" href="http://www.flickr.com/photos/richard_jones/">http://www.flickr.com/photos/richard_jones/</a> / <a rel="license" href="http://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a></div><br />
<br />
By lunchtime about 30 people had finished assembling their boards, and there were a lot of happy hackers around when they powered up their Arduino and got messages up on the LCD.<br />
<br />
<img src="http://www.practicalarduino.com/pics/amc2010/amc2010-happy-hackers.jpg"><br />
<div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/richard_jones/4285497427/"><a rel="cc:attributionURL" href="http://www.flickr.com/photos/richard_jones/">http://www.flickr.com/photos/richard_jones/</a> / <a rel="license" href="http://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a></div><br />
<br />
Both Vik Olliver and Patrick Herd brought along RepRaps to entertain the crowd. The morning assembly session and the early-afternoon "Introduction to the Pebble" sessions were run by Andy Gelme (seen in the white T-shirt and blue cap with his back to the camera above) who did an awesome job, and he was followed by a great line-up of speakers. A big thankyou to those who spoke at the miniconf:<br />
<ul><li>Andy Gelme<br />
<li>Justin Mclean<br />
<li>Philip Lindsay<br />
<li>Peter Chubb<br />
<li>Nathan Seidle<br />
<li>Vik Olliver<br />
<li>Marcus Schappi</ul><br />
Truly a 5-star line-up, and with a great range of interesting topics that sparked lively discussion.<br />
<br />
Thanks also to all the helpers: the reason the hardware session worked out so well was that we had about 16 experienced people willing and able to give their own time to help out those with less experience. We ended up with a helper:participant ratio of about 1:2 and paired up participants, so every pair had at least one helper and nobody was left floundering around on their own.<br />
<br />
Two participants got minor solder burns (not enough to need proper first aid, more of the "ow, that hurt!" variety) so to make it up to them they both received prizes. Speaking of which, we were lucky enough to have <a href="http://apress.com/">Apress</a> provide a few copies of Practical Arduino and <a href="http://nicegear.co.nz/">Nice Gear</a> provide vouchers for two Duemilanoves and a pair of XBee modules, which we then distributed to participants.<br />
<br />
There are a bunch of other people who contributed to the success of the Miniconf including many members of <a href="http://hackmelbourne.org/">Connected Community Hackerspace</a> in Melbourne who pre-assembled many of the hardware packs. Mitch Davis, in particular, chased down cheap deals on parts so we could make it as cheap as possible for everyone to take part.<br />
<br />
Finally, but perhaps most importantly of all, a big thankyou to <a href="http://twitter.com/lukeweston">Luke Weston</a> who put in so much work preparing the Pebble hardware and then didn't even get to attend the Miniconf. The Pebble PCB is his design, and while everyone at the Miniconf in Wellington was having fun assembling his creation he was sitting in Melbourne watching it on a live stream and wishing he was there.<br />
<br />
Luke, your efforts are greatly appreciated by a lot of people.<br />
<br />
I'll follow up later with links to slides and other resources for the various talks delivered during the Miniconf.    </content>
  </entry>
  <entry>
    <issued>Thu, 31 Dec 2009 13:59:36  +1000</issued>
    <modified>Thu, 31 Dec 2009 13:59:36  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/356" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/356</id>
    <title mode="escaped" type="text/html">Actual hard copies have arrived!</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      <i>Originally posted on <a href="http://www.practicalarduino.com/">Practical Arduino</a></i><br />
<br />
They're here!<br />
<br />
<img src="http://www.practicalarduino.com/pics/pa-first-copies-480.jpg"><br />
<br />
Hopefully any day now they'll be arriving on the doorsteps of everyone who placed a pre-order. And if you haven't ordered it yet, <a href="http://www.practicalarduino.com/buy">here's a subtle hint</a>.    </content>
  </entry>
  <entry>
    <issued>Wed, 04 Nov 2009 11:46:42  +1000</issued>
    <modified>Wed, 04 Nov 2009 11:46:42  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/355" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/355</id>
    <title mode="escaped" type="text/html">A netbook is not a laptop substitute!</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      A while ago my 15.4" laptop (Celeron 1.5GHz, fairly basic machine) died after a number of years of faithful service. I'd been wanting a netbook for a while and it seemed some were getting to the point of being fast enough to do everything a laptop can do, but in a smaller package.<br />
<br />
So I ended up with an HP2133. VIA 1.6GHz, 1GB RAM, 120GB disk, very nice keyboard, 1280x768 display, and all the usual stuff like WiFi and Bluetooth.<br />
<br />
<img src="http://jon.oxer.com.au/pics/hp_2133.jpg"><br />
<br />
As a netbook goes it's pretty sweet other than problems with sleep and a pathetic 3-cell battery that lasts about an hour. As a laptop-replacement it's been a nightmare.<br />
<br />
I spend hours every night working from the couch in front of the TV and I figured a netbook with decent resolution would work nicely. Boy was I wrong.<br />
<br />
For occasional use in emergency situations, or for having a laptop handy while travelling without taking up much space: perfect.<br />
<br />
Sitting on the couch for 5 hours peering at an 8.9", 1280x768 screen (that's something above 160dpi resolution, folks) leaves me with a headache, a sore back, a sore neck, and my wife telling me that I'll end up permanently crippled.<br />
<br />
I still like the HP2133 as a *netbook*, but I've come to the conclusion that netbooks are not just small laptops, they're something entirely different and are for a different purpose. So last night I fished out an old Dell Inspiron (an 8200, I think) that had been put on the "too old to bother using" junk pile at <a href="http://www.ivt.com.au/">IVT</a> and loaded up <a href="http://www.ubuntu.com/">Ubuntu</a> on it. The battery is stuffed, the hinges flop around, it has no WiFi or Bluetooth, and it sounds like a jet engine but ahhh, the bliss of a 15" screen!    </content>
  </entry>
  <entry>
    <issued>Mon, 19 Oct 2009 09:59:04  +1000</issued>
    <modified>Mon, 19 Oct 2009 09:59:04  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/354" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/354</id>
    <title mode="escaped" type="text/html">Practical Arduino: done</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      <i>Originally posted on <a href="http://www.practicalarduino.com/">Practical Arduino</a></i><br />
<br />
Or at least it's done as far as Hugh and I can influence it, anyway. It's all in Apress' hands now: don't let us down, please!<br />
<br />
I don't think I'm emotionally quite ready to do a de-brief post about the experience yet but I can give you a couple of stats about it.<br />
<br />
<ul><li>Words: 143,048<br />
<li>Projects considered: 92<br />
<li>Projects shortlisted: 45<br />
<li>Projects commenced: 22<br />
<li><a href="http://www.practicalarduino.com/projects">Projects included: 14</a><br />
<li>Total chapters: 16<br />
<li>Hours: far enough beyond 1,000 that it's scary<br />
<li>Life lost: 7.5 months<br />
<li>Prototyping shields used: 47<br />
<li>Arduinos purchased: 25<br />
<li>Trips to Jaycar: dunno, but I have a reserved parking space</ul><br />
And we now have a shiny looking cover.<br />
<br />
<img src="http://www.practicalarduino.com/pics/practical-arduino-cover-medium.jpg"><br />
<br />
Can't wait to see the real thing!    </content>
  </entry>
  <entry>
    <issued>Sun, 27 Sep 2009 21:59:05  +1000</issued>
    <modified>Sun, 27 Sep 2009 21:59:05  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/353" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/353</id>
    <title mode="escaped" type="text/html">Car engine datalogger project update</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      <i>Originally posted on <a href="http://www.practicalarduino.com/">Practical Arduino</a></i><br />
<br />
The final project of the book is turning out to be epic. It's taken me far longer than I expected, and I've hit quite a few snags along the way. I've also had to make quite a few compromises because if I implemented everything I wanted it would take up half the book.<br />
<br />
The big problem initially was communications with OBD-II, which was a piece of cake for my previous car datalogger (running on Linux) but turned out to be more tricky on an Arduino. Eventually it got to the point where I just cried and twitched a little bit whenever I thought about working on it, so to save my sanity I ditched my original codebase and switched to working on OBDuino instead.<br />
<br />
OBDuino is an offshoot of the MPGuino project, which is primarily intended to be a tool for helping people drive more economically by providing real-time engine performance and fuel consumption information. It's developed collaboratively on the <a href="http://www.ecomodder.com/">EcoModder</a> website and it's a perfect example of what Arduino is really good at: providing a cheap, simple, flexible platform to allow people to develop something to suit their own requirements. There is now dedicated MPGuino hardware that has grown beyond its Arduino origins, but that's a good thing. It shows Arduino did its job.<br />
<br />
Anyway, the point is that in the end it's been easier to take the functional code I had for GPS, flash memory storage, and a serial console, and graft those features onto the existing OBDuino codebase rather than graft OBD support into my codebase. So now I have an OBDuino variant that requires a Mega to run (unlike the original, which will run on a Duemilanove) but adds GPS and datalogging. The datalogging feature is really cool, because it logs GPS plus OBD-II data which can then be correlated and converted to other formats. This afternoon I went for a little drive and when I came back I wrote a script to parse the CSV file stored by OBDuino and generate a KML file to pass into Google Earth, with the result that I can now generate things like this:<br />
<br />
<a href="http://www.practicalarduino.com/pics/obduino-track.png"><img src="http://www.practicalarduino.com/pics/obduino-track-small.jpg" border="0"></a><br />
<br />
(Click the image to see the whole thing full size)<br />
<br />
The track is generated from the lat and lon stored from GPS, and the height indicates the speed of the car. By switching the columns selected by the script I can plot position against RPM, load, temperature, or any other value logged from the OBD-II data.<br />
<br />
The prototype hardware is still a total mess and the code is only half done, but as long as I don't sleep for about the next 5 days the project should just sneak in within the publishing deadline.    </content>
  </entry>
  <entry>
    <issued>Sun, 13 Sep 2009 20:57:31  +1000</issued>
    <modified>Sun, 13 Sep 2009 20:57:31  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/352" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/352</id>
    <title mode="escaped" type="text/html">Water flow gauge project update</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      <i>Originally posted on <a href="http://www.practicalarduino.com/">Practical Arduino</a></i><br />
<br />
I "finished" the first draft of the water flow gauge project quite a while ago but I was never really satisfied with it. It's quite an important project in <a href="http://www.practicalarduino.com/">the book</a> because it's used to demonstrate some critical concepts such as interrupts, but as a project it wasn't really that useful. It only reported values via the serial port so it needed a host connected to do anything, and it just didn't quite feel like it added enough value to the book.<br />
<br />
Over the last two days I've gone back and redone the project almost from scratch, leaving in place the original information about interrupts but expanding the project to include an LCD and buttons to allow it to be used as a stand-alone device.<br />
<br />
<img src="http://www.practicalarduino.com/pics/water-flow-gauge.jpg"><br />
<br />
In its new form it feels much more like a complete project. The LiquidCrystal library was something I really wanted to cover in the book but it hadn't fitted into the other projects that made the final cut, so re-jigging this project gave me the perfect excuse to demonstrate it.<br />
<br />
And the final device fitted together so beautifully into the clear-fronted weatherproof case with splashproof pushbuttons that it almost feels like a work of art, even down to the exposed colorful PCB and wiring: something that I can feel proud to show people and tell them I built it.    </content>
  </entry>
  <entry>
    <issued>Sat, 29 Aug 2009 17:57:02  +1000</issued>
    <modified>Sat, 29 Aug 2009 17:57:02  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/351" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/351</id>
    <title mode="escaped" type="text/html">Oscilloscope hardware all done</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      <i>Originally posted on <a href="http://www.practicalarduino.com/">Practical Arduino</a></i><br />
<br />
The hardware came together quite nicely, but the software side of this project is giving me a surprising amount of trouble.<br />
<br />
The pic below shows it connected to the serial data line on an RFID shield mounted on a Mega:<br />
<br />
<img src="http://www.practicalarduino.com/pics/oscilloscope-in-use.jpg"><br />
<br />
Hardware works just fine, but the problem is that my computer at home is an original eeeBox with a totally underpowered VIA CPU, and when I have Processing (which is Java based, so ridiculously overweight) on the host trying to process a data stream being thrown at it at 115,200bps it keeps freaking out and becoming unresponsive. Most of the time the serial port won't even come back, which means I've been rebooting the machine about every 10 minutes.<br />
<br />
It's driving me nuts so I've just taken some time off to play with a <a href="http://www.seeedstudio.com/">Seeed Studio</a> pan / tilt servo mount which I'm controlling with a <a href="http://www.sparkfun.com/">Sparkfun</a> analog joystick and breakout board. At least *that* worked first time!    </content>
  </entry>
  <entry>
    <issued>Thu, 20 Aug 2009 08:44:23  +1000</issued>
    <modified>Thu, 20 Aug 2009 08:44:23  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/350" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/350</id>
    <title mode="escaped" type="text/html">Crazy multi-processor ARM-based Arduino system</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      <i>Originally posted on <a href="http://www.practicalarduino.com/">Practical Arduino</a></i><br />
<br />
This is so freaking awesome I don't even know where to start. I want to tell you about ten different things at once and they're all trying to crowd through the door at the same time and getting jammed together!<br />
<br />
An email to the Arduino developers mailing list a few hours ago announced that the Arduino development environment had been ported to the ARM processor to support a project under development to create a reconfigurable computer consisting of tiny tiles. Each tile is about 2 square inches and is essentially a micro-sized motherboard: it's a self-contained computer with a CPU, RAM, EEPROM, I/O lines, comms, status LEDs, and an input button. Each edge has reversible connectors that allow them to be plugged together in any direction, even upside down, and each tile automatically detects its neighbors so it can start communicating with them. Power is passed through from one edge to another so to create a parallel array all you have to do is plug a bunch of them together, connect power to one edge of any tile, and it all springs to life.<br />
<br />
Pure brilliance.<br />
<br />
This is what four of them plugged together look like:<br />
<br />
<img src="http://www.practicalarduino.com/pics/illuminato-x-machina-quad.jpg"><br />
<br />
But the genius doesn't end there. They also implemented a crazy custom bootloader that allows software to propagate across a cluster, effectively allowing a programmer to "inject" a new piece of software into one of the edges and it will spread across the system. You can see it demonstrated in this video where they start with two separate clusters and inject a new program into one cluster and let it spread, then link the clusters together and it continues into the second set of tiles:<br />
<br />
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/ZBFoFYhC9B4&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ZBFoFYhC9B4&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object><br />
<br />
Right now they have an Arduino fork for the ARM code required to make this work, but hopefully it'll be incorporated into the Arduino mainline before long.<br />
<br />
They've made their boards <a href="http://www.liquidware.com/shop/show/IXM/Illuminato+X+Machina">available for purchase through Liquidware</a> so soon anyone will be able to start playing around with them for just US$57 / node.<br />
<br />
Lots more information at:<br />
 <a href="http://antipastohw.blogspot.com/2009/08/introducing-illuminato-x-machina.html">Original blog post</a><br />
 <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1250709267">Arduino forum post</a><br />
 <a href="http://www.wired.com/gadgetlab/2009/08/modular-motherboard/">Wired coverage</a><br />
<br />
There's lots more to say but for now I'll just point you to those references and let you check it out for yourself.    </content>
  </entry>
  <entry>
    <issued>Fri, 14 Aug 2009 15:32:13  +1000</issued>
    <modified>Fri, 14 Aug 2009 15:32:13  +1000</modified>
    <link href="http://jon.oxer.com.au/blog/id/349" rel="alternate" type="text/html"/>
    <id>http://jon.oxer.com.au/blog/id/349</id>
    <title mode="escaped" type="text/html">Surface mount soldering with garden tools</title>
    <content mode="escaped" type="text/html" xml:lang="en-US" xml:space="preserve">
      <i>Originally posted on <a href="http://www.practicalarduino.com/">PracticalArduino</a></i><br />
<br />
I bet this is a tip you never expected to see! My essential tools for surface-mount soldering include tweezers and ... a garden fork?<br />
<br />
<img src="http://www.practicalarduino.com/pics/smd-fork-small.jpg"><br />
<br />
A couple of weeks ago I came across a little how-to on MakeZine about making a <a href="http://blog.makezine.com/archive/2009/07/how-to_pointer_weight_for_smd_solde.html">pointer weight for SMD soldering</a>. I had a go at making up a slightly smaller one and it seemed promising but not quite heavy enough (I was lazy and didn't put washers on top as weights like in the MakeZine article) and I used it for a couple of days with surprisingly good results. I didn't get around to adding weight though and then while coming in through the back door I saw my wife's gardening fork, and inspiration struck.<br />
<br />
I grabbed the fork, put a blank ProtoShield down on my bench, grabbed some surface-mount parts, and went for it.<br />
<br />
Perfect!<br />
<br />
The fork has just the right amount of weight to hold parts firmly without being too heavy, and the tip is rounded enough that it doesn't damage the part but narrow enough not to get in the way of the soldering iron. All I have to do is line the part up with tweezers, lay the fork tip onto it, and it's ready to go. Both hands are then free to deal with the solder and the iron.<br />
<br />
<img src="http://www.practicalarduino.com/pics/smd-fork-close-small.jpg"><br />
<br />
The result: very neat part placement very fast, with fresh solder applied rather than relying on solder stored on the tip of the iron.<br />
<br />
Thanks MakeZine   :-)    </content>
  </entry>
</feed>
