Marc's Public Blog

All | Arduino | Bm | Btrfs | Cars | Clubbing | Dining | Diving | Electronics | Exercising | Flying | Hiking | Linux | Linuxha | Public | Rc | Snow | Solar | Trips
Most recent entry: 2015-01-20 00:00:00 -- Generated on 2015-01-23 11:00:58 by Rig3 0.4-440




More pages: January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 October 2003 August 2003 July 2003 May 2003 April 2003 March 2003 January 2003 November 2002 October 2002 July 2002 May 2002 April 2002 March 2002 February 2002 November 2001 October 2001 September 2001 August 2001 July 2001 June 2001 May 2001 April 2001 March 2001 February 2001 December 2000 November 2000 October 2000 September 2000 August 2000 July 2000 June 2000 April 1999 March 1999 September 1997 July 1996 September 1993 July 1991 December 1988 December 1985 January 1980



2015/01/20 Diving Poor Knights Islands on 3 day liveaboard by Tutukaka/Whangarei, New Zealand
π 2015-01-20 00:00 in Diving, Nz2015
As part of our trip through New Zealand, my guidebook mentioned Poor Knights Islands as some of the best sub tropical diving in the world (and especially New Zealand], so we took 3 days to go dive there with Ocean Blue Adventures. It's a small liveaboard, but they were nice enough to give us the one room (they had some bunks for the rest of the folks), and it was comfortable enough for that duration. The crew of 2 did everything they could to make the trip and diving as nice as possible.



Poor Knights Island is a 2H boat trip from Tutukaka, so it was nice to be able to stay on site and do more dives than the other boats that only did 2 dives per day.


Water was on the cold side (19 to 22C). Jennifer got too cold on her first day due to not putting 2 wetsuits on right away (ideally one would have been enough, but her body just gets colder than mine and then needed more time to recover). She missed a few dives as a result, but enjoyed the ones she did. I did all the dives myself, although 19-21C with a 7mm suit was really on the cold side.

The diving was interesting. There were scorpionfish everywhere, as well as nice nudibranch (some quite fat), and even nudibranch on top of scorpionfish (that was weird):



nudibranch threesome
nudibranch threesome





I totally missed the scorpionfish underneath when I took the picture
I totally missed the scorpionfish underneath when I took the picture






There were loads of rays too:





Loads of eels of all kinds:



nice eel
nice eel










that poor fish had a tumor
that poor fish had a tumor






We did one night dive. Lots of little food floating around :)




And that was the conclusion of our 3 days of diving at Poor Knights Islands. It was cold, pretty tough for Jennifer and borderline for me, but it was interesting to see different critters from what we usually see during tropical diving.

2015/01/17 Scenic Passenger Flight to the northmost tip of New Zealand
π 2015-01-17 00:00 in Flying, Nz2015
As part of our trip to New Zealand's Northland, we flew in an interesting plane I hadn't seen before, an Australian version of a Kodiak. It had very good payload for 300hp, and it only burned about 15gph while carrying 8 people (albeit at 120kts):



The flight was very nice:




We landed on what looked like a sketchy grass runway that went unhill and curved, but our pilot did fine with it :)

Takeoff was also "interesting":

Our flight back was just as scenic:














Russel, where we spent the evening the day before
Russel, where we spent the evening the day before

It was a super nice flight, best way to see North New Zealand. Thanks to Salt Air!

2015/01/17 New Zealand Days 8-10: Northland around Paiha
π 2015-01-17 00:00 in Nz2015, Trips
We took an early bus from Auckland to Paiha, the place where all tourists to Northland get dumped :) As my guide book says, the town itself isn't much of a destination, but it's a convenient base to explore locations around from. When we arrived around noon, we were met by the owners of our B&B, Decks of Paiha, who nicely came to pick us up and drove us up the hill to their place. From there, we went for our boat tour of the neighbouring islands. As part of the trip, we got dropped off an island where we hiked a bit for views:

the bus ride was pretty comfortable
the bus ride was pretty comfortable


the locally famous hole in the rock
the locally famous hole in the rock










we got lucky to see some wild dolphins on the way back
we got lucky to see some wild dolphins on the way back


