Chrony protocol

Hi all

Ok so I own a shooting chrony, for anyone wondering it measures the speed of a projectile/arrow and gives you a reading in FPS or MPS. Now tho this this works well its a bit out dated in its display and functions. There are a few diy pc based solutions but don't want to have the pc set up to save results down at the archery club.

What I would like to do is build a second screen box for it using an Arduino uno or Nano, LCD (Nokia 5110 or 2x16) screen and SD card brake out board to save the results and a few push buttons.

Ive seen the Arduino programmed with a USB2.0 to RS232 TTL cable so it stands to reason an Arduino can act as a USB2.0 to RS232 TTL ???

My other question is this: for example to enter "pc mode" on the chrony the command is SYSX, is it simply a matter of entering the the letters SYSX and having it sent via TLL to the chrony ???

The protocol for the chrony is found hear:
http://noplabs.com/chrony/protocol.html#sysx

the diy Link cable instructions is hear:

Is there a question hidden in there somewhere?

Ive seen the Arduino programmed with a USB2.0 to RS232 TTL cable so it stands to reason an Arduino can act as a USB2.0 to RS232 TTL ???

There is no need for the USB to serial module. That is so that the TTL serial Chrony can talk to a PC USB port. The Crony side is TTL serial and the Arduino side is TTL serial. Connect Chrony RX to Arduino TX and Chrony TX to Arduino RX. Since the baud is only 4800, you can use one of the software serial libraries to interface with the Chrony and save your hardware serial for upload and debug.

And it sure looks like all you have to do to get the Arduino to have control is send the SYSX\r\n command when the display is on the start screen or -- screen.

groundFungus:
There is no need for the USB to serial module. That is so that the TTL serial Chrony can talk to a PC USB port. The Crony side is TTL serial and the Arduino side is TTL serial. Connect Chrony RX to Arduino TX and Chrony TX to Arduino RX. Since the baud is only 4800, you can use one of the software serial libraries to interface with the Chrony and save your hardware serial for upload and debug.

And it sure looks like all you have to do to get the Arduino to have control is send the SYSX\r\n command when the display is on the start screen or -- screen.

Thanks for clearing that up, Ive spent the last few day reading as much as I can and I think I have the hardware side of things sorted out, i don't have a simulator so this is what I'm thinking.
Pins TX, RX and Gnd from the Arduino go to the 3.5mm stereo headphone jack that goes to the Chrony.
Pins Gnd, Vcc, SDA and SCL of the 2x16 LCD screen match up to the same pins on the Arduino.
Any buttons I want to add its a matter of connecting the digital pins to the say pin 3 to Gnd.
As for an SD card slot its just a matter of wiring it up as like the many examples I've seen online.

of course this needs a script to get it all running

The serial port settings are 4800bps, 8 data bits, no parity and 1 stop bit.
Each line of a response includes a carriage return (0x0D) and line feed (0x0A), the initiating command does not.

Looks easy enough.

Doing more research it seems what I'm trying to do is build a serial data logger with an lcd display. Im now just waiting for parts to arrive from eBay before I can do much more. Now time to start looking at code and trying to write a script....

Hear is a rough schematic I drew up, there seems to be enough pins available, the only thing I’m missing so far are a few push buttons for some basic commands that I want to program into the sketch. dose it look right? Fritzing didn’t have an sd card board with the pins labeled so I used the pin layout from the one I ordered off eBay.
Still waiting on parts to mock up a prototype so I think I will start with the script tomorrow.

Screen Shot 2017-06-26 at 9.35.32 pm.png

The connections look OK but I would recommend SoftwareSerial to connect to the chrony on, say, Pin 8 and Pin 9. That would allow you to still use the USB port (Pin 0 and Pin 1) to send debug messages to a PC. That way you can debug the chrony communications part without having to put in all the LCD stuff first.

The second connection to the buttons was cut off. If they go to GND you are all set and can use INPUT_PULLUP. If they go to +5V you will need to add pull-down resistors on the input pins.

KayJay:
of course this needs a script to get it all running

You mean a sketch, a program, or code. Scripts are operating system level programs.

johnwasser:
The connections look OK but I would recommend SoftwareSerial to connect to the chrony on, say, Pin 8 and Pin 9. That would allow you to still use the USB port (Pin 0 and Pin 1) to send debug messages to a PC. That way you can debug the chrony communications part without having to put in all the LCD stuff first.

The second connection to the buttons was cut off. If they go to GND you are all set and can use INPUT_PULLUP. If they go to +5V you will need to add pull-down resistors on the input pins.

Cool, thanks heaps for your help. I sketched out another schematic using your suggestions, It makes sense to keep the USB free for debug and pc connection once its complete, Im hoping to see the card shield in the mail before the weekend and am going to the local electronics store for a few generic bits and pieces.
For me it seems the hardware side is going to be the easiest part of the project, its the code that seems daunting but I’m hoping to lend from other projects I’ve seen and modify the sketches used in other projects to suit my needs.

What is the 3.5mm jack for? You said it connects to the chrony, but what is it for?

Pins TX, RX and Gnd from the Arduino go to the 3.5mm stereo headphone jack that goes to the Chrony.

From reply #3.

Yes, I know it goes to the chrony, but what is it for? Is the Arduino receiving or sending analog signals? Is the signal(s) sound? If so, extra electronics will be needed since you will be using both positive and negative voltages.

Power_Broker:
Yes, I know it goes to the chrony, but what is it for? Is the Arduino receiving or sending analog signals? Is the signal(s) sound? If so, extra electronics will be needed since you will be using both positive and negative voltages.

If you has read the previous replies or the referenced documents you would have seen that it was TTL Serial, 4800bps, 8 data bits, no parity and 1 stop bit. RX, TX, and Ground.

Dose my crude attempt at Fritzing look ok? I chose a 3.5mm jack in Fritzing as I couldn't find a male end but female end like the one I used will be the way I'm going now anyways, just a simple stereo lead to connect it quickly. And yes its serial data not audio or anything, I hope to be able to send and receive data with the 3.5mm jack.

So far so good, got an Arduino nano in the mail today, it was an impulse buy to play with, not sure it will even work for this project but just waiting on the sd card shield before hooking the whole thing up with a breadboard.

Im starting to think that the next project will be a chronograph with all the features I want built into it. It looks simple enough, the sensors seem to be nothing more than a photodiode with an op amp and a lens to focus a strip of light onto the photodiode. Im thinking the same effect could be achieved if I remove the IR lens from a 8mm ccd camera lens and focus that onto the photodiode with some kind of lens filter with a slit in it. I bought some photodiode shields (5x$3.80 can't go wrong lol) with what seems to be an amp built in with a trim pot for sensitivity setting so they might work. Ive seen simple ones built for paintballs and air rifles so the sketch is simple. One project at a time for now

So I got some time today and sat down with my chronograph, a nerf gun, a serial connection program and a cheap UART PL2303HX USB cable from eBay. I read this page and it got me thinking this would be a good first step

https://www.gatewaytoairguns.org/GTA/index.php?topic=66594.0

I am able to open the serial program, connect to the chronograph and using a trusty nerf gun I can see displayed on the screed the shots in fps (feet per second) in real time.
Now I just need to work out the script to get it all working.

My greatest challenge is that I have no idea where to start.

KayJay:
My greatest challenge is that I have no idea where to start.

Sounds like you just need to use SoftwareSerial to send the commands you send via the terminal emulator and receive the responses you read on the terminal emulator.

Why start a new thread here that asks the same questions?