Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Error Connecting To Spy-C Tank

User-inserted image

I am trying to connect to Logicom Spy-C tank (which belongs actually to the AC13 rover family) from "Brookstone Rover" panel.

User-inserted image

When I click on "Connect" button the tank makes a brief initialization noise with its camera motor and then I see an error message in EZ-Builder:


Rover Error: System.IO.IOException: Unable to read data from the transport connection: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat. ---> System.Net.Sockets.SocketException: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.Stream.ReadByte()
at EZ_B.BrookstoneRover.Connect()

I am using ARC version 2013.12.02.00.

If you neet some extra information please teach me how to get it from the rover.

I can access tank's web interface using address and am able to log in with AC13/AC13 credentials, but can't do anything else because this interface offers read-only capabilities.

Scanning tank's ports brought me nothing.
User-inserted image

User-inserted image


Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

Looks like your rover is speaking German and ARC is expecting English. You might want to see if you can get a copy of the US market rover firmware and flash it to see if that changes it to 100% English language.

No, it isn't a rover who speaks German, it is a localized .NET Framework version on my laptop. To say more precisely, I have a multilanguage Windows 7 and .NET Framework outputs error messages in current user's UI language. I tried this with English and nothing changed in behaviour.
United Kingdom
How certain are you that the Spy Tank sends the exact same data on connection? It looks as though the control is expecting a message back to say "Hey ARC, I'm now connected" but ARC is not getting that message. If the Spy Tank sends a different message to the Brookstone Rover this may be where the problem lies.
I am completely unsure. I am just trying to get this tank controlled from PC trying various software including ARC, self-made C# code, Wireshark, etc, etc. ARC is by now the only PC software which was able to make this tank to do at least some noise.

I was hoping that projects in ARC are editable and I can change IP address, port and some other data, but it turns out that projects aren't editable. So probably I need to uninstall ARC and try something else.
United Kingdom
No ARC controls aren't editable since the software isn't open source.

You could always add an EZ-B to the rover and connect to it via a H-Bridge for control, after all the ARC software is built specifically for the EZ-B rather than a freeware application to control rovers and drones. You will also find ARC will run a lot smoother with an EZ-B connected since everything in the software is built on the EZ-B rather than the other way around (there's an official explanation about it somewhere).
Even without language being the issue, I still wonder if the device is firmware compatible with the Brookstone rover. Clearly the Rover is listening for or replying with something different, which is more than likely firmware controlled. I would hate to have you bork your device by applying incompatible firmware though, so "at your own risk" if you try it.

Sorry, ARC does not support that device which you posted. I'll pick one up this week and see how much work it is to add... If I have free time in the next few months i'll see what I can do:) .. Supporting 3rd party robots isn't a priority as we have our own platforms which are far more modular with increased functionality.
I know very little about the SDK but could he manually make a control in the sdk?

The SDK gives you access to ARC controls and functionality within C# or VB.Net. It doesn't really provide for the ability to modify that functionality.

If you are going to be writing a C# or VB.Net application, there are probably already controls available for the Spy-C tank or other Brookstone Rover variants, or you can use raw TCP/IP if the communication protocol is documented or can be reverse engineered (the OP said he was using Wireshark, which is a tool for examining TCP/IP packets. If he figures out the packets, the TCP/IP controls in C# or VB.NET can reproduce them).

Where the SDK would help is if you want to add an EZ-B to the tank for controlling additional attached devices (servos, additional cameras, ping sensors, etc...


what is the current state on this matter? I have been trying to do the same, and it seems that the Spy-C is really almost the same as the Brookstone Rover. Any ideas on how to make this work?


Not trying to be a downer here, but yeah it's probably not going to happen.... Maybe it looks like the Brookstone rover, but electronics and control could be completely different.... I am sure DJ would love to, but EZ Robot has their own line of robots now and I am sure there are more to come... I am not speaking for EZ Robot, but I am sure their efforts need to be dedicated to their own robots in order to generate revenue... Supporting 3rd party robots was done out of the kindness of DJ's heart, but unfortunately with ARC being free software and not selling any of these 3rd party robots wasn't/isn't making ez robot any money... Again, I am not speaking for ez robot, just my opinion for whatever it's worth...
Sad. I think the electronics is the same. I checked mine and compared to the internals of the Rover and they are all the same: A Loftek IP cam. Essentially is the same hardware which is bought and rebranded by different companies. You can read more about this in this thread:


Isn't there any plans to open source EZRobot?. That would make it really free, and not only gratis as it is now.

Honestly why don't you just gut this things electronics and put a ezb and ez camera in it and call it a day. Use the existing motors and a small H bridge. That's really the simplest answer.
As it turns out, this robot is compatible with the Rover 2.0 and not the 1.0. The 2.0 is not supported by EZRobot, so for the time being, if you want to control this you should look else where. This for example looks quite interesting: https://github.com/wearefractal/rover which currently seems to me as the simplest answer. Is there any hope of support for the Rover 2.0 in EZ Robot?


Support for the Rover 2 is on the list of items to complete. However, it's a free feature of our software and therefore not a high priority. I do not have a timeframe for when 2.0 support will be completed... but it will most likely be in the new year:)
Cool! While you are on it, would you consider allowing to parametrize the connection to the rover2? The difference between the rover 2 and the spy-c is just one word in the blowfish key used to sign the connection to the tank ( you can check in the repos I posted earlier in this thread). If I can help you with anything, I'm more than happy to!


United Kingdom
I agree with Josh. I picked up a Happy Cow i Spy tank the other week, it was easy to gut and fit the EZ-B V4 and H-Bridge in to it, and even use the original 6xAA battery compartment and power switch.