This is an old revision of the document!
After jerry-rigging an old i3 to work with a spare e3 mainboard, I have a lot of very useful information on setting up a marlin printer from scratch. Firstly, you want to make sure all the hardware is configured correctly and wired properly. This is mainboard-dependent, so make sure you reference relevant documentation for your mainboard of choice.
Some relevant reading material:
*.h files to Marlin/ in the repository.The following is a list of steps to take when setting up the configuration for your printer. Generally speaking if you have any calibrated values (i.e. extruder Esteps, hotend/bed PID parameters) you should get the values and then edit the ones in firmware so that your calibrated values are the defaults. There also may be need for post-firmware configuration (such as home offsets and zprobe offsets). The following is a general list of stuff to setup and make sure are present (I would hope the printer you are targeting has most of these features).
At a baseline, identify the following characteristics of the printer and change the configs to match:
Generally speaking, if you are running some commercially-available board, there will be a configuration in the examples on the marlin repository. If you are running a custom mainboard, why are you reading this?.
Configuration Checklist (reference marlin docs for additional prose):
PROBING_MARGIN to some value to offset the probe from bed edgesAdditionally, these are things you want to put in firmware after calibration:
This is for OrcaSlicer because I like it and it gives you the most granular settings control for the most general set of printers. When setting up a profile, I recommend basing your profile off of the generic printer profile in Orca, keeping in mind the firmware version (and this what gcode flavor) your printer is working in.
Base your default process template off a similar printer build. In the case of the i3, I could base it off any of the i3-style printers in Orca. I chose to base it off of what was working on my ender 3. Print both the Voron Cube and Benchy for a robust cover of most print moves/orientations.
If you have a probe that has temperature sensitivity (ie pinda v1/v2) you may want to home before configuring z offest or get within the ballpark then adjust with babystepping with a test print.
Heating Sequence
G1 Y1.0 Z3 F1000 ; move print head up M104 S[first_layer_temperature] ; set extruder temp M140 S[first_layer_bed_temperature] ; set bed temp G1 X0 Y0 F1000 ; move to orgin G0 Z100 F1000 ; Move head up for heating M190 S[first_layer_bed_temperature] ; wait for bed temp M109 S[first_layer_temperature] ; wait for extruder temp G1 Z0.3 F1000 ; move back down G92 E0.0 G1 Y1.0 Z0.3 F1000 ; move to neutral pos