To be honest, the boat trip is probably what people do there, but not what we enjoyed the most. At the end of the trip, the boat dropped us off at Russell across from Paiha, and we hiked to the flagstaff and the beach by Takeka Point. Ironically that was actually free and fun ;)



passion fruit, but not quite ripe yet
passion fruit, but not quite ripe yet










After our hike at the beach, we got back to the ocean front for dinner and took the ferry back to Paiha to our BnB:



The next morning, we had great trip with Salt Air. They flew us to the north tip of the island. I put the flight on my flight blog. Thanks to that flight, we got to the north of northland to see its tip in a van driven expertly by our pilot:





checking out tide pools :)
checking out tide pools :)

The last but most fun part of that excursion was going to sand dunes and doing dune boarding:


long climb up :)
long climb up :)


Jennifer struggled a bit with directional control :)
Jennifer struggled a bit with directional control :)

After another great flight back, we went to Waitangi Treaty Grounds and learned about how the british went to New Zealand and actually treated the Maori with more respect than they have of any other country they tried to invade. From what I can tell, it's actually because the Maori were bad ass: all the tribes were unified against the british if needed, and they were scary warriors. The british likely feared them which is understandable considering how they look when they do their dances. All this to say, I have much respect for the Maori and I'm happy that it's probably the only native people to a land who stayed ahead and didn't get crushed like most others (Australian Aborigines, US Indians, and so forth).
(but rest assured the british of course still did their best to screw the Maori later, but only managed to do it so much)



huge boat
huge boat



where the treaty was signed with the Maori
where the treaty was signed with the Maori



The Maori gave us a very nice show:










The treaty grounds are also quite nice to visit:




The 3rd day, we had a nice breakfast at our B&B before heading out with a rental car. We then went to Kawiti Glow Worm caves:



you can see the glow worms if you look carefully
you can see the glow worms if you look carefully


Next, we went to the parrot place, which was quite fun:



yeah, scratch me right here :)
yeah, scratch me right here :)



friends :)
friends :)



very small baby quail
very small baby quail





On the way out, we went to see the oldest house in New Zealand, the brick house and rainbow falls:



We finished with a couple of wineries for Jennifer:








From there, we returned our rental car, took a bus to Whangarei and a minivan to Tutukaka where we slept before going to our diving boat the next morning.

2015/01/12 Linux.conf.au 2015 in Auckland
π 2015-01-12 00:00 in Linux
This year, LCA went back to New Zealand for the 3rd time. It was great to see the usual suspects again, and this time Jennifer and I used the opportunity to go visit the rest of New Zealand as part of this trip.

For the first year, I went to all 5 years, starting with the openradio miniconf where we built our own radio with an arduino to do tuning before passing on the audio stream to the PC for analysis.


from here
from here

my first surface mount soldering
my first surface mount soldering



all done
all done

receiving and decoding the signal
receiving and decoding the signal

The 2nd day, we built a small robot based off both an arduino and a raspberry pi:



all done
all done

Some pictures from the main conference:





my updated talk on btrfs went well
my updated talk on btrfs went well




Tridge gave a talk on ardupilot again, much fun
Tridge gave a talk on ardupilot again, much fun









The LCA Team had an impressive video recording setup they built with their own video capture board:




And after 5 days of great talks and fun, it was over again. See you all next year!

Steve Walch got the Rusty Wrench award this year, well deserved
Steve Walch got the Rusty Wrench award this year, well deserved

Next year, Geelong by Melbourne
Next year, Geelong by Melbourne

See more images for Linux.conf.au 2015 in Auckland
2015/01/11 Visiting The Museum of Transportation (Motat) in Auckland, NZ
π 2015-01-11 00:00 in Flying, Nz2015
Motat is an interesting museum, but a special part of it is the small but unusual collection of planes they have, including part of the now defunct NZ air force.

Small museum, but nice collection.







a huge flying boat
a huge flying boat







2015/01/10 New Zealand Days 1-7: Auckland
π 2015-01-10 00:00 in Nz2015, Trips
This year, for the 3rd time, linux.conf.au was in New Zealand, and conveniently in Auckland which is a nice direct flight for us. We arrived 2 days before the conference started, which gave us 2 days to visit Auckland. While 3 or 4 would have been better, I feel that we got the highlights in 2 days :)

