The DJI Robomaster S1

Why I recommend that you shouldn't buy one

It's a beautiful thing. Big and heavy, it arrives in a big cubic-shaped box containing perhaps a hundred or so pieces. So the first job: make it! Everything is provided, including hex-screws, a hex screwdriver, even lithium grease for the wheel parts, and safety goggles. The latter because it can shoot gel beads. They arrive as dried out little white specks in a plastic bottle and take 4 hours soaking in water to turn them into squishy largely harmless projectiles. Bear the 4 hours in mind if you plan to start shooting as soon as you've built it. And apropos that, bear in mind the 1.5 hour charge time for the battery.

I built mine over several sessions in a total of exactly 170 minutes. The build plans and instructions are excellent and you should have no problems constructing the beast. Although, having said that, I did have an early problem, caused by my own stupidity. The first job is to build the four Mecanum wheels. These are very clever wheels and ensure that the S1 can move in any direction without the need for any form of steering. As you can see in the pictures above, they have little rollers around the circumference, offset at 45 degrees. So don't think of a Mecanum wheel as a fore/aft roller; think of it as being able to move in any direction. My mistake was when building the first wheel I missed out an essential rubber insert, necessitating a deconstruct and reconstruct. But for this error my build would have been about 150 minutes.

So having built it and charged the battery, you'll be anxious to give it a go. For your Android or Apple phone and tablet there are downloadable apps, and for your Apple or Windows desktop there are downloadable applications. All free. Linux? Don't be silly.

There are two essential modes: control it in real time with your device and drive around shooting things or your opponents; or programmable, where you say, in a programming language called Scratch, or possibly Python (but more on Python later), do this, then do that, then this, then that ..... and so on.

I bought an S1 not because I wanted to do battle, and not because I wanted to amuse people by driving up to them and shooting them in the foot. No, my desire was for the programmability. I'm a worthwhile programmer, familiar with numerous languages, and I relished the idea of constructing complex sets of do this then do that code. And herein lies the reasoning behind my deconstructing it, getting all the bits back into that big box, and handing the bloody thing to UPS for a refund.

The general consensus of opinion around the interwebs, but in particular on DJI's own Robomaster forum amounts to this: The hardware guys have done a wonderful job (true) but the thing was rushed out for sale before the apparently 7 year old programmers were ready to let the software side out with it. Never mind that the bosses said, put it on sale anyway and we'll see about the software at a later date. Right now, today, January 2020 we are within that period between great hardware and a later (unspecified) date. And now, early February 2020, it seems reasonable to believe that any updates to the software may be far into the future, due to most of China, including DJI's kindergarten S1 programming department, now being closed due to Novel Coronavirus.

Here is a partial list of my own problems with it:

  1. Poor and/or inadequate programming documentation. Scratch documentation is in places unintelligible and there is no Python documentation whatsoever other than brief references within the online Scratch guide. I think it is very misleading indeed to claim that the device supports Python, when quite clearly it does not. As a Python programmer I want to sit and write Python code for the S1 in a program editor and send it to the device. I cannot, so this is a false claim. See point 5 below.

  2. Connection via wifi to an Android phone is very poor. It requires several tries before the S1 appears in the list of available wifi sources. Then, following a successful connection, the latter is sometimes dropped. At times, even after a successful wifi connection, the Android application fails to start up, resulting in a blank phone screen and a reboot. My Windows 7 laptop never once saw the wifi signal during numerous attempts, but in any case, the software wouldn't even start up - black screen, mucho disk activity though.

  3. Connection via wifi to my Android tablet is impossible. The S1 simply never appears in the list of of available wifi sources.

  4. My iPod, which runs DJI Go 4 and my Spark just fine, never once was able to see the S1 wifi source.

  5. It really is very strange that, having written a program of some sort, you can't just upload it onto the S1 and thereafter run it autonomously. What happens is that the device holding the program - phone, tablet or desktop - pushes individual commands to the S1 in real time as it runs. We really should be able to load a program onto it then take it round to a friend's house and say "Watch this!" Why can't we? We can with other programmable devices - Lego Mindstorms for example is highly programmable and can store several different programs.

  6. Under Scratch, a simple drive forward, drive back again for equal times or distances should result in the S1 returning to the same place. It neither drives in a perfectly straight line nor returns to the same place, sometimes as much as 30cm away. This renders it useless if trying to show some simple programming to a child. Even my 3 year old grandson questioned the inaccuracy. Tell it to drive forward for a metre then turn right and keep on for another metre? Fine, as long as you place a Wait 0.1 seconds between each command. Otherwise it just moves forward once and stops. I saw nothing in the documentation about needing to allow time for one instruction to finish before issuing the next instruction. It appears that the 2nd instruction simply disappears if the S1 receives it while still performing the previous instruction.

  7. The OSX application causes the Mac internal temperatures to become dangerously high - 100 degrees C, the boiling point of water, resulting in the fans blowing at full speed, even when the application is sitting idle. This is not only probably bad programming, but is conceivably ultimately damaging to the computer. This to me is probably the single most fundamental indicator of awfully bad programming. No software should run at 100% when doing absolutely nothing. What can it be doing when it's not supposed to be doing anything?

I'm a huge fan of DJI, don't get me wrong. I hate to pan one of their products because I very happily own or have owned Phantom 2 and Phantom 3 drones, a Flamewheel F550 hexacopter - built from scratch, a Spark drone, and both OSMO original and Pocket cameras and will probably get the DJI Action Cam. All have behaved perfectly and I have had zero cause for complaint. But this Robomaster crap ... oh dear me, DJI, what have you done?? DJI's own Robomaster forum contains various comments regarding poor software, but additionally, that same forum is very sparsely inhabited, indicating to me that there are very few owners, and even fewer commenting or asking. Interesting to note that if in one of the mainline forums, the Spark drone for example, somebody posts a question or comment, quite often a DJI forum moderator will reply, thanking the contributor for his offering and hoping he gets a good reply, or whatever. Not so in the S1 forum, where comments, suggestions or questions go apparently ignored by the forum moderators. This to me is quite telling.

Similarly, the star rating comments system on a major online retailer contains, at the time of writing in mid-January 2020, only two comments, both bad single-star comments. Commenters have to give at least one star, so that alone doesn't say much for the thing.

I very much regret that I cannot in the least recommend this product, and would even go so far as to urge you not to bother wasting what amounts to a LOT of money (500 pounds sterling) on it. The hardware, beautiful though it is, is rendered virtually worthless due to the poor quality of the supporting software. (Put the 500 towards a new camera instead, or an Action Cam, as I will be doing soon.)