At $10 shipped, this JJRC H20 is prolly too good to be true. New seller, zero sales. I ordered one. . EBay will prolly cancel the sale soon, but it's worth a shot. Can't lose money with buyer protection..
At $10 shipped, this JJRC H20 is prolly too good to be true. New seller, zero sales. I ordered one. . EBay will prolly cancel the sale soon, but it's worth a shot. Can't lose money with buyer protection..
Wow! That's a deal! I just purchased six of them. I left two for the rest of you.
Careful with those Hex's. I was going to buy them but seeing the battery wires are reversed is a bit worrying.
The small quads and hexes don't have a shared standard polarity. You need to make sure any batteries you use have the wires the right way around. I use a X-acto knife to lift the small plastic tabs in the connector housing and slide the metal part out. I've swapped the polarity on a bunch of the quad batteries to use with the hex.
IMO the battery connection issue is just something you need to be aware of. Don't let it stop you from getting one of these hexacopter.
The little H2O hex is just what I had always hoped for. It flies great.
They sure don't make it easy to grab a video from the Android file folder!
I had to use ES File Explorer to copy it to a folder I could see when my phone is connected via USB.
EDIT: I used DropBox to transfer the video file to my PC.
The videos are saved in .mjpg format so I converted it to .mp4 using ffmpeg command line utility.
According to my second link above it's pretty obvious that one of the tank circuit boards is a standard cheap Wifi router running a couple of programs to forward traffic to the motors and from the camera. The freeware Linux app which is running the camera is here:
...and it is designed to stream mpeg from a USB webcam, so it would appear that the camera is a USB webcam and not NTSC.
I haven't tried it but it seems likely that the tank firmware would accept connections from more than one client, so one might for example make a dedicated joystick controller out of an ESP8266 and use a different device as the video viewer.
I have written a little app in VB6 to drive the i-Spy tank around and verified that you can indeed connect to it from multiple devices, connecting to the video server with one device and the motor controller with another. So it should be possible for example to use an ESP8266 to make a mechanical joystick for it while using something else as the view screen. However, if more than one device tries to connect to the motor control port at the same time it gets confused and stops working until the power is cycled.
I have written a little app in VB6 to drive the i-Spy tank around and verified that you can indeed connect to it from multiple devices, connecting to the video server with one device and the motor controller with another. So it should be possible for example to use an ESP8266 to make a mechanical joystick for it while using something else as the view screen. However, if more than one device tries to connect to the motor control port at the same time it gets confused and stops working until the power is cycled.
Would you share the VB6 code? I was actually thinking about trying VB6 or VBScript...
I have used VB6 a great deal and would love to see your program.
Hey Ron, you probably don't want to mess with those router settings too much lest you brick your tank and have to go to the second blog post I linked above to see how to factory default it.
I don't think WIndows Media Player will play a raw MJPEG stream, but VLC Media Player will and it's free and available for Mac and Linux as well as Windows. You can get it here:
Once you install it just go the Media menu, Open Network Stream, and put http://10.10.1.1./8196 into the URL bar. (The blogger puts port 9876 in his screenshot but 8196 in the text, and in my case it was 8196 that worked.) I have VLC on all my machines just for the stuff other stuf won't open because it can't find the codec.
That first blog post also describes the protocol for controlling the motors which I implemented. The only thing he doesn't mention is that the commands time out, which is the reason for the timer in my little app. If you telnet in and send 1222, it will back up a couple of feet and then stop. You have to keep repeating the command to get continuous motion.
Hey Ron, you probably don't want to mess with those router settings too much lest you brick your tank and have to go to the second blog post I linked above to see how to factory default it.
I don't think WIndows Media Player will play a raw MJPEG stream, but VLC Media Player will and it's free and available for Mac and Linux as well as Windows. You can get it here:
Once you install it just go the Media menu, Open Network Stream, and put http://10.10.1.1./8196 into the URL bar. (The blogger puts port 9876 in his screenshot but 8196 in the text, and in my case it was 8196 that worked.) I have VLC on all my machines just for the stuff other stuf won't open because it can't find the codec.
That first blog post also describes the protocol for controlling the motors which I implemented. The only thing he doesn't mention is that the commands time out, which is the reason for the timer in my little app. If you telnet in and send 1222, it will back up a couple of feet and then stop. You have to keep repeating the command to get continuous motion.
Thanks again! Do you know how to simulate the trimmer setting (from the Android App)?
My tank pulls to the left so the VB6 pgm doesn't compensate...
He didn't say anything about the trim setting and there's no indication that it would naturally be supported by the motor control interface, which seems to be all on/off. I suspect the Android/IOS app is commanding power cut to one of the motors for a fraction of a second at a time but someone would have to wireshark the comms to be sure. The comm protocol sure doesn't look like it naturally supports level setting or PWM.
This should be a fairly simple thing to fake out by using a faster timer in VB and turning one of the motors off for 1/10 second at a time once in awhile.
I just realized there might be one difficulty with my last post about faking out the trim control, which is that Windows implements the Nagle delay and as far as I know it can't be disabled. This means that when you send a short little TCP message it doesn't immediately get sent, but is held over for 200 milliseconds to see if you have anything to add to it before building a packet and sending it off. Obviously this screws with close timing and it's something I encounter pretty often at work.
I don't know but would suspect Android allows Nagle to be turned off, since it's intended for timing sensitive media applications. There is a Berkeley sockets API call to do that but not all stacks honor it, and I've never had any luck with it on Windows. This is a thing where an embedded solution like an ENC28J60 or ESP8266 would be a lot better because you can control with fine timing when packets are sent out.
I just realized there might be one difficulty with my last post about faking out the trim control, which is that Windows implements the Nagle delay and as far as I know it can't be disabled. This means that when you send a short little TCP message it doesn't immediately get sent, but is held over for 200 milliseconds to see if you have anything to add to it before building a packet and sending it off. Obviously this screws with close timing and it's something I encounter pretty often at work.
I don't know but would suspect Android allows Nagle to be turned off, since it's intended for timing sensitive media applications. There is a Berkeley sockets API call to do that but not all stacks honor it, and I've never had any luck with it on Windows. This is a thing where an embedded solution like an ENC28J60 or ESP8266 would be a lot better because you can control with fine timing when packets are sent out.
Found this link regarding disabling Nagle Algorithm
Wow, I did not know about that registry hack to disable Nagle in Windows. I just know the Berkeley Sockets API call warns that it is not mandatory for a TCP stack to honor the request, and that when I've tried it that way Windows hasn't honored it. I had no idea you could disable it completely through the registry though. There are a few situations at work (particularly since we tend to put computers in for dedicated purposes) where that might come in handy.
It's kind of dangerous to fly these outside. It takes the fail safe several seconds to cut in when the signal is lost and these things can go pretty far in a couple seconds.
Glad you mentioned this. My hexacopters arrived today and I didn't let any moss grow on them. They worked great out in the front yard. Then one got a mind of its own, climbing straight up like a homesick angel, drifting over to a neighbor's lawn, and abruptly falling from the sky. No harm done, but from that point on I didn't let them get very high or go very far. Will definitely drill holes and feed out whatever antenna wires I can find.
They're quite delightful and terribly cute. I like that they came with several spare props and a tiny screwdriver. Stability is just like you said. Lots of reserve lift, too.
Adding a $2 MMIC amplifier and directional antenna to the Tx, the H20 could flit through the neighborhood like a hummingbird.
I suggest the JJRC H20W over the CX-10W. The H20W is a hexacopter and has an actual remote, but you can still use your smartphone to control it.
My H20W arrived today. The suggested app wasn't compatible with my phone so I looked around for an alternative. This "FPV Drone" app streams the video just fine.
I was surprised to how much bigger the H20W is than the original H20.
Here's a photo of the H20W, H20 and the CX-10.
The battery capacities of the three 'copters are 280mAh, 150mAh and 100mAh.
I'm not positive the CX-10's internal battery is 100mAh. The CX-10's battery isn't easily changed and normally has to be charged while inside the quadcopter. I modified one of my CX-10s to make it easy to swap batteries. This modification involved a bit of soldering to make the charging port accept the battery connection. The body also had to be modified to allow a battery to be slid in and out as needed.
As I mentioned earlier, I'm using the "FPV Drone" app for streaming video. Do any of you have other options? I've seen JJRC FPV suggested for use with this hexacopter but there are a lot of negative reviews for JJRC FPV. Apparently JJRC requires all sorts of permissions which aren't really need to operate the hexacopter. Some reviews accuse the app of being mal-ware. I'm not using JJRC FPV because it doesn't work on my phone.
There is no latency on the H20W from what I can tell, but the bigger problem is the narrow viewing angle on the camera lens.
What app are you using? The picture I'm seeing has over one second of delay. The delay is about 1.5s which is much too much to fly FPV. Does the app one using really make that much difference? I still think this is a cool hexacopter but I'm very disappointed how much latency there is in the video signal. If there's a way to reduce the latency, I'll try adding a wide angle lens.
1.5 sec delay is dreadful, it must be the app! Keep looking. Did you try the Cheerson app? Long shot but crystal clear and barely any lag with their CX10W.
MJX cams can be viewed using Syma's app but not vice versa.
How does the H20W fly? My $10 H20 has yet to arrive.
Edit: SteveChan (who wrote Cheerson's app) also wrote JJRC UFO, which does not appears to have all the permissions & potential malware as the other JJRC app.
And if anyone wants to learn a cool, secret, hardly known, amazing, immersive Easter egg for use with an MJX cam, then... Oh never mind, forget I mentioned it. No one cares about a 3D VR experience.
I suggest the JJRC H20W over the CX-10W. The H20W is a hexacopter and has an actual remote, but you can still use your smartphone to control it.
My H20W arrived today. The suggested app wasn't compatible with my phone so I looked around for an alternative. This "FPV Drone" app streams the video just fine.
I was surprised to how much bigger the H20W is than the original H20.
Here's a photo of the H20W, H20 and the CX-10.
The battery capacities of the three 'copters are 280mAh, 150mAh and 100mAh.
I'm not positive the CX-10's internal battery is 100mAh. The CX-10's battery isn't easily changed and normally has to be charged while inside the quadcopter. I modified one of my CX-10s to make it easy to swap batteries. This modification involved a bit of soldering to make the charging port accept the battery connection. The body also had to be modified to allow a battery to be slid in and out as needed.
As I mentioned earlier, I'm using the "FPV Drone" app for streaming video. Do any of you have other options? I've seen JJRC FPV suggested for use with this hexacopter but there are a lot of negative reviews for JJRC FPV. Apparently JJRC requires all sorts of permissions which aren't really need to operate the hexacopter. Some reviews accuse the app of being mal-ware. I'm not using JJRC FPV because it doesn't work on my phone.
There is no latency on the H20W from what I can tell, but the bigger problem is the narrow viewing angle on the camera lens.
What app are you using? The picture I'm seeing has over one second of delay. The delay is about 1.5s which is much too much to fly FPV. Does the app one using really make that much difference? I still think this is a cool hexacopter but I'm very disappointed how much latency there is in the video signal. If there's a way to reduce the latency, I'll try adding a wide angle lens.
I use this app and I can't see any delay, using a Samsung s4:
I suggest the JJRC H20W over the CX-10W. The H20W is a hexacopter and has an actual remote, but you can still use your smartphone to control it.
My H20W arrived today. The suggested app wasn't compatible with my phone so I looked around for an alternative. This "FPV Drone" app streams the video just fine.
I was surprised to how much bigger the H20W is than the original H20.
Here's a photo of the H20W, H20 and the CX-10.
The battery capacities of the three 'copters are 280mAh, 150mAh and 100mAh.
I'm not positive the CX-10's internal battery is 100mAh. The CX-10's battery isn't easily changed and normally has to be charged while inside the quadcopter. I modified one of my CX-10s to make it easy to swap batteries. This modification involved a bit of soldering to make the charging port accept the battery connection. The body also had to be modified to allow a battery to be slid in and out as needed.
As I mentioned earlier, I'm using the "FPV Drone" app for streaming video. Do any of you have other options? I've seen JJRC FPV suggested for use with this hexacopter but there are a lot of negative reviews for JJRC FPV. Apparently JJRC requires all sorts of permissions which aren't really need to operate the hexacopter. Some reviews accuse the app of being mal-ware. I'm not using JJRC FPV because it doesn't work on my phone.
There is no latency on the H20W from what I can tell, but the bigger problem is the narrow viewing angle on the camera lens.
What app are you using? The picture I'm seeing has over one second of delay. The delay is about 1.5s which is much too much to fly FPV. Does the app one using really make that much difference? I still think this is a cool hexacopter but I'm very disappointed how much latency there is in the video signal. If there's a way to reduce the latency, I'll try adding a wide angle lens.
I use this app and I can't see any delay, using a Samsung s4:
BTW, the batteries for the original H20 work in the H20W.
The flight time is less with the smaller battery but then the 'copter doesn't weigh as much and has greater power reserves than when using the original battery.
The H20W has two battery connections. When using the smaller battery I use the connector just under the switch. I don't really understand why they use the strange battery tray with the H20W. The battery slot in the original H20 works just fine.
The flight time is less with the smaller battery but then the 'copter doesn't weigh as much and has greater power reserves than when using the original battery.
Sending video is a constant drain, likely 200-300 mA. Board will get warm.
Sending video is a constant drain, likely 200-300 mA. Board will get warm.
I think I killed my H20W. I was attempting to record a video demonstrating the video lag and had the motors off while I was recording. I think the board got too hot without the airflow.
I never had a chance to test the app EE351 suggested.
Went with the smaller one, however it just doesn't have the power to really move over gravel.
So now, I want to upgrade it with a bigger battery, more powerful wheel motors and more LED's, possibly IR but not sure if the camera will pick that up.
Since I haven't fooled much with robotics/motors, any suggestions on motors?
Initially thinking of moving the entire kit into a larger project box for testing, then new tank body.
Comments
The C version's camera records to a uSD card, but the W (WiFi) version streams live video to your smartphone controller.
I wish there was a hybrid which sent video to phone but used a dedicated remote control. I prefer the tactile feel of joysticks to a touchscreen.
The Toys R Us quad had a WiFi link with a normal remote.
The WiFi hex E351 linked to also has a full remote.
http://www.ebay.com/itm/Mini-Drones-6-Axis-Rc-Dron-Jjrc-H20-/172238626538
http://devblog.kogan.com/hacking-the-wifi-spy-tank/
http://devblog.kogan.com/blog/hacking-the-wifi-spy-tank-part-2
http://www.rcgroups.com/forums/showthread.php?t=2459925
Wow! That's a deal! I just purchased six of them. I left two for the rest of you.
Cool stuff. Thanks for the link.
The small quads and hexes don't have a shared standard polarity. You need to make sure any batteries you use have the wires the right way around. I use a X-acto knife to lift the small plastic tabs in the connector housing and slide the metal part out. I've swapped the polarity on a bunch of the quad batteries to use with the hex.
IMO the battery connection issue is just something you need to be aware of. Don't let it stop you from getting one of these hexacopter.
The little H2O hex is just what I had always hoped for. It flies great.
I had to use ES File Explorer to copy it to a folder I could see when my phone is connected via USB.
EDIT: I used DropBox to transfer the video file to my PC.
The videos are saved in .mjpg format so I converted it to .mp4 using ffmpeg command line utility.
Sort of a pain...
http://mxhaard.free.fr/embedded.html
...and it is designed to stream mpeg from a USB webcam, so it would appear that the camera is a USB webcam and not NTSC.
I haven't tried it but it seems likely that the tank firmware would accept connections from more than one client, so one might for example make a dedicated joystick controller out of an ESP8266 and use a different device as the video viewer.
Would you share the VB6 code? I was actually thinking about trying VB6 or VBScript...
I have used VB6 a great deal and would love to see your program.
Thanks,
Ron
Thanks! Works great. I'll have to study the code.
Trying to figure out how to stream the video to Windows Media Player...
I browsed to 10.10.1.1 and entered "HAPPYCOW" for the User Name and password.
The images below are from the Setup Wizard...
I don't think WIndows Media Player will play a raw MJPEG stream, but VLC Media Player will and it's free and available for Mac and Linux as well as Windows. You can get it here:
http://www.videolan.org/vlc/index.html
Once you install it just go the Media menu, Open Network Stream, and put http://10.10.1.1./8196 into the URL bar. (The blogger puts port 9876 in his screenshot but 8196 in the text, and in my case it was 8196 that worked.) I have VLC on all my machines just for the stuff other stuf won't open because it can't find the codec.
That first blog post also describes the protocol for controlling the motors which I implemented. The only thing he doesn't mention is that the commands time out, which is the reason for the timer in my little app. If you telnet in and send 1222, it will back up a couple of feet and then stop. You have to keep repeating the command to get continuous motion.
Thanks again! Do you know how to simulate the trimmer setting (from the Android App)?
My tank pulls to the left so the VB6 pgm doesn't compensate...
This should be a fairly simple thing to fake out by using a faster timer in VB and turning one of the motors off for 1/10 second at a time once in awhile.
I don't know but would suspect Android allows Nagle to be turned off, since it's intended for timing sensitive media applications. There is a Berkeley sockets API call to do that but not all stacks honor it, and I've never had any luck with it on Windows. This is a thing where an embedded solution like an ENC28J60 or ESP8266 would be a lot better because you can control with fine timing when packets are sent out.
Found this link regarding disabling Nagle Algorithm
http://b.rideekulo.us/2009/09/windows-7-nagles-algorithm-and-gaming/
Haven't tried it though
Here is video of my tank roaming my hallway and den - My dog is NOT impressed BTW
Glad you mentioned this. My hexacopters arrived today and I didn't let any moss grow on them. They worked great out in the front yard. Then one got a mind of its own, climbing straight up like a homesick angel, drifting over to a neighbor's lawn, and abruptly falling from the sky. No harm done, but from that point on I didn't let them get very high or go very far. Will definitely drill holes and feed out whatever antenna wires I can find.
They're quite delightful and terribly cute. I like that they came with several spare props and a tiny screwdriver. Stability is just like you said. Lots of reserve lift, too.
Adding a $2 MMIC amplifier and directional antenna to the Tx, the H20 could flit through the neighborhood like a hummingbird.
My H20W arrived today. The suggested app wasn't compatible with my phone so I looked around for an alternative. This "FPV Drone" app streams the video just fine.
I was surprised to how much bigger the H20W is than the original H20.
Here's a photo of the H20W, H20 and the CX-10.
The battery capacities of the three 'copters are 280mAh, 150mAh and 100mAh.
I'm not positive the CX-10's internal battery is 100mAh. The CX-10's battery isn't easily changed and normally has to be charged while inside the quadcopter. I modified one of my CX-10s to make it easy to swap batteries. This modification involved a bit of soldering to make the charging port accept the battery connection. The body also had to be modified to allow a battery to be slid in and out as needed.
As I mentioned earlier, I'm using the "FPV Drone" app for streaming video. Do any of you have other options? I've seen JJRC FPV suggested for use with this hexacopter but there are a lot of negative reviews for JJRC FPV. Apparently JJRC requires all sorts of permissions which aren't really need to operate the hexacopter. Some reviews accuse the app of being mal-ware. I'm not using JJRC FPV because it doesn't work on my phone.
What app are you using? The picture I'm seeing has over one second of delay. The delay is about 1.5s which is much too much to fly FPV. Does the app one using really make that much difference? I still think this is a cool hexacopter but I'm very disappointed how much latency there is in the video signal. If there's a way to reduce the latency, I'll try adding a wide angle lens.
MJX cams can be viewed using Syma's app but not vice versa.
How does the H20W fly? My $10 H20 has yet to arrive.
Edit: SteveChan (who wrote Cheerson's app) also wrote JJRC UFO, which does not appears to have all the permissions & potential malware as the other JJRC app.
https://play.google.com/store/apps/details?id=com.gx_jj_rc_ufo&hl=en
I use this app and I can't see any delay, using a Samsung s4:
https://play.google.com/store/apps/details?id=com.chomp.jianjian&hl=en
Sorry I posted the wrong link:
https://play.google.com/store/apps/details?id=com.gx_jj_rc_ufo&hl=en
Thanks for the suggestion. I'll give it a try.
BTW, the batteries for the original H20 work in the H20W.
The flight time is less with the smaller battery but then the 'copter doesn't weigh as much and has greater power reserves than when using the original battery.
The H20W has two battery connections. When using the smaller battery I use the connector just under the switch. I don't really understand why they use the strange battery tray with the H20W. The battery slot in the original H20 works just fine.
Sending video is a constant drain, likely 200-300 mA. Board will get warm.
I think I killed my H20W. I was attempting to record a video demonstrating the video lag and had the motors off while I was recording. I think the board got too hot without the airflow.
I never had a chance to test the app EE351 suggested.
Darn and drat.
Erco,
Went with the smaller one, however it just doesn't have the power to really move over gravel.
So now, I want to upgrade it with a bigger battery, more powerful wheel motors and more LED's, possibly IR but not sure if the camera will pick that up.
Since I haven't fooled much with robotics/motors, any suggestions on motors?
Initially thinking of moving the entire kit into a larger project box for testing, then new tank body.