Monday, 9 May 2016

Chronograph completed - Finally

As anyone who's read this blog before will know, there's a common theme throughout, the DIY Chronograph I made for measuring the speed of an airgun pellet.

Well since getting a 3D printer I've finally managed to finish off the project and put it in a case, it's not often I actually put things in a nice case.

The first case with the Nokia display, it was a bit clunky and easy to break, when I dropped it that is!

Second attempt, this is the one I've been using.  This one uses the Bluetooth module to talk to an app on the phone here
Collection of bits held together with heatshrink
The final one, this one contains all the gubbins from the shot above inside the cover.
The end that screws on with the USB connector below and the front
view with the on/off switch and battery charge connector
Side View

This one uses the Bluetooth adapter and connects to an app on the phone and has an internal lithium Ion battery than can be recharged using an external supply and charging module, you can leave out the battery and use the USB connector of the Nano to power the chronograph from your laptop or a battery pack with a USB power output. (if you do this then the switch doesn't do anything)

The enclosure is essentially two parts, a carrier, that holds all the electronics and a slide on cover.
Both parts are a push fit onto the aluminium tube (16mm Dia. x approx 100m long)

Parts list: -



Approx. cost

3D printed enclosure - Thingiverse
£10 - £20
Arduino Nano (could be mini pro etc.) Ebay £2
Slide switch Ebay£2
Battery (Turnigy Nano-Tech 600mah 1S 3.7v 35-70C Lipo E-Flite) Ebay £5
Aluminium Tube - 16mm OD Ebay £5
Bluetooth Module Ebay £4
3V to 5V converter (NCP1402-3.3V STEP-UP BREAKOUT) Proto Pic £4
JST wired plug connector Ebay £3 for 10 off
IR Emitter x 2

RS Components

RS= £2.25, 5 off
IR Detector x 2 Ebay
RS components
RS=£5, 5 off
Arduino SketchHere Free
Android App apk file (from Aptoide store) Here Free

So around £44 to put together, £24 'ish if you can 3D print your own enclosure.
You could also do away with the battery and 3 to 5V converter if you powered it from you laptop USB or battery with a USB socket on it.

More images

Battery and PCB modules in place with the tube

Barrel end showing the USB connector

Front end showing on/off switch fitted
Inside the cover

The Bluetooth module wired to the Nano

Nano and BT module in the carrier

Everything wired up... nearly. 3 to 5V converter top left under the battery
Tried and tested and working OK, the app works fine and I'm looking to add a graphing function so you can see the performance over a string of shots.

Fritzing schematic

As usual feel free to ask questions and comment below.


Csokáv said...

Hey, now I can comment. Cool. I'm copying my comment from thingiverse, it's not about the 3d printed part.

The reading of the sensor is an analogue-digital conversion and that takes a lot of time and the time the pellet passes one sensor is very short. The polling of the sensor must be happening when the pellet is in front of it to be registered.
I don't know how an interrupt works on these sensors, but I assume that also includes an AD conversion, or not? Or the interrupt happens on an analogue signal change? I have no idea really.

Gadjet said...

Glad to get your comment.
I didn't use standard IR detectors because of the overhead, I used detectors with a digital output and a response time measured in nS, the detectors feed into D2 and 3 which are both interrupt enabled. when the beam is broken the detector pull down the input to ground.

The original sketch just sat in a loop checking the first detector and then started counting uSeconds until the second detector is triggered. In the latest version I've used the interrupt function so that I can do some other stuff in the main loop.

Csokáv said...

Great, I didn't know detectors like that exist. Thanks.

Gadjet said...

No problem, Follow the link in the post :-)

Stuart Smith said...

Would you be willing to make one for sale as I have no aptitude to understand a lot of this blog,but your ability amazes me. Would love one with its own battery.

Gadjet said...

I don't really have the time to go into production with these, it's aimed more at a DIY project, having said that I've agreed to build a batch of 5 for some guys on an airgun forum.

Would you be interested in a kit of parts to assemble? just a bit of soldering?

The other problem with selling them is they are not production quality I consider them to be prototypes and as such I could not offer the guarantees that most people would expect when buying things.


Unknown said...

Where can I find arduino code and schematics for this project? Thanx

