Setting up Goldsprints FX – Part 1 of 2

This is part one of the installation tutorial on getting Goldsprints FX installed and running on your OS of choice.

First we need to get Serproxy running. Serproxy is a Serial to Socket Server and is required to get GFX up and running. There are a few serial to proxy servers out there but Serproxy is the one I recommend. Serproxy sits on the other side of the USB port and gives us a way to communicate with the OpenSprints hardware. In the case of GFX we are giving Flash a way to get and send data to the OpenSprints hardware.

There is no installation process for Serproxy, simply download the Serproxy archive, and then unpack it somewhere readily accessible on your computer. The location doesn’t matter as long as you remember where it is. You’ll find an executable as well as a configuration file called “serproxy.cfg”.

Open the “serproxy.cfg” file using a text editor. Take a look at the different parameters. This is what my cfg file looks like on my OS X machine.

Start editing the file to match my settings you see in the screen shot above. Everything should be the same except maybe the “serial_device1” at the bottom. Serproxy needs to know where to find your USB port on the machine that is connected to the OpenSprints hardware.

To find what USB port you have the OpenSprints hardware connected to make sure your OpenSprints hardware is connection to your computer. Then depending on what OS you are running do one of the following:

OS X: Open Terminal and enter “ls /dev/cu.usb*”. You’ll probably only find one entry listed, and this is the label that your machine gives the USB port to which the OpenSprints hardware is connected.

Windows: [coming soon] – I don’t have a Windows machine so I am not sure how to get the label. Look for an update soon.

Ubuntu: You might have to do this as root. Open Terminal and enter “ls /dev/ttyUSB*”. You’ll probably only find one entry listed, and this is the label that your machine gives the USB port to which the OpenSprints hardware is connected. Most likely it will be ‘/dev/ttyUSB0′.

Enter the lable into the “serial_device1” line in your cfg filie. That should do it. Save and close the cfg file. Now launch the serproxy executable. You should see something like this. Again, this is on OS X and about the same as Ubuntu.

Anytime you run GFX you need to have Serproxy running. Otherwise GFX cannot communicate with the OpenSprints hardware.

Check out the second part of this tutorial to get GFX installed.

