Reply To: Setting up an old Egg-Bot with Ubuntu 18.04

Home Evil Mad Scientist Forums Egg-Bot Setting up an old Egg-Bot with Ubuntu 18.04 Reply To: Setting up an old Egg-Bot with Ubuntu 18.04

#27978
Participant

I’ll try posting it again. Seems to have disappeared after a minor edit.

Setting up an old Egg-Bot with Ubuntu 18.04:

I spent several hours trouble-shooting this, and got it to work, so I thought I’d make a forum post describing what worked, and how I got around several problems. I’m new to using Linux and I’ve never used something like the Egg-Bot before, but that’s probably true of other people here, so perhaps someone will find this useful.

HARDWARE ISSUES

First of all, I ran into a snag installing the servo motor during the physical construction of the Egg-Bot. I stupidly installed it upside down, and in the process of screwing it in, the little screw that came with the motor stripped quite badly. I then ordered a spare pen arm, and managed to strip the screw attaching second servo motor completely before it was all the way in (the motor was right side up this time, but much too wobbly to use).

Frustrated with the flimsiness of the screws (as well as with myself), I measured one the spare old screws with calipers, and then ordered some real wood screws of very nearly the same size. Specifically, Wood screws, Slotted round head, Brass, #1, 3/8″, link: https://www.boltdepot.com/Wood_screws_Slotted_round_head_Brass_1.aspx?Selected=4258. I also had some M2 washers on hand, specifically the smallest in this set (they’re nothing special): https://www.amazon.com/gp/product/B07CG9J4NC/.

I managed to remove one of the old screws with some difficulty (the other will require J-B Weld if I bother with it), stuffed the screw hole with little shards of toothpick and a bit of wood glue, waited a day, snapped off the toothpick shard ends and sanded the surface flat, and tried again. I used one of the new screws with an M2 washer. Worked perfectly.

SOFTWARE ISSUES

Now onto the software. I pretty much followed the directions given on the official website, so consider this commentary to be read alongside that.

Inkscape seems to want you to use snap to install it nowadays, which creates issues when trying to install extensions. I couldn’t copy any extensions to the supposedly correct folder, so I uninstalled Inkscape altogether and reinstalled it this way:


sudo add-apt-repository ppa:inkscape.dev/stable
sudo apt update
sudo apt install inkscape

After downloading the extensions .zip file and extracting it into the Downloads folder, I copied the files to the Extensions directory with this command:


cp -rT ~/Downloads/EggBot_extensions_v281 ~/.config/inkscape/extensions

Before trying to use Inkscape with the Egg-Bot, don’t forget to install this too:
https://github.com/evil-mad/plotink, plus the related Python depenency:
I did that specifically like so:


sudo apt install python-pip
pip install pyserial
pip install git+git://github.com/evil-mad/plotink.git

FIRMWARE ISSUES

Next, when it comes to installing the firmware, with Linux you’re pretty much stuck with mphidflash. Welcome to dependency hell. I’ll guide you through it.

The problem is libhid-dev. This library has not been supported for many years. A handful of copies of it still float around on out-of-the-way corners of the internet, but they are not easy to find, and most of them are the wrong version for any specific computer.

The Will Code for Sushi blog post with a handy guide to installing mphidflash has a link for installing libhid-dev, but it’s dead, and would have pointed to a version for a 32-bit system anyway. A project called yaVDR (open-source home theater software, apparently) has a 64-bit version archived. The following commands in this order did the trick:


wget https://launchpad.net/~yavdr/+archive/ubuntu/main/+build/5889477/+files/libhid-dev_0.2.16-2yavdr1~trusty_amd64.deb
wget https://launchpad.net/~yavdr/+archive/ubuntu/main/+build/5889477/+files/libhid0_0.2.16-2yavdr1~trusty_amd64.deb
sudo apt install libusb-0.1-4
sudo dpkg -i libhid0_0.2.16-2yavdr1~trusty_amd64.deb
sudo apt install libusb-dev
sudo dpkg -i libhid-dev_0.2.16-2yavdr1~trusty_amd64.deb

A currently maintained GitHub repository for mphidflash can be found here: https://github.com/AdamLaurie/mphidflash
Use that to install mphidflash.
*Note: There’s something on that GitHub page about (maybe?) being able to use mphidflash with libusb, which is still maintained, but without libhid or libhid-dev. I don’t know if that’s now built into mphidflash or if you have to do something else to make it work, but as I’d already installed all the dependencies above, I didn’t worry about it. I suppose you could try installing mphidflash from there without libhid or libhid-dev and see if it works.

Finally, I had to type sudo before the commands to copy the firmware file to the directory with mphidflash, and again to install the firmware:


sudo cp -rT ~/Downloads/EBF_v263_BL.unified /usr/local/bin
sudo ./mphidflash -w EBF_v263_BL.unified.hex -r

With that, it updated correctly. Woot.

FAILED TO CONNECT TO EGGBOT. :(

After all that, with the firmware updated and the software installed, Inkscape could not connect to the Egg-Bot, sadface. Having updated the firmware, I knew the USB connection was basically good, so I figured it might be a permissions issue involving Inkscape. I ended up following these directions:

https://github.com/LairdCP/UwTerminalX/wiki/Granting-non-root-USB-device-access-(Linux)

That did it. Hello World.