Kawasaki ER6F (2006) – servicing and tweaks so far.

I’ve had the bike for just over a year now and it was the first and only bike I’ve had since receiving my full (A) licence. I’ve put roughly 2500 miles on and have ridden in a variety of places, everything from small gravel tracks to motorways. I’m quite fond of the thing and it was certainly a bit rough around the edges to say the least when I bought it. However, over the past 13 months I’ve done quite a lot of work on it. Work includes:

  • Fixed idle engine speed adjuster
  • Replace broken number plate light
  • Oil and filter change
  • Adjust clutch and brake levers
  • Coolant change
  • Front brake pads (both sets)
  • Brake fluid flush (front and rear)
  • Spark plug change
  • Air filter change
  • Horn was not working – cable severed due to wear and tear.
  • Replace chain and sprockets
  • Rear brake pads
  • Front and Rear caliper rebuilds
  • Diagnose FI issue and made custom tool to read logs (false positive from oxygen sensor)
  • Chain adjustment
  • Tyres (These were done by a mechanic as I don’t have the tyre replacement tools nor the inclination)
  • Added rear stand pins
  • General lubrication

These were not jobs that were done for the sake of it, the bike genuinely needed them done. The combination of Youtube and the bike’s manual have been invaluable. Some particularly useful channels are:

Overall its gone really well and there were no major mishaps when doing the jobs which surprised me as I haven’t worked on bikes or cars before and I’ve also learnt so much in the process. I have reflected somewhat on this and think that as a novice amateur, there are a few things that can help when working on motorcycles.

Taking your time

Just taking your time and thinking about things, checking and rechecking videos and the manual is always helpful and also consulting forums can help ensure the job goes well. This is easier said than done when the bike is your main form of transportation (I mainly use the car for work) but try to give yourself at least a weekend for a job.

Read the manual

The manual for your bike will be immensely helpful, and getting this will provide the key steps for a servicing task and schematics.

See if there are videos

This is useful to supplement the manual. Often the manual will give you just the key steps, no tips or at all. This is where youtube comes in and having a video of someone going through the task is invaluable, particularly for more involved tasks (for a novice like me) such as spark plug changes and replacing the chain and sprocket.

Check your cognitive state

If something is not going well, you’ve lost something or are starting to lose your patience, take a break and do something else, have a cup of tea and come back to it either in a few hours or even in a few days.

Sometimes you also just have to jump in. Despite having watched the spark plug change video multiple times and having a good step by step idea of what to do, I was concerned I would do something wrong and damage the bike and held off on it for weeks despite having the time and parts. But one weekend I just became resolute and dived in and it went fine. The issue with the spark plug change is that it looks more challenging than it is because the bike basically looks like it’s been chopped in half and there is a lot of cabling.

Try to prevent distractions

I find that the missus will come into the garage and talk about something randomly, and if I talk and work it can mean things go a little wrong. So stopping work completely and chatting is was better than half concentrating on either talking or the task.

Document and organize

Take plenty of pictures with your phone, you can’t take too many. It helps immensely when dealing with things like screws and cabling. If you need to check what things are supposed to look like, you can check the images.

Also, have a small container to put things like screws in. I’m terrible for putting parts in random places and not having to search for them. Keeping your workspace as organized as possible also helps and the same goes for keeping things clean.

Also have a tidy work area.

Check and recheck

Your safety is paramount and checking the bike before riding is extremely important much in the same way as the POWDERS check. After any amend, I go on a short ride and gauge how the bike is and if I can feel anything is off I’ll return and make any amends.

Have the right tools

Sometimes it can be frustrating to find out you need a tool mid way through a job but it’s better to just stop and buy the tool rather than make a mess of it using something that’s inappropriate. It can increase costs but you have the tool for next time, the job will be much smoother and it’s still probably cheaper or the same cost than taking it to a garage or fixing the issue if it’s bodged with using improvised tools.


If you have not worked on bikes or are just getting started, I hope the above points help. It’s by no means exhaustive but I personally found that bearing these points in mind helped immensely. If you have any tips, disagree or think anything else needs adding, drop it in the comments. Thanks for reading and best wishes for your motorcycle maintenance!

How to fix: Kawasaki E6f/ER6N idle adjust cable seized and not turning.

This howto is also on kawiforums

Bike: 06 ER6F.

Difficulty: Easy

Tools required: wd40, hex key set to remove fairing, screwdriver set (flat head and cross)


Idle was quite low, roughly around 800rpm and it was causing the bike to cut out on occasion at a stand still.

It should be around 1250 – 1350 so I went to adjust the idle and it would not budge, it was not rotating either way.


Remove the lower cowling and then the top fairing. Be careful to detach the indicator wire before removing it fully and take care not to scratch the fairing or cowling.

