Tuesday, May 27, 2014

I sat today to get OctoPrint to run a MR3020 router successfully. This is a long post, so stay with me. There are successful sub-steps documented elsewhere on the web, so I would link to them instead of putting them down here.

Devices Required
1) TP- Link MR3020 Wireless Router
2) A 4GB USB drive.
3)A 3d printer board

*****Steps beyond this have the capacity to void the router's warranty***

Installing OpenWRT on the router

1) Access the router
2) Navigate to the firmware update page
3) Upload the Openwrt Image and wait for the router to restart

See instructions here. For a router that has the barebones firmware from TP-link, use the webgui method which is recommended.

Setting a wireless AP and extending the flash capacity of the router
I followed a combination of guides given here and here

Unless the root file system has been successfully moved to the USB drive, do not continue steps further.

Setting up dependencies for OctoPrint

opkg update
opkg install python python-openssl kmod-usb-serial-pl2303 kmod-usb-serial-ftdi kmod-usb-acm distribute

Installing Octoprint
Download from the git repo for octoprint was done on my laptop, which had wamp running. I copied the zip file to my 'www' directory, started the wamp server, and executed the wget command with my laptop acting as the source of the files.

Once inside the unzipped Octoprint folder on your router, navigate to the folder Octoprint/Octoprint-master that has setup.py, and execute the following command

python setup.py build install

This step is successful will install Octoprint on the router.

With root credentials, you could test some initial stuff like connection and ports for octprint.

octoprint --iknowwhatimdoing

at the prompt.. This is using root credentials, hence its advisable to run as a non-root user. I tried this, but haven't got success owing to the limited memory on the router.

Create a non-root user and execute the commands with the python shell


The prompt will give you if the exeuction was successful and a URL with which the Octoprint server can be accessed.

navigate to the URL listed in the console, and you should be able to see the Octoprint startup page.

Friday, March 14, 2014

DIY Magnetic Delta Arm joint

I have in the recent past been gripped with the problem of choosing a better joint for delta arms on my 3d printer. Following is my criteria for choosing what is best. Importance decreases as we go in the list

1) Accurate and Error Free, no unwanted play in joint.
2) Reasonable good freedom of movement (30 degrees in any direction minimum)
3) Cheaply available or can be manufactured with access to semi skilled labour. Cost comparisons should include the entire arm assembly.
4) Ease of maintenance.

My first candidate was to use a POS6 ball joint. Here is a photo of this joint.

It required some thought process on how to use this in the best possible manner. The joint has a 26 degrees movement in one of the axis. The problem that I faced was with accuracy. The joint has some play, and the carriage itself would be slightly shaky, enough to ruin delicate parts. It is cheapely available( 1 USD), and the entire arm assembly can be laser cut in acrylic. I used two of these joints for a single arm, and two acrylic pieces of 6 inches X 10mm with holes on either sides to put a M6 bolt through them.

I then read about using a magnetic joint using a spherical metal ball and Neodymium Magnets. After doing some of my own research, I think I have been able to design a better joint. Here is what is required

1) A M6 Allen bolt
2) A M8 allen bolt
3) 1/2 inch Steel or MS sphere/ball.
4)  A neodymium magnet ring magnet. I used a magnet with an ID of 6mm, OD of 20mm and 6mm thick.

To construct the joint, push the M6 bolt through the magnet, enough that it touched the head of the bolt. Place the steel ball on the side of the bolt where you place the allen wrench. Place the second M8 bolt on the steel ball. This joint, for me satisfies all the above criterias, but is marginally expensive than the POS6.

Here is a quick photo of how the joint I made looks like.

I did a few measurements to measure the holding strength of the joint. I tied a plastic bag around the M8 bolt, and poured water inside the bag, until the join starts to give away. 250ml of water was measured, and it roughly equals 250gms.