27 thoughts on “Setting up Goldsprints FX – Part 1 of 2”

  1. I’ve setup Serproxy successfully on Windows XP. The cfg is identical except for the last line (as mentioned)

    For windows simply use:

    serial_device1=COM2

    where COM2 is the com port you have configured in the windows device manager. (right click “my computer” and select Manage, then Device Manager)

    The USB Serial Port device will be listed under “Ports (COM & LPT)”

    By default my port was 31, but after googling Arduino and port numbers I found there is an issue with port numbers greater than 9. I simply configured the port number to use an unused port between 1 and 9 and it worked.

    To change the port number:
    - Double click the USB Serial Port in Device Manager
    - Click on Port Settings tab
    - Click Advanced and choose a port between 1 and 9 that is not being used.

    1. Thanks for posting this Fleagun. I don’t have any Windows machines any more so this really helps the other Win users!

      Let me know how things go! I would love some photos from your neck of the world of GFX in action!

    2. I’m hvaing a problem getting my hardware to be recognized.

      Below is my config file. Can someone give it a 2nd pair of eyes and see if I’ve got the config correct.

      Thanks

      # Config file for serproxy

      # See serproxy’s README file for documentation

      # Transform newlines coming from the serial port into nils

      # true (e.g. if using Flash) or false

      newlines_to_nils=true

      # Comm ports used

      comm_ports=1,2,3,4

      # Default settings

      comm_baud=19200

      comm_databits=8

      comm_stopbits=1

      comm_parity=none

      # Idle time out in seconds

      timeout=300

      # Port 1 settings (ttyS0)

      net_port1=5331

      # Port 2 settings (ttyS1)

      net_port2=5332

      # Port 3 settings (ttyS2)

      net_port3=5333

      # Port 4 settings (ttyS3)

      net_port4=5334

      # OpenSprints Hall sensors
      serial_device1=COM2

      I changed the port set-up on my XP machine to recognize the hardware.

  2. “”OS X: Open Terminal and enter “ls /dev/cu.usb*”. You’ll probably only find one entry listed, and this is the label that your machine gives the USB port to which the OpenSprints hardware is connected. “” semmed no fonctionne.

    Is this syntaxe is available for a mac osx 10.5 ?

    Thanks You

    1. I have the same problem. Doesnt work to find which usb im using… and I keep getting

      Serproxy – (C)1999 Stefano Busti, (C)2005 David A. Mellis – Waiting for clients
      then when I open GFX

      Failed to open comm port – connection refused

      What is going on?

      1. I don’t know if you sort this out, but you need to identify the right port in your serproxy.cfg. You are getting this message because GFX connects to the proxy but the Arduino platform (HW) doesn’t.

        If you’re using Windows I can guide you through it, if you’re using Linux the site’s instructions say how to do it already. In OSX, I have no clue.

  3. I’m trying to run serproxy version 0.1.3-3 under Mac OS X 10.6.5.
    I get the following error:

    You need the Rosetta software to run serproxy. The Rosetta installer is in Optional Installs on your Mac OS X installation disc.

    Has anyone else dealt with this problem?

    Thanks
    -Luke

    1. Just found this Luke.

      “serproxy. Available on the main Arduino software page, probably sourced from here. Original here is older, but the zip has a detailed readme and a more readable config file. Serproxy handles multiple serial ports, configured with a text file.

      * a fast *.exe executable. Not quantified, but feels faster.
      * multi-threaded and can redirect multiple com ports to multiple sockets simultaneously.
      * Can close and re-open client (e.g. flash), and it still connects.
      * No ‘debug’ option to view traffic?
      * Mac, Win and probably (old version at least) Linux.
      * Source code available.
      * How to modify 0.1.3 to use com10 or above here.
      * Does not work on Mac 10.6 without installing Rosetta.

      Here is the link http://www.arduino.cc/playground/Interfacing/SerialNet

      I have not seen this before. I don’t remember installing Rosetta every but I have had mine going on the Mac for a while. Prior to 10.6 anyway.

  4. Also, found this…

    UPDATE : Serialproxy doesn’t work anymore under Snow Leopard ( osx 10.6 ) without installing Rosetta. However you can also use Tinkerproxy2. That works in the same way as Serialproxy. Just rename your serproxy.cfg to tinkerproxy2.cfg or you can rename the program tinkerproxy2 to serproxy. tinkerproxy-2_0.zip

    Link is http://www.kasperkamperman.com/blog/arduino/arduino-flash-communication/

    I will try tinkerproxy this weekend and see if all works the same.

  5. When i have the serproxy.exe up and open Goldsprints it says “failed to open comm port – connection refused.”

    What does that mean and how do i fix it?

        1. # Config file for serproxy
          # See serproxy’s README file for documentation

          # Transform newlines coming from the serial port into nils
          # true (e.g. if using Flash) or false
          newlines_to_nils=true

          # Comm ports used
          comm_ports=1,2,3,4

          # Default settings
          comm_baud=19200
          comm_databits=8
          comm_stopbits=1
          comm_parity=none

          # Idle time out in seconds
          timeout=300

          # Port 1 settings (ttyS0)
          net_port1=5331

          # Port 2 settings (ttyS1)
          net_port2=5332

          # Port 3 settings (ttyS2)
          net_port3=5333

          # Port 4 settings (ttyS3)
          net_port4=5334

          #OpenSprints Hall sensors serial_device1=COM2

  6. Thanks for the last comments those really helped me get Goldsprintsfx working.

    Now i have a new problem, I just configured the Arduino so the sensors work and light up when swiping a magnet by it but once I click start race it goes 3, 2, 1, go but the go stayes up on the screen and dosent go away.

    Windows

    If anyone has any suggestions please share them! I really want to get this up and working correctly!

  7. Thanks for the last comments those really helped me get Goldsprintsfx working.

    Now i have a new problem, I just configured the Arduino so the sensors work and light up when swiping a magnet by it but once I click start race it goes 3, 2, 1, go but the go stayes up on the screen and dosent go away.

    If anyone has any suggestions please share them! I really want to get this up and working correctly!

    1. Yeap! I got the same issue last night and was wondering why. It seemed as if the the Arduino board didn’t know what to do with the signals coming from both the sensors and the laptop. So, this is what I did and it worked:
      I downloaded and installed the Arduino IDE (http://arduino.cc/en/main/software). Then I downloaded the firmware from the opensprints site (http://www.opensprints.com/download/basic_msg.zip). Basically, this contains a program (basic_msg.pde is the file you are interested in) that is loaded to the Arduino board through the Arduino IDE. This code programs the board to initialize the “racing process” when the right message is inputed and to know what to do when the sensors send back messages (with the magnet).

      So, open Arduino IDE, connect it to your board (tell it that it is the “arduino duemilanove” board and give it your serial port number) open and load the basic_msg.pde to the board. Here are some instructions: http://www.opensprints.com/howto_update_firmware.php. You’ll notice the sensor being stuck with only a red led on. That’s a good indication.

      Now, you’re ready to turn on serproxy and then GFX. From that point on, it worked for me.

  8. Is anyone having success running Goldsprints FX on Mac OSX Mavericks 10.9? I’ve installed serproxy and tinkerproxy and my Open Sprint box seems to communicate withi it but I can’t get past the “GO!” screen.

    Any ideas where I should look next?!

    ////////
    james:tinkerproxy-2_0 james$ ./serproxy.osx
    Serproxy 0.2.0 – Tinker.it
    Based on code by (C)1999 Stefano Busti, (C)2005 David A. Mellis

    Waiting for clients
    Server thread launched
    server(1) – thread started