Our first day was a bit tough since we landed around 05:30, and went directly to the hotel to drop our luggage and start exploring. Thankfully our flight in business was quite pleasant and the lie down flat beds were very good:

the entertainment system was top notch
the entertainment system was top notch



The flight was almost over too soon, I'd have happily slept there a bit longer :)

Welcome back to NZ!
Welcome back to NZ!

After arriving at our hotel around 07:00, we did a portion of the coast to coast walk although we only got as far as the War Museum (which is actually a lot more than just a war museum). We stopped by the botanical garden on the way:








happy bee :)
happy bee :)



heavily loaded bee
heavily loaded bee




Finally got to the auckland museum
Finally got to the auckland museum










The museum had one display showing you a simulation of what willl happen when the next volcano errupts around Oakland (and that's just a matter of time, we just don't know when):


Oakland is full of volcanoes
Oakland is full of volcanoes

The war museum part is the 3rd floor, which actually was the least interesting to us, but we still went through it quickly:



We then went to the art museum before heading back after a quick dinner (actually I went back out to see a couple of movies at the planetarium that were only showing that evening), and then it was time for well deserved rest :)





The next morning, we took a ferry to Rangitoto, the youngest volcano around Auckland:





Rangitoto
Rangitoto



we took the easy way up :)
we took the easy way up :)

you can still see that the island is volcanic
you can still see that the island is volcanic




that's the volcano crater, but you can't really tell with all the trees
that's the volcano crater, but you can't really tell with all the trees

nice view of Auckland from there
nice view of Auckland from there



we went by the lava tubes on the way down
we went by the lava tubes on the way down


After getting back to Auckland, we went to MOTAT, the museum of transportation:














After MOTAT, we went to Auckland Sky Tower:


you can walk around the top, tethered
you can walk around the top, tethered






war museum
war museum





That was it for day #2, we were still a bit jetlagged (not just the difference from California, but that we had flown from France 2 days prior), so we were happy to be in bed by 22:00 so that I could get an early start at the conference on monday the next day.
The rest of the week was indeed spent at the conference, but friday night, before leaving, I went to fly a jet auckland to try a 737 simulator again (75mn of flight), and joined Jennifer for dinner at Clooney, probably the best restaurant in Auckland, where we enjoyed a very nice 5 course dinner:






And that was it for our time in Auckland. It's a nice little city that isn't too crowded and we lucked out with the weather.

See more images for New Zealand Days 1-7: Auckland
2015/01/06 Driver for direct driving single to 3 color LED Matrices with software PWM
π 2015-01-06 00:00 in Arduino
Code download: Multi Color PWM LED Matrix Driver.

Many LED matrices come with a MAX7219 driver chip or equivalent. Those are great since you program the columns and rows, and they do the line by line scan and refresh for you. Unfortunately, you can't do color mixes with different intensities for each color. For instance the Adafruit LED backpack is super easy to use, but you cannot control each color to mix different shades between them.

Then, I also happened to have some raw LED matrices a dual color one and a triple color one ordered from china, equivalent to these two: https://www.sparkfun.com/products/682 and https://www.sparkfun.com/products/683 . Those didn't come with any driver chip, so that gave me an excuse to program my own code to do line scanning and refresh like many examples you find on the net.

My bycolor matrix has common cathode, green and red on the 2 anodes. Like other matrices you have to disable all the lines, set the rows you'd like for each color, and then turn on the common ground to illuminate those pixels for a little while. Then, you go to the next line, and continue. Many examples do this in the main arduino loop, but I wanted to use Adafruit's excellent Adafruit-GFX library. As a result, I wrote an ISR (interrupt routine) to rrefresh the lines, like an old cathodic raw tube, in the background, while leaving the main loop for programming what you want to do and display. This soon allowed me to display the smiley face bitmap from the Adafruit LED Backpack library.

from here
from here

to here
to here

This was pretty major accomplishment for me since I wrote a generic C++ library that could allocate an array of any size (it supports anything, not just 8x8), and do all the work in the background in an ISR. I then got busy with other projects and hobbies.

