Changing the washer motors on the Suzuki Swift

This post is a “How to” on changing the washer bottle motors on the 2nd generation Suzuki Swift (2004-2010)

Original washer motor

Original washer motor

Washer motor

Pattern part replacement

The procedure has been confirmed with a 2005 1.5 GLX 5d auto VVT and a 2008 Swift Sport, both UK right-hand drive models.

No representation is made as to the accuracy of the information in this article and any work undertaken on your own car is at your own risk.

This model of Swift uses two identical single-outlet motors; one for the rear and one for the front. They attach directly to the bottle and are push-fit, so are ridiculously easy to replace. They are also readily available and very cheap – expect to pay between £5 and £10 per motor for generic pattern parts on eBay. As you can see from the pics, it is pretty easy to identify the correct part as the outlets and electrical connector are fairly distinctive.

Access to the washer bottle and motors is via the inner wing on the front-right side. On RHD cars this is the driver’s side. I presume that on LHD cars it is in the same place.

It makes access a lot easier if you take the wheel off.

Remove the pop fasteners along the inner wing. On this car, the centre of the circular fastener is pulled out to release it and then the whole lot pulls out. Be careful not to damage them, however if you do then replacements are readily available on eBay.

Swift washer bottle

Swift washer bottle

Pull back the inner wing and the washer bottle is right there. You can clearly see the two identical motors. Rather logically, the one closer to the front of the car is for the front windscreen and the other for the rear screen.

The motor is a push fit directly into the bottle.

Pull off the electrical connector and tube hose of the one you wish to change, and then firmly pull the motor away from the bottle. Replacement is the reverse.




For my current contract I finally have access to a C++11 compiler, and am starting to use C++11 in a production environment. Yes, I’m late to the party but that’s what happens when you have a succession of clients using older compilers.

I’m only scratching the surface so far, but things I am really liking so far are the auto keyword, initialiser lists, and the extensions to the for command to make iteration more compact.

Consider the following traditional C++ code for initialising a vector and then iterating over it:

std::vector<int> myVector;

for (std::vector<int>::const_iterator it = myVector.begin(); it != myVector.end(); ++it)
    std::cout << *it << std::endl;

Now consider the same code written in C++11

std::vector<int> myVector = { 1, 2, 3, 4, 5 };

for (auto elem : myVector)
    std::cout << elem << std::endl;

Life just got a whole lot more convenient.


Note that for more complex types where there is a significant cost to copy, you would probably want to use the following instead:

for (const auto& elem : myVector)

Hello, and welcome

Hi there. Welcome to my personal blog.

I intend this blog to be a general dumping ground for information that I consider to be useful and might want to refer back to. If other people wind up here due to a search engine and find that one of my posts is useful to them too then so much the better.

Due to my various interests, there will probably be a fairly eclectic mix of stuff to do with cars, C++ programming, music, humour, and whatever else takes my fancy.

The blog will be in a state of flux for a few days as I work out the look and feel of it, so please bear with me.