Quadrupet Has Arrived!

Hello all!

Our Go1 just arrived and I have started to dive in. I was wondering if there were any guides out there for programming. Whether that be Python, JavaScript, or C. Let me know because I would love to test out things.

1 Like

@jleonard128 please give this a test and let us know what you think!

More coming soon :slight_smile:


Alright! It’s time to get coding. My students will be watching this Monday morning. Keep the instructional videos coming!

We have managed to change the color but only one color change, When we try to go forward using the command Churchill.goForward(1, 3000) we get the following in the terminal: "sending command 0,0,0.1 "
this repeats about 15 times and the robot does not move.

Can you share your entire script and I’ll give it a test here? Thanks.

My student is trying to follow along with the video on his Linux installation on his Chromebook. Unfortunately, no one is knowledgeable in Javascript at the moment, as we are focusing on Python at the moment. When he attempts to run this using the ./filename method he gets the following error (see the image). When running the program using VS Code “node filename.js” in the command prompt, the messages come up: “connecting, done, connected” and one color only (the first in the sequence) will come up but no subsequent color changes happen. When we use a script that calls for the Robot to move forward, the sequence of messages on the terminal matches what you have in the video but the robot does not move.

Yikes I may have missed something in the original video. Can you add the following line to package.json?


So your final config will look like this:

  "name": "go1-js-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  "keywords": [],
  "author": "",
  "license": "ISC"

Let me know if that doesn’t work!

Also, we are working on a Python library. Would that be preferable to the JS one? If so, we may be able to get you early access by next week.

Really enjoy this JS package and would love to mess around with the Python package when available.

Are there any plans to have more low-level commands available? For instance, moving one leg at a time or something along those lines?


I very recently got a Go1 Edu and am finding the programming challenging, and hard to get started. Dennis or others, in your opinion, what would be the easiest language to learn and use on the Go1, be it Java, Python, or Ros? I’m a retired engineer and have not coded anything in years, and then it was Basic and Fortran. Forgot most all of it, but looking forward to learning again on the Go1. TIA, Fritz

Python would be awesome! We’re still pretty elementary at Python, but at least we’ve used it and are learning it now.

Hey Fritz!

I’m always happy to help someone get back into programming. It sounds to me that waiting on the Python package to be released would be the best course of action for you.

I don’t know a ton about Basic and Fortran but it seems to me that Python would be much more similar to those than JavaScript which has some weird quirks in my opinion.

That being said if you want to jump in today, Doug’s guide is very good!

Thanks for the info and the encouragement!

So we’re hitting a wall and I think I need a fresh set of eyes on it.
We are consistently getting this error:

await Dog.wait(2000)

SyntaxError: Unexpected reserved word
at Loader.moduleStrategy (internal/modules/esm/translators.js:140:18)
at async link (internal/modules/esm/module_job.js:42:21)

when we run the file on our school laptops. We have Debian 11 (virtualized on Chromebooks). My student took the Go1 home with him to continue testing over the break, and had flawless results with his Macbook. I decided to troubleshoot on my work machine (also a Chromebook running Debian 11) and had the same issues he was having. I can’t find anything that explains it out on the interwebs. I have tried different versions of node and gotten the same results.

I am including screenshots of the files so you can see what we might have done wrong, along with the list of installed versions of node in case it is version specific.

Link to a copy/pasted version of the package-lock.json file


I ran some diffs on the code you supplied and didn’t notice any differences between my working code and your non-working code. My best guess would be that it has something to do with virtualization.

I attempted running the code on my MacBook virtualizing Debian and got the code to run through.

The only difference between my code and yours is the dog objects’ names.

I can supply my code if you think that may help!

Happy Holidays!

Well just when I thought I could predict what would happen… I was wrong.

I spun up a Debian 11 instance on my Macbook Pro (Intel chip) and got the following results:

Is it possible that we have failed to install some dependency of node from the beginning? This is our first foray into the javascript world so we might not have something installed that is necessary. I’m working on testing on a clean Ubuntu install and if it does the same, then we’re down to 2 options:

  • missing a dependent installation
  • virtualization

I was trying to follow this video (ps. All your videos are extremely good) Unitree Go1 Low Level Control with Legged SDK and ROS via Wired Connection - YouTube and had problems with the gist. Unitree Low Level and ROS Low Level Control from Windows with Docker · GitHub I thought docker was included, but appears not to be. Any help is appreciated.

I was able to get the

dog connected, and that works when I ping it.

UPDATE: It turned out that I did not have Docker loaded on my laptop. The low level example now works.

@Fritz nice job! Keep us posted on your progress. Would love to hear what you’re up to.