The image below shows the location of the throttle body and where the actual adjustment takes place.

The arrow on the left in the image below shows the pin; which when extending, adjusts the air intake to let more air in on idle. If you twist your throttle (with ignition off) it will make more sense as you will see the cable rotate the wheel (in the direction of the arrow to the right). Take a picture for reference just like the one below.

To solve the issue, apply some wd 40 to the spring (the one the screwdriver is resting on) and place a flat head screwdriver in between the spring sections and just rotate the screwdriver slightly to flex the spring. 

Apply some wd 40 to the pin area and also squirt some down the rubber hose where the thumb screw is. Keep the cable raised maybe with some string or something and let the wd40 trickle down overnight.

Then use a small wire brush (roughly toothbrush size) on the springs and the pin to remove any rust or grime. Applying wd 40 over several days and giving it a scrub may be the safest option if it’s a really bad case to avoid any damage (it’s what I did).

That should basically be it, with those steps, it should mean the idle cable moves freely. 

it’s not complicated by any means but the thing is so small and delicate I took the slow and steady route to lessen the risk of any damage.

At this point, the cable should be rotating and you will notice the pin moving in and out of the housing. The pin only needs to extend by a roughly a millimeter or so only a minor change will cause the bike to increase it’s idle by a few hundred rpm. It’s best to take it steady with the adjustments. That’s why it’s good to use the reference picture you took earlier in case you need to reset the pin position.

If you have this issue, I hope this helps! Thanks for reading.

Donation machine result – success!

A more detailed version of this blog post has been featured on Monevator.com

This is a follow up to this blog post

It’s just over a year since the ‘donation machine’ was set up and it looks to have been a success as the index funds have increased in value by around 12% and has generated just over £30 in dividends.

So that’s been moved over from the brokerage to the bank account and then transferred to crisis. So if we use that £30 in their ‘societal return on investment‘ calculation (£30 * 3.3) this equates to an investment of £99.

Hooray! Humble beginnings but not a bad start at all. With the growth and adding some more funds to the pot, it should mean a larger round of dividends next time.

Comparing CRC32 to MD5 for use in Hash Tables

This is a follow on from the previous blog post about using a cyclic redundancy check (CRC32 in this case) to hash domain names to determine which database they should be stored on. More on that here.

Although CRC seems to work fine in the sense that it generated a completely unique hash codes it was not designed for that purpose. Instead, the focus of CRC is on error detection in data on storage devices and when transmitted over networks. I won’t go into it any further here as it’s explained very well elsewhere. On the other hand md5 was specifically designed as a hash function.

The question I had was whether MD5 was better at evenly distributing hashed values across a set of nodes. In a nutshell MD5 was better but not by a great deal and this was measured using a standard deviation and also by simply eyeballing the data (smaller min/max range in md5). If you look at the two graphs below, they each show 1 million domain names were distributed across a set of 64 databases and what you can see is that the groupings on the md5 graph are slightly more clustered around 15600 – 15700 but it’s nothing major and the crc32 does a reasonably good job.

MD5 Code

Both java and python implementations were made which are shown below and the larger repository can be found below.



Main repository with crc32 and md5 tests and results


I’ll be scrapping the CRC32 and using the md5 instead simply because that’s what MD5 was designed for and the distribution is slightly better. If you need any clarification or have any improvements to the code, please comment below.

Building a donation machine

A more detailed version of this blog post has been featured on Monevator.com

Please note that this is by no means a recommendation that you take this approach. It’s a method I have chosen to donate money.

While reading a part of American Psycho by Brett Ellis I took a break due to how grim it is. During that break, I started looking into homeless statistics and came across the Crisis website which is a charity that directly helps homeless people find a home and also campaigns for changes needed to solve homelessness altogether.

After browsing through the site and learning more, I spotted the Crisis investor page which discusses Social Return on Investment (SROI). This is a completely new to me but my understanding of it is that by donating money you are making an investment in society that yields dividends and/or savings. They have conducted research and are able to provide estimates on the savings a donation makes. It boils down to – for each £1 you invest, there is around £3.30 SROI.

This return on investment comes from the result of helping people find homes and providing them with support they need which makes it more likely that they will start paying taxes.

Conceiving the machine

This got me thinking of stocks and shares investments in relation to charities and after some thinking the idea of a set of shares that are dedicated to perpetually creating money for charity came to mind and is something I found very appealing.

How do shares generate money?

When you buy shares you are buying a piece of a business. Some companies distribute money to shareholders in the form of something called ‘dividends’. Dividends are usually paid out periodically (usually a few times a year). Although not all companies give dividends, many do and the dividend payout can fluctuate (just like the stock price) .

Building the core of the machine