Later, I came back to this and added code to support more than one color, and especially support programming an LED array of 1 to 3 separate colors wired either directly or via shift registers, or a combination of the 2 (shift registers save pins, but also make IO 50% slower). By then I was hitting issues where I had to refresh the lines very quickly (200 microseconds) to allow for 16 shades per color and still offer a 40-50Hz refresh rate for the whole array. If my refresh became slower than 200 microseconds, I could not support 16 shades (4 bits per color) without getting too slow and creating an array that would visibly flicker. I fixed this by doing the following:

  • Fast Digital IO to make digitalwrite 3x faster and my ISR routine 2.5x faster
  • Instead of having 16 interruptions for 16 levels per color, I switched to binary code modulation where I could do the same 16 levels of shading with only 4 interrupts instead of 16. This also leaves more time for code in the main loop.
  • I've published my resulting code here: Multi Color PWM LED Matrix Driver. While it uses more resources than the adafruit backpacks, it's cheaper in hardware and ends up giving more flexibility (many more colors).

    You can look at the results here:




    The original Adafruit::GFX library doesn't support multi color bitmaps, but I added support for it here: https://github.com/adafruit/Adafruit-GFX-Library/pull/39

    After doing the above, I went to add support for Tricolor Matrices, which was not much work, except for adding those 2 bits:

  • allowing shift registers to be wired to rows in reverse order when it makes wiring easier
  • 3 colors at 16pwm values and 40Hz runs against the speed limits of an arduino nano v3
  • My tricolor matrix had a common anode which was opposite from the bicolor with a common cathode.
  • This was all added to my LED-Matrix library here: https://github.com/marcmerlin/LED-Matrix
    If you'd like to buy the tricolor matrix I used, here are some links:

  • specs: http://www.seeedstudio.com/depot/datasheet/2088RGBMatrix.pdf (sold here: http://www.seeedstudio.com/depot/8x8-RGB-LED-Dot-Matrix-Compatible-with-Rainbowduino-p-113.html)
  • http://www.seeedstudio.com/depot/8x8-RGB-LED-Matrix-Square-LED-Dot-p-1730.html seems to be common cathode (the opposite)
  • This is the same matrix I used, sold by sparkfun: https://www.sparkfun.com/products/683
  • only $5 from hobbyking
  • Again, the pictures don't do a good job showing the PWM values because of the CCD trying to capture a consistent amount of light. Also, anything close to white uses all 3 LEDs, this draws too much current from my arduino on the common anode. Before I add FETs or ways to improve current per line, it's still good enogh for demos. This setup uses 2 shift registers for 16 pins (blue and red), while green is connected directly to 8 pins, and 8 pins for common anode (which is where the current for 3 LEDs at once is lacking):



    generating circles with the Adafruit::GFX library
    generating circles with the Adafruit::GFX library


    Here's a video demo:

    Links to other pages about this topic:

  • http://learnpic32.blogspot.co.nz/2014/06/controlling-rgb-led-matrix-with-shift.html
  • http://francisshanahan.com/index.php/2009/how-to-build-a-8x8x3-led-matrix-with-pwm-using-an-arduino
  • http://www.instructables.com/id/64-pixel-RGB-LED-Display-Another-Arduino-Clone
  • http://www.seeedstudio.com/wiki/60mm_square_8*8_LED_matrix_-_super_bright_RGB
  • https://www.sparkfun.com/tutorials/201
  • Sparkfun offers a hardware backpack: https://www.sparkfun.com/products/760 with code here: https://github.com/fornellas/SFRGBLEDMatrix
  • http://playground.arduino.cc/Main/LEDMatrix

  • More pages: January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 October 2003 August 2003 July 2003 May 2003 April 2003 March 2003 January 2003 November 2002 October 2002 July 2002 May 2002 April 2002 March 2002 February 2002 November 2001 October 2001 September 2001 August 2001 July 2001 June 2001 May 2001 April 2001 March 2001 February 2001 December 2000 November 2000 October 2000 September 2000 August 2000 July 2000 June 2000 April 1999 March 1999 September 1997 July 1996 September 1993 July 1991 December 1988 December 1985 January 1980