{"id":17998110,"url":"https://github.com/cookiengineer/anet-a8-upgrades","last_synced_at":"2026-02-03T01:04:59.601Z","repository":{"id":142748894,"uuid":"88604752","full_name":"cookiengineer/anet-a8-upgrades","owner":"cookiengineer","description":":orange_book: Anet A8 Upgrade Tutorial - A Step-By-Step Guide","archived":false,"fork":false,"pushed_at":"2024-07-18T18:21:32.000Z","size":12442,"stargazers_count":136,"open_issues_count":0,"forks_count":29,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-06-25T13:53:13.563Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cookiengineer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"cookiengineer"}},"created_at":"2017-04-18T09:05:25.000Z","updated_at":"2025-06-25T05:54:59.000Z","dependencies_parsed_at":"2024-10-29T21:53:49.920Z","dependency_job_id":null,"html_url":"https://github.com/cookiengineer/anet-a8-upgrades","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cookiengineer/anet-a8-upgrades","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fanet-a8-upgrades","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fanet-a8-upgrades/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fanet-a8-upgrades/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fanet-a8-upgrades/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cookiengineer","download_url":"https://codeload.github.com/cookiengineer/anet-a8-upgrades/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cookiengineer%2Fanet-a8-upgrades/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29025530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T00:53:18.321Z","status":"ssl_error","status_checked_at":"2026-02-03T00:51:45.186Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-29T21:24:02.682Z","updated_at":"2026-02-03T01:04:59.583Z","avatar_url":"https://github.com/cookiengineer.png","language":null,"funding_links":["https://github.com/sponsors/cookiengineer"],"categories":[],"sub_categories":[],"readme":"\n# Anet A8 Upgrade Tutorial\n\nThis repository contains all necessary upgrades for the\nAnet A8 to increase its printing quality, sorted by\npriority and in a form of a step-by-step-for-noobs\nguide as it was a bit hard to find all the things on\nthe interwebz for me.\n\nHopefully this guide can help others upgrading their\nAnet A8 and ease up the process.\n\n\n\n## TL;DR Parts List\n\nThis is the third-party parts list that you will\nneed to buy to do all upgrades explained below\n\n- 2mm/4mm PTFE (teflon) tube (min. 50cm length)\n- 2.5mm GT2 timing belts (min. 200cm length)\n- 2x 4mm pneumatic adapter (tube feed)\n- 2x M5x50 screws\n- 2x M5 self-sealing nuts\n- 2x NEMA 17 stepper motors\n\nNote: The PTFE tube needs to have inner diameter\nof 2mm and outer diameter of 4mm. If you want to\nuse bigger filament diameters, change the pneumatic\nadapter sizes accordingly.\n\nImportant: The Z-Axis stepper motors should be\nreplaced with stronger 17-ones, as many users\n(including me) had troubles with a stuck Z-axis\nmotor driver that was too weak to lift the\nX-carriage.\n\n\n## Step-By-Step Guide\n\nThis Guide can be followed after you've already\nassembled your Anet A8 3D printer.\n\nThe [installation instructions](./instructions/installation-instructions.pdf)\nare also available.\n\nThe Anet A8 is delivered with varying power supplies.\nIf you are unsure on how to connect it, compare your\npower supply with [this photo](./instructions/power-supply.jpg).\n\nThe mainboard's schematics are also available at\n[this picture](./instructions/mainboard.jpg).\n\n**IMPORTANT**: The connectors for the power cables\nof the heatbed and extruder on the mainboard are of bad\nquality, it is important that you connect the cables with\nsome space to the insulation. Otherwise your cable\ninsulation will overheat and burn down.\n\nThe [printing quality troubleshooting guide](./instructions/quality-troubleshooting-guide.pdf)\nis also available in case some prints are deformed or broken.\n\n\n----------\n\n**1: Belt Tensioners, Belt Holders, GT2 Belts and Z-Wobble Fixes**\n\n\u003cimg src=\"./photos/z-wobblefix.jpg\" align=\"right\" width=\"128px\"\u003e\n\n\u003cimg src=\"./photos/y-tensioner.jpg\" align=\"right\" width=\"128px\"\u003e\n\n\u003cimg src=\"./photos/x-tensioner.jpg\" align=\"right\" width=\"128px\"\u003e\n\n\u003cimg src=\"./photos/x-holder.jpg\" align=\"right\" width=\"128px\"\u003e\n\nIf you can't use another printer, print these parts and\nimmediately upgrade the Anet A8 afterwards, so that later\nprints will have a better quality.\n\nSuggested print settings:\n\n90% honeycomb infill for all prints.\n\n* 0.12 mm layer height for x-belt holder and z wobble.\n* 0.2 mm layer height for the rest.\n\n- Print the [x-belt holder](./parts/belt-holders/x-belt_holder.stl) 1 time. \n- Print the y-belt holder [top](./parts/belt-holders/y-belt_holder-top.stl) and [bottom](./parts/belt-holders/y-belt_holder-bottom.stl) each 1 time. Su\n- Print the [x-belt tensioner](./parts/belt-tensioners/x-tensioner.stl) 1 time.\n- Print the y-belt [tensioner](./parts/belt-tensioners/y-tensioner.stl), [adapter](./parts/belt-tensioners/y-tensioner-adapter.stl) and [holder](./parts/belt-tensioners/y-tensioner-holder.stl) each 1 time.\n- Print the [z-wobble fix](./parts/z-wobble/z-wobblefix.stl) 1 time and the [t-corner](./parts/z-wobble/t-corner.stl) 2 times.\n\nInstall the belt tensioners, the belt holders, the t-corners\nand the z-wobble fixes on your Anet A8 printer.\n\nNote that the x-tensioner requires 2 M5 screws with at\nleast 35mm in length with matching self-sealing nuts.\nIn order to have some space left for not-so-tight belts,\nuse the M5x50 screws there.\n\nMake sure to use proper fiber-rubber GT2 belts, not the\nplastic OEM ones that came with the printer. It is best\nto buy a GT2 belt set, so that you have bigger cog wheels\nthat you can use for the bowden extruder upgrade :)\n\n\n----------\n\n**2: Glass Plate with Clip Holders**\n\n\u003cimg src=\"./photos/glass-plate.jpg\" align=\"right\" width=\"320px\"\u003e\n\n(Recommended) Install a glass plate with clip holders,\nso that you don't have to use that shitty print tape.\n\nInstall the clip holders so that they don't conflict\nwith the `0/0/0` (Home All) position of the extruder.\n\nWhen using a glass plate, it is recommended to use a\nsimple glue stick to make things sticky and to print\non it as the glass plate itself is too slick for the\ninitial layers of PLA or ABS.\n\nSome other people often recommend to increase the\ntemperature, but this will cause more problems than\nit solves. So just stick with the glue stick and\neverything is fine, cheap and will work perfectly.\n\n\n----------\n\n**3: Level the Heatbed**\n\nLeveling the heatbed is pain. It is recommended to level\nthe heatbed using a `mechanic's (water) level`. Make sure\nto have a flat, leveled underground under the printer.\n\nAfterwards follow [this instruction video](https://www.youtube.com/watch?v=O55x7B-MsE4)\nto level the heatbed correctly.\n\nTake your time; correctly leveling the heatbed is 50% of\nthe print quality. It's seriously important to be done\nright.\n\n\n----------\n\n**4: Replace Z-Axis Stepper Motors**\n\nThe OEM stepper motors are too weak to properly lift\nthe X-carriage. In my case, they broke down around 10 \nhours after printing, typical symptom is thatthe Z-axis \nmotors make a \"loud shredding noise\" and/or only one is \nreacting because the Z-motor driver on the main board \nalready broke down.\n\nTo avoid this, it is heavily recommended to replace the\nZ-axis motors with larger ones. I suggest 48 mm NEMA 17\nmotors, as they are quite a bit larger than the OEM ones\nbut still fit well inside the frame.\n\nThere is a list of commonly used NEMA 17 motors available\nfrom the [reprap wiki](http://reprap.org/wiki/NEMA_17_Stepper_motor).\n\nWiring-wise it is actually a lot of fiddle work. For me\nthe wiring was blue/black cross-paired and the outer two\nwires being normally connected.\n\nYou have to try this out yourself, as every stepper\nmotor is differently wired and every stepper cable seems\nto have different colors for each cable pair.\n\nIt takes a while, so grab a cup of camilla tea and stay\ncalm while doing it.\n\n\n----------\n\n**5: Download and Setup Cura Software**\n\nThe Cura software that comes with the USB Stick (or microSD\ncard) is outdated. Install the newest stable one from\n[ultimaker.com](https://ultimaker.com/en/products/cura-software).\n\nImportant Note for Linux users: Pretty much all packaged\nbuilds are totally broken, use the self-executing AppImage\nfrom the ultimaker website. (Seriously, it even doesn't work\non Arch)\n\nStart the Cura software, add a new printer (which is the\nwelcome dialog on first start).\n\nSelect `Custom` \u003e `FDM Printer`. The detailed printer\nsettings are these:\n\n```\n// Printer Settings\n\nx (width):  220mm\ny (depth):  220mm\nz (height): 240mm // use 235mm if heatbed has glass plate\n\nbuild plate shape: rectangular\nmachine center:    NOT zero\nheated bed:        yes\n\nPrinthead Settings\n\nx min: 0mm\ny min: 0mm\nx max: 0mm\ny max: 0mm\n\ngantry height: 0mm\nnozzle size:   0.4mm\n```\n\nSet the `GCode Flavor` to `RepRap (Marlin)`.\n\nEnter the following Start GCode:\n\n```gcode\nG21            ;metric values\nG90            ;absolute positioning\nM82            ;set extruder to absolute mode\nM107           ;start with the fan off\nG28 X0 Y0      ;move X/Y to min endstops\nG28 Z0         ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0         ;zero the extruded length\nG1 F200 E3     ;extrude 3mm of feed stock\nG92 E0         ;zero the extruded length again\nG1 F9000\nM117 Printing...\n```\n\nEnter the following End GCode:\n\n```gcode\nM104 S0                      ;extruder heater off\nM140 S0                      ;bed heater off\nG91                          ;relative positioning\nG1 E-1 F300                  ;retract the filament to release pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit\nG28 X0 Y0                    ;move X/Y to min endstops\nG90                          ;absolute positioning\nG1 Y190 F9000                ;(optional) move heatbed to front\nM84                          ;steppers off\n```\n\nNow go to `Settings \u003e Profiles \u003e Manage Profiles` and\nimport [this cura profile](./profiles/normal_quality.curaprofile).\n\nIt will lead to the correct settings that you need to make the\nAnet A8 print awesome results.\n\nYou can verify that your Anet A8 machine is correctly set up by\ncomparing the [machine\\_instances](./profiles/machine_instances)\nfolder with the one located at `~/.local/share/cura/machine_instances`.\n\n\n----------\n\n**6: Print the Calibration Cube**\n\n\u003cimg src=\"./photos/calibration-cube.jpg\" align=\"right\" width=\"100px\" height=\"100px\"\u003e\n\nNow it's time to test your settings. Make sure the printer\nis ready, has its filament, is correctly leveled and ready\nfor a test run.\n\nThe test run consists of a [Calibration Cube](./calibration_cube.stl),\nwhile setting infill to `50%` and printing it with support\nstructures.\n\nIf the cube is not `20mm` in all dimensions or its shape\ndoes not look like in the picture, you probably have a not\ncorrectly leveled heatbed and you should re-level it.\n\n\n----------\n\n**7: Upgrade the Spool Holder**\n\n\u003cimg src=\"./photos/spool-holder.jpg\" align=\"right\" width=\"128px\"\u003e\n\nThe OEM spool holder kinda sucks and does not work well\nwith a bowden setup due to causing more stress on the bowden\nextruder than is necessary.\n\n- Print the [spool holder bolt](./parts/spool-holder/spool-holder-bolt.stl) 1 time.\n- Print the [spool holder nut](./parts/spool-holder/spool-holder-nut.stl) 1 time.\n\nInstall the spool holder afterwards. Make sure that the feeding\nof the extruder motor is not hindered by other parts that are in\nthe way and that the filament is a straight line between spool\nholder and the extruder motor.\n\n----------\n\n**8: Upgrade to Bowden Extruder**\n\n\u003cimg src=\"./photos/bowden-motor.jpg\" align=\"right\" width=\"128px\"\u003e\n\n\u003cimg src=\"./photos/bowden-extruder.jpg\" align=\"right\" width=\"128px\"\u003e\n\nThe standard Anet A8 setup comes with an extruder motor\nmounted directly above the extruder. This causes more\nweight on the X-axis that has to be moved by the X-axis\nmotor and belt.\n\nThe bowden extruder upgrade allows the extruder motor to be\nmoved atop the frame, so that it both stabilizes the frame and\nallows the filament to be fed through a PTFE (teflon) tube.\n\n- Print the [motor block](./parts/bowden-extruder/motor-block.stl) part 1 time.\n- Print the [motor mount](./parts/bowden-extruder/motor-mount.stl) 1 time.\n- Print the [pneumatic adapter](./parts/bowden-extruder/pneumatic-adapter.stl) 2 times (1 replacement part, you will need it).\n- Print the [extruder button](./parts/bowden-extruder/extruder-button.stl) 1 time.\n\nInstall the motor parts as in the photo above, do the same for\nthe extruder. It is necessary to have the PTFE tube and the\npneumatic tube feeds available.\n\nAn important note here is that PTFE tube feeds have inch measurements,\nnot metric ones (as it's pneumatic hardware). So it is important to\nbuy a 3/8\" tube feed (~9.51mm), as M10 (~10.18mm) would be too big to\nfit the adapter. If you have an M6 thread cutter, it is recommended\nto use it for the smaller side of the pneumatic adapter, so that less\nstress is on the PLA (or ABS) material when being screwed into the\nmetal motor block on the X-carriage.\n\nMount the extruder motor on the top left of the printer's frame,\nso that the PTFE tube-side points to the front-left direction.\n\nMake sure that the cables and the PTFE tube don't conflict in\nthe whole movement area of the X-carriage.\n\nYour printer should now look like this:\n\n![printer-front](./photos/printer-front.jpg)\n\n\n\nImportant: The extruder motor will probably require a bigger\ncog wheel, because the OEM one is a little too small to feed\nthe filament properly.\n\nYou can use the ones that came with the GT2 belt set that you\nbought in step 1.\n\n\n----------\n\n**9: Upgrade Z-Endstop**\n\n\u003cimg src=\"./photos/z-endstop.jpg\" align=\"right\" width=\"128px\"\u003e\n\nThe Z-Endstop sucks hard. That's the truth, but there's a way\naround it. The better endstop is adjustable, so that no matter\nhow your heatbed looks like, you can simply adjust one screw\nwithout having to always recalibrate the endstop itself.\n\n- Print the [endstop mount](./parts/z-endstop/endstop_mount.stl) 1 time.\n- Print the [endstop holder](./parts/z-endstop/endstop_holder.stl) 1 time.\n- Print the [endstop cap](./parts/z-endstop/endstop_cap.stl) 1 time.\n\nInstall the Z-Endstop afterwards. If you reset the position to\n\"Home All\" in the printer's firmware menu, you can listen to the\nsound of the endstop.\n\nIt has to be mounted in a way that it's directly clicking and in\nthe \"Off\" position when you move the Z-Endstop adjustment screw\nby around 30deg.\n\nUse a couple of M3 washers to adjust the distance, so that the\ncap is able to hit the endstop correctly.\n\n\n----------\n\n**10: Fix the Heatbed Cable Connector**\n\nApparently most people build up the Anet A8 / Prusa i3 printer\nby mounting the heatbed in a way that the cables of the heatbed\nlead to the side and not to the back.\n\nAt first glimpse the Y-Cable Chain is a well-thought fix for\nhaving nice clean cables. Turns out out that this causes a\nburned cable connector because of too much stress.\n\n![heatbed-solder](./photos/heatbed-solder.jpg)\n\nIt is recommended to re-solder the heatbed, and to mount the\nheatbed in a way that the cables lead to the back, and NOT to\nthe side - so that the cables and soldered connections don't\nhave too much stress on them.\n\n![heatbed-wiring](./photos/heatbed-wiring.jpg)\n\n\u003cimg src=\"./photos/heatbed-solder-procedure-03.jpg\" align=\"right\" width=\"128px\"\u003e\n\u003cimg src=\"./photos/heatbed-solder-procedure-02.jpg\" align=\"right\" width=\"128px\"\u003e\n\u003cimg src=\"./photos/heatbed-solder-procedure-01.jpg\" align=\"right\" width=\"128px\"\u003e\n\nAt first your heatbed will stop working, and the heat will stop at the connector, eventually leading to a burnt connector or worse - [it's a fire hazard](http://forums.reprap.org/read.php?392,493405).\nThe procedure is fairly simple, even if you are new to soldering. Just be patient and remove any excess solder you may use.\nIf the old solder doesn't come off, put a bit of new solder on it and it will melt immediately.\n\nYou can try removing the wires and pulling the connector with pliers, it will come off with a bit of force. If you desolder and remove the outer pins you can still use a piece of the original connector - cut to fit - for the thermistor.\n\n\u003cimg src=\"./photos/heatbed-solder-procedure-05.jpg\" align=\"right\" width=\"128px\"\u003e\n\u003cimg src=\"./photos/heatbed-solder-procedure-04.jpg\" align=\"right\" width=\"128px\"\u003e\n\nYou should use an higher-gauge wire to connect the heatbed, the one that comes with the printer is too thin to carry the 10A used by the bed. A thicker cable means that the wire will stay colder when transferring current.\n\nRemember to insert heat-shrink tubing before soldering (keep it distant from the ends or it will shrink immediately) and put it between the wire and the metal frame of the bed. It shouldn't be an issue if the wire touches the coating at the bottom of the heatbed, but it's better to keep them separated.\n\n**Do not connect both** the + or - pins, the bed will be able to take up to 20A from the motherboard, leading to a burnt motherboard.\n\n----------\n\n**11: Upgrade Frame Braces**\n\nUnder heavy load the frame of the Anet A8 could potentially\ncrack the acryl plates. But don't worry, there's a fix for\nthat.\n\nIf you have placed the Anet A8 on a wooden plate, it is also\nbetter to mount it using the threaded frame holders.\n\n- Print out the [rear frame](./parts/frame-braces/frame-rear.stl) 1 time.\n- Print out the [threaded frame holder](./parts/frame-braces/frame-holder.stl) 6 times.\n\nInstall the rear frame and the threaded frame holders. The\nframe holders are best mounted on each side of the acryl\nframe, so that the acryl frame has less stress on it\nafterwards.\n\nUse wood screws to mount the frame holders and at least M4\nscrews to mount the rear frame.\n\n\n**XX: X-Axis Rework**\n\nThis is currently work-in-progress. The X-Axis rework can\nbe found in the [./parts/x-axis](./parts/x-axis) folder and\nit contains a modified X-motor mount with the integrated\nadjustable Z-endstop and adjustable X-tensioner.\n\nWhen this reworked X-Axis proves stable, I will replace the\nprevious steps accordingly.\n\n\n## Firmwares\n\nCurrently I run the stock OEM Anet A8 mainboard and the stock\nfirmware with my Bowden setup. This works perfectly so far,\nbut in case I switch to RAMPS in future, I put the firmware\nin the [./firmwares](./firmwares) folder.\n\n\n\n## Problems / Suggestions?\n\nIf you have suggestions or problems of any kind; feel free\nto open up an issue so that I can improve this guide!\n\nDon't forget to give a star if you liked it ;)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcookiengineer%2Fanet-a8-upgrades","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcookiengineer%2Fanet-a8-upgrades","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcookiengineer%2Fanet-a8-upgrades/lists"}