3D Printers, Makers, DIY hacks, solutions and post printing tools

Created by Emil Pop on 13 April, 2018

I posted here and on other platforms looking for a collaborative code writer to help walking unbeaten paths in 3D printing, for I am a tuna fish trying to climb a tree when it comes to coding.


On Freelance

I had the surprise to have some responses (here nada, but one user that told me about freelance, I shall assume this platform is heavily avoided by code writers)


But I must decide their level of competency, might be bad, might be perfect fit, might even be way better than what I am looking for, how the hell do I know that just from the way they brag about it.


I shall give them 2 tests they cannot really cheat on (considering they run the tests from their own facilities and if they do not know some specific thing they can always run to forums and YouTube and get documented, hence cheating during the exam, I will put that as acceptable in my test considerations, since I cannot stop or prevent it).


Initial test is: knowledge and capacity


To test this shall give them a .zip file of Marlin firmware, virgin, as downloaded from the Marlin site. I shall do a small change somewhere as my signature, just to make sure I receive back the same .zip file with their work in it, so I can test their knowledge.

I shall describe them a printer and upload a video link to something that has the same mechanism as the one I can run my tests on, for clarity about what we are running the script on when back.

I will ask them to modify the firmware to make my printer perform normally when their firmware is being returned.

They are allowed to ask any questions they want to me if they need clarifications.


The Machine we shall apply this to a simple Cartesian Chinese printer of low quality that everybody complains about.

Why?

Simple, this is a piece of junk that I use as test-bed for anything, it was cheap hence I don't mind modifying it, cutting, adding, trying on it, a disaster to make it perform initially, the mechanics seems to be put together by the marketing department not by an engineer, a beginner engineer would of done better (now it does perform, don't ask...) and unlike good quality machines any error you do it is not pardoned, sticks out on the spot. So it is a good test bed to eliminate conceptual errors. And I do a lot of errors myself, hence I do not blame others for theirs.


Characteristics: 300X 300 print bed with a printable surface of X= 270mm, Y+ 280 mm with the dual nozzle, and Z= 400mm; plus error margin on all axis about 10 mm to the actual limit, just in case.

  • Y axis is moving the bed back and forth having the limit switch set at the min terminal in the Arduino board placed in the front of the machine and another one plugged in the max terminal of the Arduino board (I can flip them around anytime I want) and fitted in the opposite extreme of the Y traveling axis. Direct drive, no reduction on stepper motor, Nema 17 no name cheap something, turning a 16 teeth pulley of 9.4mm diameter on the teeth outer tip, with a 6mm G2T timing belt to move the Y. One complete spin of the motor axis moves the Y exactly 33.10 mm
  • X axis as seen in those videos is on a gantry that lifts up to accomplish the Z axis. Direct drive, no reduction on stepper motor, Nema 17 no name cheap something, turning a 16 teeth pulley of 9.4mm diameter on the teeth outer tip, with a 6mm G2T timing belt to move the X. Positioning having the limit switch set at the min terminal in the Arduino board placed in the X axis side of the motor just next to it (looking from the front to the back is on the left hand side). One complete spin of the motor axis moves the X exactly 32.40mm
  • Z axis used to have two motors using the same driver throughout a Y split electrical nonsense that was running them in series, I managed to zap some boards keeping that option, than I decided to eliminate one motor and place a central one with a 6mm G2T timing belt to move the Z axis without having anymore mechanical issues; hence one Nema 17 no name cheap something, turning a 20 teeth pulley of 11.9mm diameter on the teeth outer tip, that later on is turning the Z axis equipped with a 20 teeth pulley of 11.9mm diameter on the teeth outer tip for each rod. DC 6-36V Auto Leveling Sensor as in this link on Amazon One complete spin of the motor axis moves the Z exactly 7.97mm
  • The bowden extruders I made them up from some Amazon parts I bought and some Nema 17 No Name motors I have in stock, no reduction gears, turning an 11 mm diameter on the teeth outer tip filament carrier. One complete spin of the motor axis moves the filament exactly 31.23mm
  • the Arduino board is a Makerbase (I guess clone of) MKS GEN L V 1.0 running at 12 volt with the stepper drivers on it coded BT7221A
  • Nozzles, bronze or brass (something) 0.4 mm diameter, stuck in a heating block powered by 12 volt heating elements with generic NTC 3950 100K thermistor each. The distance of E1 nozzle is +25 mm on the X axis to the right of the E0 nozzle as seen from the front (towards max traveling extreme)


At this moment the printer is working fine thank you.


Will test it with each of the candidates firmware settings for a few prints, printing the same object every time and comparing it with the ones I already printed for reference.

E0 will run PETG filament and E1 will run support material filament (probably ABS since incompatible with PETG hence easy to remove)




Second test for whom passes the first one is: experience and capability.


Because in reality moving this prnter is maybe relevant for testing basic skills, but we shall move a not yet put togheter printer to be tuned for printing with steel wire and aluminium wire in FDM (no MIG welding) just like printing with polymers).


This is a bit more difficult, we will try to manage changes on the printer code on a chat discussion. I will state the desired result, and they will have to indicate me what to do in their own adjusted firmware to get there. I will evaluate how many attempts it takes, questions and answers, to get the job done, the quality of the asked questions and the quality of the collaborative answers I get. For each candidate i will use their own returned exam firmware, so they have no issues with somebody else's code choices that are not aware of.


If you have any other idea of what else should I put in these initial test please try to explain it in the comments.