{"id":"mcode-m64","model_id":"M64","name":"LinuxCNC M64","summary":"M64 is a LinuxCNC G-code M instruction that turns on a specified digital output immediately. The P word selects the output number, with a default range of 0 to 3 and possible expansion through num_dio. It is not synchronized with motion and can break blending.","study_notes":["M64 is one of four commands in the M62-M65 digital output group; M62/M63 are synchronized with motion and queued, while M64/M65 act immediately.","M64 is not synchronized with movement and will break blending.","M62-M65 will not function unless the appropriate motion.digital-out-nn pins are connected in the HAL file.","The number of digital I/O can be increased with the num_dio parameter when loading the motion controller."],"safety_notes":[],"sources":[{"url":"https://linuxcnc.org/docs/html/gcode/m-code.html#mcode:m62-m65","title":"M-Codes","accessed":"2026-10-26"}],"verification":{"status":"source_checked","checked_at":"2026-10-26","values":5,"method":"llm_source_check"},"updated_at":"2026-10-26","type":"instruction","spec":{"language":"gcode","code":"M64","group":"Digital Output Control","syntax":"M64 P-","parameters":[{"name":"P","description":"Specifies the digital output number. The P-word ranges from 0 to a default value of 3; num_dio can be used to increase the number of digital I/O when loading the motion controller."}],"dialect":"LinuxCNC","related":[],"standards":[]},"url":"https://machineschema.com/instruction/mcode-m64","license":"https://creativecommons.org/licenses/by/4.0/"}