Getting this off the ground with the basics involved:

  1. Opening a low cost brokerage account (just for charity donations)
  2. Deposit cash in the account
  3. Purchase some shares (UK Vanguard ETF’s)
  4. Set dividends to pay out to bank immediately
  5. Bank transfer them over to the charity once they arrive

I’m currently on step 4 so I’m just waiting for some dividends to be paid at the moment.

Why make this ‘machine’

It perpetually generates money

So the key benefit is that in theory it should perpetually generate money. Share prices go up and down but British companies are pretty good at paying out dividends and by buying an ETF (an ETF is like buying a share of a group of companies. So if you bought a FTSE 100 ETF, you would be buying a slice of every company in the FTSE 100. For more on ETF’s please read this) you are not relying on a single company continually dishes out dividends.

You can build on it

This simply means adding more cash to it. So by periodically buying more shares, the dividend payout should on average increase meaning there is more cash to donate.

You have a lump sum

There is a lump sum in the account that you can call upon if things go really really bad and you need cash. However, lets stay positive and go with the plan of never needing to touch it and letting it continue generating the cash for donation.

It should grow by itself

In addition to this share prices have historically increased over time so we should find that this machine generates more cash as time goes on.

Automating the machine

What I have so far is a good starting point, it gets the ball rolling and it is now only a matter of time before some dividends are paid, ready to be donated.

However, the end goal is to completely automate this whole process so that in a sense it is a truly automated machine that regularly makes and dispenses money to charitable causes with little if any involvement from me. So it behaves just like a direct debit but instead of a set amount each month, dividends are checked are paid out as soon as they arrive.

More on this next time.

Evenly distributing data on a group of MySQL databases

I recently read an article about the way pinterest save data. After some rapid growth, they experimented with a variety of setups (which did not work too well), they devised a simple (relatively speaking) system to save data across an array of MySQL databases. The idea behind this being that you could initially put all the databases on a single server and as demand grows, move these databases out to their own servers.

Part of this approach involved saving data for a specific URL. This involved doing a hash and running a modulus operation on a URL that returns a number between a certain value (e.g. 1 – 4096) to determine where the data would be stored for that URL. So for example, a hash would be ran on the string ‘example.com’ and that would return 3 which would place it on db0003, ‘example.com/1’ would return 2034 which would place it on ‘db2034’ and so forth. The idea around this being that data would be evenly distributed between the databases.

I’ve been thinking about a project involving saving large amounts of data in a distributed fashion and was quite taken by this because of it’s simple approach to sharding. However, how evenly data were distributed was something I wondered about. After some initial poking around, it seemed that crc32 was a good candidate due to it not being particularly resource intensive compared to md5 and sha*.

However, two questions sprang to mind:

* How evenly was distributed between the shards.
* Are there no discrepancies between the hash function

I was pretty sure the answers to the questions would be ‘quite well’, and ‘there are no discrepancies’ respectively but did some tests anyway. After all, the last thing we want is for one implementation to give a different result from another.

The test strings were ran on the majestic millions top domains and what the code does is create an array of all the shard id’s with each one initialized at 0. Then go through that majestic millions text file line by line and does a hash (and modulus) to get the shard id. Once the shard id is retrieved, iterate the array with the shard id’s by 1. The graph below shows the result of those hashes and shows how many domains each bucket has.

The x axis shows the shard id and the y axis shows the number of records in each shard. Click to embiggen

What we can see from eyeballing the graph it is that data are roughly evenly distributed between the shards. A few outliers here and there but most shards have between 100 and 140 items. Another script which compares the shard result of each implementation demonstrated there were no discrepancies either.

All code can be found here. Any questions, feel free to comment and I’ll get back asap.

Building a Clay Pigeon Remote (part 3): Precision cutting with milling machines

For the past few weeks I’ve considered purchasing a milling machine. These seem to be the best tool for modifying off the shelf enclosures in a non mass produced way. The primary reason for this is that they offer precision and allow for boring into metals and plastics in a variety of different ways.

They are relatively expensive tools for a hobby workshop, a typical pillar drill may cost around £100 (mine cost £120 and when matched up with a steppper drill bit it’s perfect for drilling button holes) but at a minimum a capable desktop milling machine is £800 which seemed quite surprising as my understanding of them is that they are essentially pillar drills with special drill bits and an adjustable base.

However, I’ve come to understand they are far heavier and sturdier machines. This is because a milling machine is required to apply pressure perpendicular to the drill rather than vertically is much more strenuous while at the same time maintain precision.I’m sure there is more to it than that and please feel free to comment and let me know.

