HomeRaspberry PiThis robotic arm won't cost you an arm and... UltraArm P340

This robotic arm won’t cost you an arm and… UltraArm P340


At work, I get to play with pretty cool toys. Some robotic arms are collaborative, some have fancy grippers (sometimes designed by me) and others are just plain expensive. They have two things in common: they make various industries more efficient and are beyond affordable to the average person. How do you learn how to use these machines? Elephant Robotics has an answer: UltraArm P340

UltraArm P340

UltraArm P340 isn’t as fancy as some of the robotic arms I played with at work, but it won’t drain your bank account either. It’s only 3 DOF (degrees of freedom) but it’s a good place to get started. For anyone wanting more DOF – Elephant Robotics has more advanced and robust options. Just be prepared to open up your wallet a lot more.

UltraArm P340 will set you back roughly £580 for the base arm, plus whatever attachment you’d like to couple it with. The attachments are quite interesting – from something simple like a pen holder that transforms the arm into a plotter to mechanical conveyor belts and parallel grippers to test your skills in a more industrial fashion.

I had been sent 3 attachments to take for a spin:

  • Drawing kit
  • Engraving kit
  • Vision and pneumatic picking kit

These kits can be added to UltraArm P340 in seconds as the arm sports a magnetic tool changer.

If you wonder at this point what’s the advantage of getting a robotic arm over a complex and fun-to-play, servo-based quadruped – think about your goals. While making robots walk and talk gives immense satisfaction (as well as developing your skills), less creative projects like picking boxes of the same colour and stacking them together have much stronger real-life applications and showcasing projects. Skills like these could open a lot of doors in industrial automation, where object manipulation is key.

Out of the box

It takes about 30 min to get everything out of the box and complete the assembly. UltraArm P340 is shipped mostly put together, requiring a screw here and there to prepare the working area and grippers. The arm itself is heavy – approx 3kg thanks to machined parts used to articulate the arm. I particularly liked the work area plates made of acrylic sheets joined together by magnets. They are very quick to deploy and easy to fold and store. I may re-use that magnetic design for my own projects.

It advertises 650g of payload – which is quite respectable for an arm this size. Increased payload is achieved thanks to the reduction in degrees of freedom. As the robot came with a laser head, I was very eager to confuse the “burn” button at the base of the robot with engraving functionality – this button is reserved for burning firmware (ROS) onto UltraArm P340.

QC issues

As excited as I was about the arm, the road to get everything operational was rather bumpy. Unfortunately, my box arrived without the cable for the laser engraver (I had to make one myself. I was lucky enough to have a JST connector kit I purchased for tinkering with my 3D printers), the vacuum picker had cracks around the magnetic shroud causing the magnet to slip out – something I mended with super glue.

Later on, I also found out that the solenoid valve in the vacuum pump was leaking air and I was not able to get a good seal when picking up blocks. I patched this up with a piece of silicone tubing and a zip tie. It’s not a permanent fix as the release of the held objects was slower than it would have been otherwise.

I feed everything back to the team, and I hope they will revisit their QC procedures to address this.


After the initial hiccup, where myStudio software would refuse to work properly when installed in the Program Files directory (Documents worked fine), I managed to get it to work properly. I’m not sure what I was expecting from myStudio, but apart from a somewhat useful flashing ability, it’s a simple window with shortcuts to resources on the web.

I felt somewhat unimpressed as a Windows user apart from Luban (for plotter functions) and the Scratch-like myBlocky, the fancy-looking software is only available on Linux. It felt like a big omission that I could not just jump to a simple GIU and mess about with the arm and its basic functions without diving deep into Python documentation.

Fortunately myBlocky comes with Python IDE, so you can quickly switch to that if you want to jump right into Python without much setup.

As a plotted & engraver

Luban software is actually well put together, logical and easy to jump into. It translates vector-based input into G-Code – something that the arm can understand and execute. As the arm keeps the griper always parallel to the surface – this adds the first limitation you have to learn to manage. UltraArm P340 has a certain range and the writing area looks like a crescent. This is the area in which UltraArm P340 can keep the pen/engraver at a constant distance from the surface.