Gadjet said...

There is a link in the post to the sketch and the schematic is in another post somewhere, search for chronograph.

Gadjet said...

I've updated the post with a representative Circuit of the Chrono, the only thin missing is the charging lead and power switch but this should be obvious, if not let me know

Rich McManners said...

I'm going to be having a go with a NodeMCU... bluetooth and wifi on board for less than a fiver, I'll let you know how I get one. :)

Anonymous said...

Chrono_with_interrupts.ino also missing from dropbox

Unknown said...

Hey, the Arduino Sketch dropbox link is still dead.

Gadjet said...

Sorry, I will fix it but I have a problem accessing my blog, I changed the template a while ago and now I don't get the "sign in" option

Gadjet said...

Links now fixed .... I hope

Unknown said...

Well, the link isn't dead now, but it's the very barebones Serial communication version. I was curious about the interrupt version, and the bluetooth code so I could use it with your Android App.

Gadjet said...

Ah OK! I can add a link to the interrupt based version but when I did the accuracy testing with an oscilloscope

I actually found that the interrupt driven version was less accurate ..... Go Figure!

I don't know why, do you still want it it's here

As for Bluetooth, there's no Bluetooth code, the BT interface just takes in the serial data and sends it via BT to the phone, the sketch you have will already work with the BT module and Android app.

henkie tenkie said...


I am now making something like this, but wondering... What would be the maximum nozzle speed, using a 6 cm space between the two sensors? I mean, will it work with an airgun (not airsoft)?

henkie tenkie said...

Hi again! Another question; in your wire diagram you use resistors. What is the value of the two resistors?

Gadjet said...

I've never tried them at any distance apart greater than 15mm, the problem is being able to ensure that the pellet obscures enough IR light from the emitter to trigger a detection.

It may work OK if your detector is down at the bottom of a hole so it's directional in the IR it receives and ignores the scattered IR from around the pellet.

The usual method to detect pellets over a distance is to use several IR diodes in series/parallel (Analogue) to detect the shadow of a pellet passing over them like the Chrony F1 etc.

Sorry, I should have added the value, the resistors have the colour code brown, grey, brown = 180 ohms :-)

bayu kurniawan said...

hi, gadjet. would you mail me full schematic chronograph with nokia display with pellet weight input and the sketch for me, thank you for your attention sir.

O Piratinha said...

Hello, the project is very good, I would like to know how it would look with a Nolia 5110 telephone screen in this project here
Is the scheme the same? just adding the screen? thank you

Gadjet said...

There is a post on the blog regarding the Nokia 5110 display.

You can also see how to connect it in this video on youtube

There is a link to the sketch in the post let me know if it doesn't work.

bayu kurniawan said...

in sketchup there is 2 files with .skp and .eps extension, how do i open both files, using what kind of application sir?

bayu kurniawan said...

schematic please sir :)

Gadjet said...

The schematic of the basic chrono for all display types can be found in this post
The only thing is that you need to add series resistors with the LED IR emitters of about 180 Ohms.
The connection for the display can be found int the reply I made above this morning, the youtube link. I used a Nokia 5110 UNO shield for mine but the youtube video uses a simple screen mounted on a PCB, if I remember right it uses the SPI bus to communicate so the connections should be obvious.

Gadjet said...

The two files are the 2D drawings for the laser cut acrylic to make the enclosure, the .skp is a google sketchup file, now trimble sketchup and the eps file is the postscript file that you send to the manufactures, google for an online EPS viewer.

Lord Kaos said...

Great work! The links to dropbox appears to be broken.

Can you share the code again? Thanks!

Gab said...

Good website and good idea.

For your chronograph :

Could you replace the Photo sensor - OPL-550a withIR LED Infrared Receiver) ?

If yes, could you post the schematic in order to plug them on the ardino nano ?

Could you give me the valu of the two resistor ?

Also, with bluetooh module and a phone, do we need to program the arduino to use the chronograph ?

Thank you

Gadjet said...

technically you could use the IR receivers but they do not have a digital output that can be fed directly into the Arduino, you would have to use external circuitry to convert the analogue levels of the IR sensor to logic levels to work with the arduino also you would need a receiver that has a fast enough response time to be triggered by the shadow of the pellet, I don't have a circuit for this, I would have to work it out, Google may help.

