February 13, 2010

Vancouver Olympic Rings... Powered by Delphi

As the 2010 Winter Olympics start, it is nice to know that the application controlling the thousands of LEDs of the Vancouver Olympic Rings was written in Delphi.

As the 2010 Winter Olympics start, it is nice to know that the application controlling the thousands of LEDs of the Vancouver Olympic Rings was written in Delphi (although I could not find an external source, I spoke with one of the actual developers). The application controls the ultra-low consumption LED lamps and (as you can see in the video below) can change the color of each forming any kind of effect. You can also read an article here.

Update: I've actually found the video I meant to include, about the rings constructions and technology:



Vancouver Olympic Rings... Powered by Delphi 

Were you talking to John Dammeyer?

Comment by Bruce McGee on February 13, 12:02

Vancouver Olympic Rings... Powered by Delphi 


  very nice link... with specific reference to Delphi. 
No, my source is Doug Filteau, who worked on the 
Comment by Marco Cantu [http://www.marcocantu.com] on February 13, 15:00

Vancouver Olympic Rings... Powered by Delphi 

Wauw, looks good. Now listed on Delphi Wiki App List
in the category "Other Prestigious Delphi Applications".

One question, on the different videos we see ring logo
being mounted on a hill but also seen in the harbor.
Is it the same animated sign that has been moved? Or
are there multiple implementations of this animated sign?
Comment by Rif on February 13, 17:33

Vancouver Olympic Rings... Powered by Delphi 

An other intressting project which is realised with
Delphi is complete controling of the famous


in Hamburg

Here is an Video of what is controled with Delphi
(sorry but is only in german):

Comment by Heinz Z. [] on February 15, 05:37

Vancouver Olympic Rings... Powered by Delphi 

 I'm one of the software guys (there are currently two 
of us, John and myself). There are two ring units: a 
single-sided unit near Vancouver International Airport 
(YVR) and the double sided unit mounted on a rail barge 
in Vancouver's Coal Harbour on the downtown waterfront.

John and I will be providing technical data in the very 
near future about the various technologies involved.
Comment by Doug Filteau on February 15, 09:27

Vancouver Olympic Rings... Powered by Delphi 

 Yes Delphi at the Olympics.

Delphi 2007 rocks!!!!

Comment by batman on February 17, 18:25

Vancouver Olympic Rings... Powered by Delphi 

 I see both Olympic ring set ups on a daily basis and keep hoping for the 
change .Without the multi coloured rings it just does not give you the 
feeling that it is the Olympics.With the people that I have shared this 
with they have said the same thing.It looks simply like tarnished 
tradition by the host city. I'm disappointed. regards Tino. 
Comment by Tino & Sabrina Piovesan on February 18, 17:42

Vancouver Olympic Rings... Powered by Delphi 

I was wondering when I watched it why the animation
was so slow and jerky. Now I know!
Comment by Crno Srce on February 23, 13:39

Vancouver Olympic Rings... Powered by Delphi 

It's only jerky cause it's on Youtube. And it's slow
deliberately... to make it look cool. Delphi's the
best and anyone who says otherwise doesn't know what
they're talking about.
Comment by Sorm Saerdna on February 24, 02:16

Vancouver Olympic Rings... Powered by Delphi 

 Not only this, also the commentary units used by the 
commentators of the different TVs is controlled and 
programmed by Delphi :)
Comment by Moore on February 25, 15:20

Vancouver Olympic Rings... Powered by Delphi 


A bit of detail about the Winter Olympic Rings.  I 
designed the Lights, the control system and the 
underlying driver software that ran the Olympic Rings.

The rings were made up of 150 lamp modules per ring.  
Each lamp module had a CAN bus inteface and to avoid 
the limitation of no more than 120 units on a CAN 
bus, I used TKE WCS-10 bridges to rebroad cast the 
CAN messages from a 9S12 controller board.

The 9S12 controller had 5 CAN bus ports, one for each 
ring.  I wrote the software for it in C and 
interfaced to the PC with an FTDI F245 USB to 
parallel controller.  ASCII commands and data from 
the PC modified a data structure inside the 9S12.  A 
timer based function sent the data structure out to 
the rings every 20mS.

On the PC side I started with a simple Delphi 5 
application that slowly became a complete and 
dedicated control program for working with the lamp 
modules.  I passed that control program to Ian 
Mackay, a long term friend and associate (30 years) 
to use as the interface for his graphical rings 
control program.

Ian then wrote (using Delphi 6) a program that used 
XML data structure and files to create full featured 
light shows.  It was nothing short of incredible 
considering it was written in less than 2 months.

We now had two Delpi applications.  Ian's 
RingEdit.exe for running shows, scheduling and 
monitoring each light.  Each light had a temperatuer 
sensor and Ian created a graphical display that 
showed the temperature of the light as a colour.  We 
could watch the lights heat up from the sun during 
the day.

The second app was my RingLightTester.exe that let me 
change NodeIDs, query lamp status, monitor features 
and play simple shows.

That was all for the Olympic rings at YVR airport.  

Later that summer (2009) we were awarded the contract 
to build a double set of rings (back to back) that 
would eventually float on a barge at Coal Harbour in 
Vancouver.  Alas Ian never saw that as he succumed to 
complications from Cancer.

Running two USB ports with control of power relays on 
a barge with no easy access meant the software had to 
be even more robust and run shows that were now 
produced by an outside agency who had no 
understanding of the speed limitations of the USB to 
9S12 interface.

After a short search I found Doug Filteau local in 
Victoria BC.   We managed to get all the source code 
including some of Ian's custom libraries (no one 
expects to die in the middle of project) and I ported 
the code to Delphi 2007.  

I then handed that off to Doug to clean up so that 
the compiler would generate 0 error warnings.  Doug 
and I traded ownership of the program back and forth 
over the next few weeks as I added dual ring support 
and Doug added or modified much of the other support 
code to make it work with the dual USB ports.

I think though, Dougs crowning achievement really was 
the addition of the email support to the 
application.  I asked for and got the ability to play 
shows, control power etc. all by sending emails from 
my iPhone or my managers Blackberry.  

Now when a Canadian Athelete won a medal, we'd send 
an email to a gmail account monitored every 30 
seconds by the barge rings and the airport rings and 
the respective show for Gold, Silver Bronze would 

With Doug's help, taking on a somewhat undocumented 
project and his support in the two and half months, 
we to built 1500 new lights, two brand new 9S12 
controllers and a port from Delphi 6 with huge 
internet libraries to a clean Delphi 2007 port.

The Orings were without doubt a great success.  
Without the support of the Delphi community it may 
not have worked as well as it did.

John Dammeyer
Comment by John Dammeyer [http://www.autoartisans.com] on September 18, 06:46

Post Your Comment

Click here for posting your feedback to this blog.

There are currently 0 pending (unapproved) messages.