While limiting, working with certain limitations isn’t a new concept in industrial robotics as you manage to learn to control the robot and move it in such a way that it doesn’t crash into itself or the robots around it. While UltraArm P340 can’t crash into itself, it can definitely demolish the area around it if you are not careful.

Both workflows are easy to execute as long as you follow the instructions from the UltraArm P340 Gitbook to set the Luban software correctly.

Switching over to myBlocky, you can use the generated G-Code to read from the file and execute the burn/plotter via Python. The path can be read by block programming or directly via Python to start your job. This opens a degree of flexibility in how you could interact with the arm programmatically.

The laser engraver might be only 5W, but as it doesn’t come with a cover, you have to be very careful with it. You will spend time setting the correct height and laser head focus. As the engraver isn’t very powerful, you will be limited to cutting simple material (paper, vinyl) and engraving in wood or cork.


As I mended the vac pump, I was also able to move some blocks around. It’s not the pinnacle of my achievement but introduces interesting programming options when it comes to stacking blocks on top of each other and predicting the arm’s behaviour around the dynamic playground it creates.

Despite the flaw mentioned, the picker was very compliant and left some room for programming errors. Blocks were easy to pick up and drop around the robot. I was using myBlocky as I wanted to try things out before investing my time in setting up a dedicated Linux environment for it.


There was also a vision kit added to the robot, which you can use to try your strengths with OpenCV and other computer vision libraries. At the moment the vision is just a webcam plugged via USB into your computer, so you can add your own if you have a webcam handy and are ready to engineer an overhead stand for it.

The pack also included QR markers to recognise elements and the working area. I spent very little time playing with this, as initially troubleshooting everything else to make the robot work took more time that I could spare and playing with vision can be a complex challenge as it is.

Final Thoughts

If we sweep the QC issues aside, the robotic arm is genuinely fun to play and experiment with. 3DOF design comes with constraints, but it’s also more affordable than other Elephant Robotics products. If you are looking got something more advanced – check out their MyCoBot series, for learning and experimenting with how to work with constraints – UltraArm P340 will work just fine – and makes for a great little project that you can later use to showcase your skill for applying for a dream job. Showcasing my project landed me a job in industrial automation, this approach may very well work for you. Got questions? Leave them in this Reddit thread.

🆓📈💵 – See the transparency note for details.


Nothing says "Thank you" better than keeping my coffee jar topped up!


Support me on Patreon and get an early access to tutorial files and videos.


Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU


Programable, ESP32 based awesome dev platform with 4.7 e-ink display by M5Stack

More HATs


Argon One M.2

Enclose Raspberry Pi 4 inside this great case with custom I/O, cooling and GPIO and M.2 SSD support

More cases on


Best Raspberry Pi Projects

How to use Raspberry PI as WOL (wake on lan) server

While you could wake up your PC from a mobile directly, having a dedicated server capable of doing so is the best solution. The reason is simple. You can hook up as many devices as you wish with a single endpoint. This is why Raspberry Pi is perfect for this.

Slow Internet Warning

From time to time my Internet grinds to a stop. Since Raspberry Pi 4 comes with a 1Gbps Ethernet, I decided to take advantage of it and create a reporting system in NodeRED that will monitor and report when the ISP is not keeping the contractual agreements. Works with Alexa, Google Home, Android and Windows 10.

How fast Raspberry Pi NAS is?

Let's see how fast Raspberry Pi NAS really is?

Argon18: Argon ONE SSD modification

Argon One case just got better - now you can boot it from USB without ruining the design thanks to Argon 18: Argon One SSD modification


It took me 2 months to boot CM4 from NVMe

Complete beginners guide to Compute Module 4 boot from NVMe.

Raspberry Pi Zero 2 W vs other Zero boards

It's time to test the Raspberry Pi Zero 2 W against other Raspberry Pi boards from Zero series: power, WiFi, temperature and core performance

C/C++ and MicroPython SDK for Raspberry Pi Pico on Windows

A guide to SDK toolchain for Raspberry Pi Pico and C/C++ , Micropython on Windows.

A comprehensive guide to Grafana & InfluxDB

How to use Grafana and InfluxDB on Raspberry Pi for IoT sensors in home automation

How to boot Raspberry Pi 4 from USB

How to set up and boot Raspberry Pi 4 from USB drive - headless guide.