I’ve bit the bullet and gone for the Draper variable speed mini mill as it should fit the purpose of cutting accurate shapes into enclosures for rectangular instruments such as lcd’s ad switches. and I look forward to putting it to the test. It should be here by mid April and at that point I’ll give the machine a try write up a review on here. I’m looking forward to it as it’s going to be quite an upgrade from a handheld Dremel!



Shutter Speed Tester

So first of all what is a shutter speed tester? It’s simply a tool that times how long a camera shutter (in the lens) is open for. This is not typically needed for newer cameras as they tend to be accurate. However, older film camera tend to loose their precision due to wear and tear, and exposure settings can be inaccurate. Using a shutter speed tester allows the photographer to gain a true measure of the shutter speed rather than using a trial and error process which can waste film.

The shutter speed tester has been quite a quick project primarily because it is relatively simple and and it was a case of making alterations to a project developed by c-s-1. These modifications essentially consisted of trimming it down and modifying it to work on a 2 x 16 screen and removing one of the buttons (an lcd light toggle).

The project is cased in a hammond stomp box enclosure (1590XX) and runs off a dc power supply. If you would like any further information about it to build your own, please get in touch and I’ll fill out the blog with further details.

Here are some potential questions and their corresponding answers

Q: Why is the tester is not picking anything up?

A: There are a few things that need to be checked.

  • Check the receiver and emitters are as close as they can be to the lens. If they are further than a few centimetres from each other the receiver may not pick anything up.
  • Check the wires are actually connected to the right sockets.

Q: The device is giving some random results and I have not used it yet.

A: After you have set it up, before actually using the device, click ‘reset’ it first. During setup the receiver and transmitter can get into contact and give off odd readings.


Links index


Building a Clay Pigeon Remote (part 2): Comparing 3D printed and premade enclosures

This blog post is essentially a recount of my experiences trying out 3d printing to make enclosures and may be useful to read if you’ve never made an enclosure before and are thinking about whether to take the 3d printed (printing a box) or ready made route (machining an existing metal box).

When I first started out working with enclosures I typically purchased a handheld enclosure and drilled or cut out each section for the buttons, cable gland, lcd or whaever else warrented the enclosure being cut into.

Due to having few tools and almost always having to make do, the end result always looked terrible with major flaws that really stuck out. Shortly after my first few initial attempts, 3d printers started coming into the mainstream and becoming affordable. I thought this was fantastic, I’d just have to do some CAD designs and the printer would magically produce the thing (I ended up going for the wanhao I3).

It ended up not being quite like that. The CAD software took a couple of weeks to get my head around (Freecad) which is fair. However, while I made some suitable enclosures, they took hours, sometimes days for the printer to produce and if there were any mistakes the whole thing needed to be redone.

This is the latest example – this is a rotatable model so you can use your mouse to zoom in and out.

The same problem found with enclosures arose again – the quality was not great and after messing up screw inlays multiple times I finally decided it was not suitable. The whole thing seemed too fragile and the amount the filament and electricity cost would come to the same price as a solid aluminum enclosure by Hammond which would be rock solid. That’s not even taking into account the time it takes to built the thing.

So, what next … do a 180 and go back to enclosures.

I knew the issue was precision so after browsing youtube it looked like the way to go was to either have it machined at a manufacturer (expensive and only worth it if you do 100+ enclosures) or draw a stencil, print it out and overlay it on the enclosure. I chose the latter

The next step is cutting out the sections now that the stencil is on. 90% of the sections to be cut were circles. I went all out and bought a pillar drill along with a step drill bit. The pillar drill combined with the stencil and a vice would give the most precision. The only thing better would be a cnc machine (low end models which drill into metal are a few thousand pounds from what I can gather) or sending it off to a fabrication company.

The only time I’d reccomend using a 3d printer is for for smaller components such as mounts. That is if you have a low to mid range printer.

Here’s the latest result which is a clay pigeon remote. As you can see, the sections drilled out are mostly circles (where the pillar drill and step drill bit come into play). Wheras a dremel with a ‘speedclic metal saw’ was used to drill out the square for the lcd.


Building a clay pigeon remote using open hardware (Intro)

A few years ago, myself and a friend purchased a trap from a shooting school that was closing down (North Yorkshire Shooting School).  It came with a basic button switch that released the traps which in essence did the trick in that it released the clays. Nice and simple.

However, we thought about a remote one which allowed for delays, preprogrammed sets and randomly thrown sets. After some searching online we quickly found out these were quite expensive which prompted me to look into alternatives.

As I’d had a play with Arduino microcontrollers before it seemed like the perfect project to learn more about the device and hopefully create a complete product that does the basics but has bells and whistles too.

It’s quite close to being complete now so I thought I’d do a few blogs about some of the key steps involved in its development to demonstrate the progression and hopefully knock out some useful information for anyone interested in developing their own devices. So stay tuned!