Weekend tinkering with the 1X Neo robotic hand: Pitfalls encountered
Spent the weekend tinkering with the 1X Neo robotic arm; stepped on quite a few pitfalls.
To be honest, I just disassembled and reassembled a 1X Neo robotic arm a couple of days ago, really experiencing what it feels like when "experts fail too." Industrial robotic arms and consumer robots are completely different beasts. Even if you've done robotics development for years, switching to an unfamiliar model means pitfalls everywhere from wiring to making the arm move for the first time.
I'm writing this note as a recap of the pitfalls I encountered this weekend. The goal is to help friends with some background (e.g., those who have touched UR, Dobot, or other open-source arms) get started quickly with the 1X Neo and avoid low-level but fatal errors.
Hardware Prep: Don't Assume Anything
1. One 1X Neo robotic arm (mine is second-hand, factory firmware v2.3)
2. A computer with USB ports (Windows/Linux fine; Mac needs extra drivers)
3. A USB-C data cable (included in package; don't use a standard phone charging cable, only data cables support communication)
4. A 24V/3A power adapter (specific to 1X Neo; don't use 12V, it burns the circuit board)
Bold Note: The 1X Neo control software is closed-source, but official SDKs and APIs are provided. Absolutely do not try to connect it with DobotStudio or UR software; protocols are incompatible, and connecting yields no response. I made this mistake initially, assuming all open-source arms were universal, wasting an hour.
Step 1: Power Up, Judge Status by Sound
Fix the arm base securely, connect power, press the switch. You'll hear "click-clack" sounds from joint self-tests, with each joint twitching in sequence—that's normal. If there's no reaction, check if the power indicator is on, then measure voltage with a multimeter. I encountered: adapter labeled 24V but actual output was only 18V; machine started but kept erroring. Swapped for a Mean Well power supply, solved.
Step 2: Install Drivers and Official Tools
Connect the USB-C cable. PC detects "1X Neo" device but didn't auto-install drivers? Don't panic.
1. Open Device Manager, find the yellow exclamation mark under "Other Devices"
2. Right-click -> Update Driver -> Browse my computer -> Let me pick -> Select "USB Serial Device"
3. After installation, a COM port appears (e.g., COM5). Note it down.
Bold: The 1X Neo uses an FTDI chip. Windows 10/11 usually auto-detects it, but if you use a stripped-down OS, download drivers from the FTDI website. Also, I tried connecting three times unsuccessfully; finally discovered the COM port was occupied by Bluetooth. Disabling the Bluetooth serial port fixed it.
Download 1X Studio from the official 1X GitHub (note: NOT DobotStudio) and install it. The interface is clean: connection settings on the left, 3D simulation on the right.
1. Select your COM port in the "Connection" dropdown
2. Baud rate is fixed at 921600 (default for 1X Neo, cannot change)
3. Click "Connect." If successful, the arm nods, and the interface shows "Connected."
4. If connection fails repeatedly, check if the USB cable is a data cable (not charging), or try another USB port (front ports may have insufficient power).
Step 3: Manual Teaching, Remember Key Points
The 1X Neo supports free drag mode: hold the end-effector button, and the arm enters zero-force mode, allowing manual pushing/pulling.
1. Stand beside the arm, support the end-effector with one hand, hold the button with the other.
2. Slowly push the arm to the target position (e.g., 10cm above the desk).
3. Release the button; the arm locks in position.
4. Click "Record Point" in 1X Studio, name it P1.
5. Repeat for P2, P3.
Note: Don't drag too fast in free mode. Joints have buffers, but forceful pulling triggers overload protection. My friend bumped into a table corner on the first pull; motor protection kicked in, requiring a power cycle to recover. Also, 1X Neo joint torque is smaller than UR; don't exceed 500g payload at the end-effector.
Step 4: Write a Simple Program—Draw a Line
Switch to the "Program" interface in 1X Studio and use script blocks:
MoveJ(P1) // Joint move to P1
MoveL(P2) // Linear move to P2
MoveL(P1) // Linear return to P1
Explanation:
MoveJ: Joint space movement, fastest speed, path not necessarily straight.MoveL: Cartesian linear movement, used for drawing lines or precision operations.
Click "Run." If normal, the arm moves from P1 to P2 and back. If no reaction, check if point coordinates are non-zero (click P1 to view values). Before the first run, ensure the arm is in an open area with nothing around, otherwise collisions cause damage.
Common Pitfalls & Solutions
| Pitfall | Cause | Solution |
|---|---|---|
| Arm doesn't move | Didn't click "Enable" button | Click "Enable Motors" in 1X Studio |
| Trajectory jitter | Overloaded or stiff joints | Check end-effector weight, lubricate joints |
| Inaccurate recorded points | Hand tremor during manual drag | Use "Fine Tune" mode, adjust via keyboard arrows |
| Program stops after one run | No loop or end instruction | Add Wait(1) at the end to pause program |
| Frequent disconnects after connecting | Poor USB shielding or insufficient power | Use shielded USB cable with ferrite core, or plug into rear motherboard port |
What to Try Next
1. Attach a suction cup or gripper: 1X Neo has dedicated IO interfaces to control pneumatic suction cups, enabling "pick-and-place."
2. Control via Python SDK: Official Python library allows scripting complex actions, like picking parts from a conveyor belt.
3. Read IO signals: Connect a button to the arm; press to execute action. This is the key step from "demo" to "automation."
Honestly, after spending the weekend tinkering, my biggest takeaway is: The barrier to industrial embodied intelligence still exists, but if you're willing to spend time researching, you can grasp the basics in a weekend. However, the 1X Neo ecosystem isn't mature enough; many issues require reading source code or checking official forums. To make it truly useful, you need to learn motion planning and sensor fusion—that's for the next stage.
Physix Frontier