The resistors are 180 Ohms.

The sketch for the Arduino sends a serial value to the BT module which then sends it to the phone where the Android app converts it to power using the other info entered into the app.

I hope that helps.

Gadjet said...

I just had another look at that Ebay add and I suspect they are IR emitters not receivers, it's a bit confusing.

Lord Kaos said...

Thanks Gadjet, the link to dropbox is working now.

About the IR receiver, I'm using a pair of emitters and sensors taken from an old mouse. I use a pair of resistors for each receiver to get it polarized and obtain a signal that can be read as digital.

If you desire I can post the image of muy circuit.

I'm waiting for the weekend to test my circuit with your Arduino sketch :D


Gadjet said...

Lord Kaos,
By all means, the more information the better :-)

Lord Kaos said...

:D I'm sorry if the Fritzing diagram isn't's my first.
The paper version works fine too, jaja

I used a simple sketch to check that the interrupts change when the IR beam is broken and works. I'm worried if the reaction speed of the mouse sensors works at high speeds...I'll be testing in a few days. With this IR sensors, an spring airsoft gun was accurate, a green gas one, also was accurate, but I'm having troubles with speeds greater than 320 fps aprox. I hope that with Gadjet's sketch it will work for all speeds, if not, I need to get the same sensors he used. here are the images.

Gadjet said...

Lord Kaos,
It's probably because the response time of you receivers isn't fast enough to react to the pellet shadow.

Gab said...

Hello, thank you for your answer.
I discover arduino and your work is fantastic becuse you can do a chronograph for less than 20 €.

Could you confirm me the reference Optek OP240A, 890nm IR LED and Optek OPL550 IR Phototransistor ? (i don't find them on ebay);


Gadjet said...

You need to get them from RS components, are you in the UK? I did see them on Ebay once but they were three times the price than RS, unfortunately though I think you have to buy a pack of five :-(

gab said...

I am not in the uk. Price is higher in France..

Blobber said...

very interesting project, thankyou for share all informations.
I would like to make my own chronograph with 16x2 display (HD44780)
Unfortunately I'm an absolutly newbie in arduino and code writing.
Could you please share your code for a 16x2 display? I found your code
for a 8x2 display, will this working too in my case, or what I have to change?
Thanks for any help.

Blobber said...

Btw, I want to download your PC-software too, but the dropbox link seems to be broken.

Gadjet said...

Here is a working link to the PC software
Let me know if it doesn't work.

As for the LCD, check the pinout definition matches your LCD and I think you can just use the same library and use the extra characters, it's been along time since I used the code, look at the site in the learning section for the Liquid Crystal display examples, there's even one in the examples in the Arduino IDE I think.

Blobber said...

Thankyou for your answer and your advices.
Yes the link is working. Today I've ordered all parts and soon I will start this nice project.

bayu kurniawan said...

hi gadjet, may i use TL1838 instead OPL55 for the sensor ?

Gadjet said...

I don't think so that receiver is specifically for IR transmitters for TVs modulated at 38KHz

cartman cop said...

opl55 is hard to find, may i use regular phototransistor to replace the sensor.

bayu kurniawan said...

hi gadjet, may i use BPW34 photodiode to replace OPL55C

Gadjet said...

In theory you can use any IR photo diode you like but there are a couple of things that would need to be achieved: -
1. It has a fast enough response time to be able to detect the progress of the pellet.
2. You can add the extra circuitry to interface the analogue output to the Arduino.

Other people in the posts above had the same problem, has anyone successfully used an IR photodiode?, if yes please post the details.

Lord Kaos said...

Gadjet, on next week I'll be testing with IR photodiode and posting the results here ;)

Gadjet said...

That would be good, some photos and a circuit would be great :-)

Mayra said...

Fantastic project! I'm watching it since beginning. Can you please change in the app that Pellet weight is in grams not grains? Tnx

Gadjet said...

Thanks, I'll see what I can do

Hot water control using a Raspberry Pi Zero W

Following on from the first blog about the hot water heating control here's what I put together for the mounting. Whilst looking for a...

Popular Posts