My Marlin configs for Fabrikator Mini and CTC i3 Pro B
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170
  1. #ifndef PINS_H
  2. #define PINS_H
  3. #define X_MS1_PIN -1
  4. #define X_MS2_PIN -1
  5. #define Y_MS1_PIN -1
  6. #define Y_MS2_PIN -1
  7. #define Z_MS1_PIN -1
  8. #define Z_MS2_PIN -1
  9. #define E0_MS1_PIN -1
  10. #define E0_MS2_PIN -1
  11. #define E1_MS1_PIN -1
  12. #define E1_MS2_PIN -1
  13. #define DIGIPOTSS_PIN -1
  14. #if MOTHERBOARD == 99
  15. #define KNOWN_BOARD 1
  16. #define X_STEP_PIN 2
  17. #define X_DIR_PIN 3
  18. #define X_ENABLE_PIN -1
  19. #define X_STOP_PIN 16
  20. #define Y_STEP_PIN 5
  21. #define Y_DIR_PIN 6
  22. #define Y_ENABLE_PIN -1
  23. #define Y_STOP_PIN 67
  24. #define Z_STEP_PIN 62
  25. #define Z_DIR_PIN 63
  26. #define Z_ENABLE_PIN -1
  27. #define Z_STOP_PIN 59
  28. #define E0_STEP_PIN 65
  29. #define E0_DIR_PIN 66
  30. #define E0_ENABLE_PIN -1
  31. #define SDPOWER -1
  32. #define SDSS 53
  33. #define LED_PIN -1
  34. #define FAN_PIN -1
  35. #define PS_ON_PIN 9
  36. #define KILL_PIN -1
  37. #define HEATER_0_PIN 13
  38. #define HEATER_1_PIN -1
  39. #define HEATER_2_PIN -1
  40. #define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  41. #define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  42. #define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  43. #define HEATER_BED_PIN 4
  44. #define TEMP_BED_PIN 10
  45. #endif /* 99 */
  46. /****************************************************************************************
  47. * Gen7 v1.1, v1.2, v1.3 pin assignment
  48. *
  49. ****************************************************************************************/
  50. #if MOTHERBOARD == 12
  51. #define MOTHERBOARD 11
  52. #define GEN7_VERSION 13 // v1.3
  53. #endif
  54. #if MOTHERBOARD == 11
  55. #define KNOWN_BOARD
  56. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
  57. #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
  58. #endif
  59. #ifndef GEN7_VERSION
  60. #define GEN7_VERSION 12 // v1.x
  61. #endif
  62. //x axis pins
  63. #define X_STEP_PIN 19
  64. #define X_DIR_PIN 18
  65. #define X_ENABLE_PIN 24
  66. #define X_STOP_PIN 7
  67. //y axis pins
  68. #define Y_STEP_PIN 23
  69. #define Y_DIR_PIN 22
  70. #define Y_ENABLE_PIN 24
  71. #define Y_STOP_PIN 5
  72. //z axis pins
  73. #define Z_STEP_PIN 26
  74. #define Z_DIR_PIN 25
  75. #define Z_ENABLE_PIN 24
  76. #define Z_MIN_PIN 1
  77. #define Z_MAX_PIN 0
  78. //extruder pins
  79. #define E0_STEP_PIN 28
  80. #define E0_DIR_PIN 27
  81. #define E0_ENABLE_PIN 24
  82. #define TEMP_0_PIN 1
  83. #define TEMP_1_PIN -1
  84. #define TEMP_2_PIN -1
  85. #define TEMP_BED_PIN 2
  86. #define HEATER_0_PIN 4
  87. #define HEATER_1_PIN -1
  88. #define HEATER_2_PIN -1
  89. #define HEATER_BED_PIN 3
  90. #define KILL_PIN -1
  91. #define SDPOWER -1
  92. #define SDSS -1 // SCL pin of I2C header
  93. #define LED_PIN -1
  94. #if (GEN7_VERSION >= 13)
  95. // Gen7 v1.3 removed the fan pin
  96. #define FAN_PIN -1
  97. #else
  98. #define FAN_PIN 31
  99. #endif
  100. #define PS_ON_PIN 15
  101. //All these generations of Gen7 supply thermistor power
  102. //via PS_ON, so ignore bad thermistor readings
  103. #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
  104. //our pin for debugging.
  105. #define DEBUG_PIN 0
  106. //our RS485 pins
  107. #define TX_ENABLE_PIN 12
  108. #define RX_ENABLE_PIN 13
  109. #endif
  110. /****************************************************************************************
  111. * Gen7 v1.4 pin assignment
  112. *
  113. ****************************************************************************************/
  114. #if MOTHERBOARD == 13
  115. #define GEN7_VERSION 14 // v1.4
  116. #endif
  117. #if MOTHERBOARD == 13
  118. #define KNOWN_BOARD
  119. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
  120. #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
  121. #endif
  122. #ifndef GEN7_VERSION
  123. #define GEN7_VERSION 14 // v1.x
  124. #endif
  125. //x axis pins
  126. #define X_STEP_PIN 29
  127. #define X_DIR_PIN 28
  128. #define X_ENABLE_PIN 25
  129. #define X_STOP_PIN 0
  130. //y axis pins
  131. #define Y_STEP_PIN 27
  132. #define Y_DIR_PIN 26
  133. #define Y_ENABLE_PIN 25
  134. #define Y_STOP_PIN 1
  135. //z axis pins
  136. #define Z_STEP_PIN 23
  137. #define Z_DIR_PIN 22
  138. #define Z_ENABLE_PIN 25
  139. #define Z_STOP_PIN 2
  140. //extruder pins
  141. #define E0_STEP_PIN 19
  142. #define E0_DIR_PIN 18
  143. #define E0_ENABLE_PIN 25
  144. #define TEMP_0_PIN 1
  145. #define TEMP_1_PIN -1
  146. #define TEMP_2_PIN -1
  147. #define TEMP_BED_PIN 0
  148. #define HEATER_0_PIN 4
  149. #define HEATER_1_PIN -1
  150. #define HEATER_2_PIN -1
  151. #define HEATER_BED_PIN 3
  152. #define KILL_PIN -1
  153. #define SDPOWER -1
  154. #define SDSS -1 // SCL pin of I2C header
  155. #define LED_PIN -1
  156. #define FAN_PIN -1
  157. #define PS_ON_PIN 15
  158. //our pin for debugging.
  159. #define DEBUG_PIN 0
  160. //our RS485 pins
  161. #define TX_ENABLE_PIN 12
  162. #define RX_ENABLE_PIN 13
  163. #endif
  164. /*******************************************************************************
  165. *********
  166. * Gen7 Alfons3 pin assignment
  167. *
  168. ********************************************************************************
  169. ********/
  170. /* These Pins are assigned for the modified GEN7 Board from Alfons3 Please review the pins and adjust it for your needs*/
  171. #if MOTHERBOARD == 10
  172. #define KNOWN_BOARD
  173. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
  174. #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
  175. #endif
  176. //x axis pins
  177. #define X_STEP_PIN 21 // different from standard GEN7
  178. #define X_DIR_PIN 20 // different from standard GEN7
  179. #define X_ENABLE_PIN 24
  180. #define X_STOP_PIN 0
  181. //y axis pins
  182. #define Y_STEP_PIN 23
  183. #define Y_DIR_PIN 22
  184. #define Y_ENABLE_PIN 24
  185. #define Y_STOP_PIN 1
  186. //z axis pins
  187. #define Z_STEP_PIN 26
  188. #define Z_DIR_PIN 25
  189. #define Z_ENABLE_PIN 24
  190. #define Z_STOP_PIN 2
  191. //extruder pins
  192. #define E0_STEP_PIN 28
  193. #define E0_DIR_PIN 27
  194. #define E0_ENABLE_PIN 24
  195. #define TEMP_0_PIN 2
  196. #define TEMP_1_PIN -1
  197. #define TEMP_2_PIN -1
  198. #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
  199. #define HEATER_0_PIN 4
  200. #define HEATER_1_PIN -1
  201. #define HEATER_2_PIN -1
  202. #define HEATER_BED_PIN 3 // (bed)
  203. #define SDPOWER -1
  204. #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
  205. #define LED_PIN -1
  206. #define FAN_PIN -1
  207. #define PS_ON_PIN 19
  208. //our pin for debugging.
  209. #define DEBUG_PIN -1
  210. //our RS485 pins
  211. //#define TX_ENABLE_PIN 12
  212. //#define RX_ENABLE_PIN 13
  213. #define BEEPER -1
  214. #define SDCARDDETECT -1
  215. #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work
  216. #define KILL_PIN -1
  217. //Pins for 4bit LCD Support
  218. #define LCD_PINS_RS 18
  219. #define LCD_PINS_ENABLE 17
  220. #define LCD_PINS_D4 16
  221. #define LCD_PINS_D5 15
  222. #define LCD_PINS_D6 13
  223. #define LCD_PINS_D7 14
  224. //buttons are directly attached
  225. #define BTN_EN1 11
  226. #define BTN_EN2 10
  227. #define BTN_ENC 12 //the click
  228. #endif
  229. /****************************************************************************************
  230. * Arduino Mega pin assignment
  231. *
  232. ****************************************************************************************/
  233. #if MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
  234. #define KNOWN_BOARD 1
  235. //////////////////FIX THIS//////////////
  236. #ifndef __AVR_ATmega1280__
  237. #ifndef __AVR_ATmega2560__
  238. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  239. #endif
  240. #endif
  241. // uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
  242. // #define RAMPS_V_1_3
  243. // #define RAMPS_V_1_0
  244. #if MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
  245. #define LARGE_FLASH true
  246. #if MOTHERBOARD == 77
  247. #define X_STEP_PIN 54
  248. #define X_DIR_PIN 55
  249. #define X_ENABLE_PIN 38
  250. #define X_MIN_PIN 3
  251. #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  252. #define Y_STEP_PIN 60
  253. #define Y_DIR_PIN 61
  254. #define Y_ENABLE_PIN 56
  255. #define Y_MIN_PIN 14
  256. #define Y_MAX_PIN -1 //15
  257. #define Z_STEP_PIN 46
  258. #define Z_DIR_PIN 48
  259. #define Z_ENABLE_PIN 63
  260. #define Z_MIN_PIN 18
  261. #define Z_MAX_PIN -1
  262. #define Z2_STEP_PIN 36
  263. #define Z2_DIR_PIN 34
  264. #define Z2_ENABLE_PIN 30
  265. #define E0_STEP_PIN 26
  266. #define E0_DIR_PIN 28
  267. #define E0_ENABLE_PIN 24
  268. #define E1_STEP_PIN 36
  269. #define E1_DIR_PIN 34
  270. #define E1_ENABLE_PIN 30
  271. #define SDPOWER -1
  272. #define SDSS 25//53
  273. #define LED_PIN 13
  274. #define BEEPER 33
  275. #else
  276. #define X_STEP_PIN 54
  277. #define X_DIR_PIN 55
  278. #define X_ENABLE_PIN 38
  279. #define X_MIN_PIN 3
  280. #define X_MAX_PIN 2
  281. #define Y_STEP_PIN 60
  282. #define Y_DIR_PIN 61
  283. #define Y_ENABLE_PIN 56
  284. #define Y_MIN_PIN 14
  285. #define Y_MAX_PIN 15
  286. #define Z_STEP_PIN 46
  287. #define Z_DIR_PIN 48
  288. #define Z_ENABLE_PIN 62
  289. #define Z_MIN_PIN 18
  290. #define Z_MAX_PIN 19
  291. #define Z2_STEP_PIN 36
  292. #define Z2_DIR_PIN 34
  293. #define Z2_ENABLE_PIN 30
  294. #define E0_STEP_PIN 26
  295. #define E0_DIR_PIN 28
  296. #define E0_ENABLE_PIN 24
  297. #define E1_STEP_PIN 36
  298. #define E1_DIR_PIN 34
  299. #define E1_ENABLE_PIN 30
  300. #define SDPOWER -1
  301. #define SDSS 53
  302. #define LED_PIN 13
  303. #endif
  304. #if MOTHERBOARD == 33 || MOTHERBOARD == 35
  305. #define FAN_PIN 9 // (Sprinter config)
  306. #else
  307. #define FAN_PIN 4 // IO pin. Buffer needed
  308. #endif
  309. #if MOTHERBOARD == 77
  310. #define FAN_PIN 8
  311. #endif
  312. #if MOTHERBOARD == 35
  313. #define CONTROLLERFAN_PIN 10 //Pin used for the fan to cool controller
  314. #endif
  315. #define PS_ON_PIN 12
  316. #if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
  317. #define KILL_PIN 41
  318. #else
  319. #define KILL_PIN -1
  320. #endif
  321. #if MOTHERBOARD == 35
  322. #define HEATER_0_PIN 8
  323. #else
  324. #define HEATER_0_PIN 10 // EXTRUDER 1
  325. #endif
  326. #if MOTHERBOARD == 33
  327. #define HEATER_1_PIN -1
  328. #else
  329. #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter)
  330. #endif
  331. #define HEATER_2_PIN -1
  332. #if MOTHERBOARD == 77
  333. #define HEATER_0_PIN 10
  334. #define HEATER_1_PIN 12
  335. #define HEATER_2_PIN 6
  336. #endif
  337. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  338. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  339. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  340. #if MOTHERBOARD == 35
  341. #define HEATER_BED_PIN -1 // NO BED
  342. #else
  343. #if MOTHERBOARD == 77
  344. #define HEATER_BED_PIN 9 // BED
  345. #else
  346. #define HEATER_BED_PIN 8 // BED
  347. #endif
  348. #endif
  349. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  350. #ifdef NUM_SERVOS
  351. #define SERVO0_PIN 11
  352. #if NUM_SERVOS > 1
  353. #define SERVO1_PIN 6
  354. #endif
  355. #if NUM_SERVOS > 2
  356. #define SERVO2_PIN 5
  357. #endif
  358. #if NUM_SERVOS > 3
  359. #define SERVO3_PIN 4
  360. #endif
  361. #endif
  362. #ifdef ULTRA_LCD
  363. #ifdef NEWPANEL
  364. #define LCD_PINS_RS 16
  365. #define LCD_PINS_ENABLE 17
  366. #define LCD_PINS_D4 23
  367. #define LCD_PINS_D5 25
  368. #define LCD_PINS_D6 27
  369. #define LCD_PINS_D7 29
  370. #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER
  371. #define BEEPER 37
  372. #define BTN_EN1 31
  373. #define BTN_EN2 33
  374. #define BTN_ENC 35
  375. #define SDCARDDETECT 49
  376. #elif defined(LCD_I2C_PANELOLU2)
  377. #define BTN_EN1 47 //reverse if the encoder turns the wrong way.
  378. #define BTN_EN2 43
  379. #define BTN_ENC 32
  380. #define SDSS 53
  381. #define SDCARDDETECT -1
  382. #define KILL_PIN 41
  383. #define FAN_PIN 45
  384. #else
  385. //arduino pin which triggers an piezzo beeper
  386. #define BEEPER 33 // Beeper on AUX-4
  387. //buttons are directly attached using AUX-2
  388. #ifdef REPRAPWORLD_KEYPAD
  389. #define BTN_EN1 64 // encoder
  390. #define BTN_EN2 59 // encoder
  391. #define BTN_ENC 63 // enter button
  392. #define SHIFT_OUT 40 // shift register
  393. #define SHIFT_CLK 44 // shift register
  394. #define SHIFT_LD 42 // shift register
  395. #else
  396. #define BTN_EN1 37
  397. #define BTN_EN2 35
  398. #define BTN_ENC 31 //the click
  399. #endif
  400. #ifdef G3D_PANEL
  401. #define SDCARDDETECT 49
  402. #else
  403. #define SDCARDDETECT -1 // Ramps does not use this port
  404. #endif
  405. #endif
  406. #if MOTHERBOARD == 77
  407. #define BEEPER -1
  408. #define LCD_PINS_RS 27
  409. #define LCD_PINS_ENABLE 29
  410. #define LCD_PINS_D4 37
  411. #define LCD_PINS_D5 35
  412. #define LCD_PINS_D6 33
  413. #define LCD_PINS_D7 31
  414. //buttons
  415. #define BTN_EN1 16
  416. #define BTN_EN2 17
  417. #define BTN_ENC 23 //the click
  418. #endif
  419. #else //old style panel with shift register
  420. //arduino pin witch triggers an piezzo beeper
  421. #define BEEPER 33 //No Beeper added
  422. //buttons are attached to a shift register
  423. // Not wired this yet
  424. //#define SHIFT_CLK 38
  425. //#define SHIFT_LD 42
  426. //#define SHIFT_OUT 40
  427. //#define SHIFT_EN 17
  428. #define LCD_PINS_RS 16
  429. #define LCD_PINS_ENABLE 17
  430. #define LCD_PINS_D4 23
  431. #define LCD_PINS_D5 25
  432. #define LCD_PINS_D6 27
  433. #define LCD_PINS_D7 29
  434. #endif
  435. #endif //ULTRA_LCD
  436. #else // RAMPS_V_1_1 or RAMPS_V_1_2 as default (MOTHERBOARD == 3)
  437. #define X_STEP_PIN 26
  438. #define X_DIR_PIN 28
  439. #define X_ENABLE_PIN 24
  440. #define X_MIN_PIN 3
  441. #define X_MAX_PIN -1 //2
  442. #define Y_STEP_PIN 38
  443. #define Y_DIR_PIN 40
  444. #define Y_ENABLE_PIN 36
  445. #define Y_MIN_PIN 16
  446. #define Y_MAX_PIN -1 //17
  447. #define Z_STEP_PIN 44
  448. #define Z_DIR_PIN 46
  449. #define Z_ENABLE_PIN 42
  450. #define Z_MIN_PIN 18
  451. #define Z_MAX_PIN -1 //19
  452. #define E0_STEP_PIN 32
  453. #define E0_DIR_PIN 34
  454. #define E0_ENABLE_PIN 30
  455. #define SDPOWER 48
  456. #define SDSS 53
  457. #define LED_PIN 13
  458. #define PS_ON_PIN -1
  459. #define KILL_PIN -1
  460. #ifdef RAMPS_V_1_0 // RAMPS_V_1_0
  461. #define HEATER_0_PIN 12 // RAMPS 1.0
  462. #define HEATER_BED_PIN -1 // RAMPS 1.0
  463. #define FAN_PIN 11 // RAMPS 1.0
  464. #else // RAMPS_V_1_1 or RAMPS_V_1_2
  465. #define HEATER_0_PIN 10 // RAMPS 1.1
  466. #define HEATER_BED_PIN 8 // RAMPS 1.1
  467. #define FAN_PIN 9 // RAMPS 1.1
  468. #endif
  469. #define HEATER_1_PIN -1
  470. #define HEATER_2_PIN -1
  471. #define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  472. #define TEMP_1_PIN -1
  473. #define TEMP_2_PIN -1
  474. #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  475. #endif // MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
  476. // SPI for Max6675 Thermocouple
  477. #ifndef SDSUPPORT
  478. // these pins are defined in the SD library if building with SD support
  479. #define MAX_SCK_PIN 52
  480. #define MAX_MISO_PIN 50
  481. #define MAX_MOSI_PIN 51
  482. #define MAX6675_SS 53
  483. #else
  484. #define MAX6675_SS 49
  485. #endif
  486. #endif //MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
  487. /****************************************************************************************
  488. * Duemilanove w/ ATMega328P pin assignment
  489. *
  490. ****************************************************************************************/
  491. #if MOTHERBOARD == 4
  492. #define KNOWN_BOARD 1
  493. #ifndef __AVR_ATmega328P__
  494. #error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
  495. #endif
  496. #define X_STEP_PIN 19
  497. #define X_DIR_PIN 18
  498. #define X_ENABLE_PIN -1
  499. #define X_STOP_PIN 17
  500. #define Y_STEP_PIN 10
  501. #define Y_DIR_PIN 7
  502. #define Y_ENABLE_PIN -1
  503. #define Y_STOP_PIN 8
  504. #define Z_STEP_PIN 13
  505. #define Z_DIR_PIN 3
  506. #define Z_ENABLE_PIN 2
  507. #define Z_STOP_PIN 4
  508. #define E0_STEP_PIN 11
  509. #define E0_DIR_PIN 12
  510. #define E0_ENABLE_PIN -1
  511. #define SDPOWER -1
  512. #define SDSS -1
  513. #define LED_PIN -1
  514. #define FAN_PIN 5
  515. #define PS_ON_PIN -1
  516. #define KILL_PIN -1
  517. #define HEATER_0_PIN 6
  518. #define HEATER_1_PIN -1
  519. #define HEATER_2_PIN -1
  520. #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  521. #define TEMP_1_PIN -1
  522. #define TEMP_2_PIN -1
  523. #define HEATER_BED_PIN -1
  524. #define TEMP_BED_PIN -1
  525. #endif
  526. /****************************************************************************************
  527. * Elefu RA Board Pin Assignments
  528. *
  529. ****************************************************************************************/
  530. #if MOTHERBOARD == 21
  531. #define KNOWN_BOARD 1
  532. #ifndef __AVR_ATmega2560__
  533. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  534. #endif
  535. #define X_STEP_PIN 49
  536. #define X_DIR_PIN 13
  537. #define X_ENABLE_PIN 48
  538. #define X_MIN_PIN 35
  539. #define X_MAX_PIN -1 //34
  540. #define Y_STEP_PIN 11
  541. #define Y_DIR_PIN 9
  542. #define Y_ENABLE_PIN 12
  543. #define Y_MIN_PIN 33
  544. #define Y_MAX_PIN -1 //32
  545. #define Z_STEP_PIN 7
  546. #define Z_DIR_PIN 6
  547. #define Z_ENABLE_PIN 8
  548. #define Z_MIN_PIN 31
  549. #define Z_MAX_PIN -1 //30
  550. #define E2_STEP_PIN 43
  551. #define E2_DIR_PIN 47
  552. #define E2_ENABLE_PIN 42
  553. #define E1_STEP_PIN 18
  554. #define E1_DIR_PIN 19
  555. #define E1_ENABLE_PIN 38
  556. #define E0_STEP_PIN 40
  557. #define E0_DIR_PIN 41
  558. #define E0_ENABLE_PIN 37
  559. #define SDPOWER -1
  560. #define LED_PIN -1 //Use +12V Aux port for LED Ring
  561. #define FAN_PIN 16 //5V PWM
  562. #define PS_ON_PIN 10 //Set to -1 if using a manual switch on the PWRSW Connector
  563. #define SLEEP_WAKE_PIN 26 //This feature still needs work
  564. #define HEATER_0_PIN 45 //12V PWM1
  565. #define HEATER_1_PIN 46 //12V PWM2
  566. #define HEATER_2_PIN 17 //12V PWM3
  567. #define HEATER_BED_PIN 44 //DOUBLE 12V PWM
  568. #define TEMP_0_PIN 3 //ANALOG NUMBERING
  569. #define TEMP_1_PIN 2 //ANALOG NUMBERING
  570. #define TEMP_2_PIN 1 //ANALOG NUMBERING
  571. #define TEMP_BED_PIN 0 //ANALOG NUMBERING
  572. #define BEEPER 36
  573. #define KILL_PIN -1
  574. // M240 Triggers a camera by emulating a Canon RC-1 Remote
  575. // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
  576. #define PHOTOGRAPH_PIN 29
  577. #ifdef RA_CONTROL_PANEL
  578. #define SDSS 53
  579. #define SDCARDDETECT 28
  580. #define BTN_EN1 14
  581. #define BTN_EN2 39
  582. #define BTN_ENC 15 //the click
  583. #define BLEN_C 2
  584. #define BLEN_B 1
  585. #define BLEN_A 0
  586. //encoder rotation values
  587. #define encrot0 0
  588. #define encrot1 2
  589. #define encrot2 3
  590. #define encrot3 1
  591. #endif //RA_CONTROL_PANEL
  592. #ifdef RA_DISCO
  593. //variables for which pins the TLC5947 is using
  594. #define TLC_CLOCK_PIN 25
  595. #define TLC_BLANK_PIN 23
  596. #define TLC_XLAT_PIN 22
  597. #define TLC_DATA_PIN 24
  598. //We also need to define pin to port number mapping for the 2560 to match the pins listed above. If you change the TLC pins, update this as well per the 2560 datasheet!
  599. //This currently only works with the RA Board.
  600. #define TLC_CLOCK_BIT 3 //bit 3 on port A
  601. #define TLC_CLOCK_PORT &PORTA //bit 3 on port A
  602. #define TLC_BLANK_BIT 1 //bit 1 on port A
  603. #define TLC_BLANK_PORT &PORTA //bit 1 on port A
  604. #define TLC_DATA_BIT 2 //bit 2 on port A
  605. #define TLC_DATA_PORT &PORTA //bit 2 on port A
  606. #define TLC_XLAT_BIT 0 //bit 0 on port A
  607. #define TLC_XLAT_PORT &PORTA //bit 0 on port A
  608. //change this to match your situation. Lots of TLCs takes up the arduino SRAM very quickly, so be careful
  609. //Leave it at at least 1 if you have enabled RA_LIGHTING
  610. //The number of TLC5947 boards chained together for use with the animation, additional ones will repeat the animation on them, but are not individually addressable and mimic those before them. You can leave the default at 2 even if you only have 1 TLC5947 module.
  611. #define NUM_TLCS 2
  612. //These TRANS_ARRAY values let you change the order the LEDs on the lighting modules will animate for chase functions.
  613. //Modify them according to your specific situation.
  614. //NOTE: the array should be 8 long for every TLC you have. These defaults assume (2) TLCs.
  615. #define TRANS_ARRAY {0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8} //forwards
  616. //#define TRANS_ARRAY {7, 6, 5, 4, 3, 2, 1, 0, 8, 9, 10, 11, 12, 13, 14, 15} //backwards
  617. #endif //RA_LIGHTING
  618. #endif /* Ra Board */
  619. /****************************************************************************************
  620. * Gen6 pin assignment
  621. *
  622. ****************************************************************************************/
  623. #if MOTHERBOARD == 5 || MOTHERBOARD == 51
  624. #define KNOWN_BOARD 1
  625. #ifndef __AVR_ATmega644P__
  626. #ifndef __AVR_ATmega1284P__
  627. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  628. #endif
  629. #endif
  630. //x axis pins
  631. #define X_STEP_PIN 15
  632. #define X_DIR_PIN 18
  633. #define X_ENABLE_PIN 19
  634. #define X_STOP_PIN 20
  635. //y axis pins
  636. #define Y_STEP_PIN 23
  637. #define Y_DIR_PIN 22
  638. #define Y_ENABLE_PIN 24
  639. #define Y_STOP_PIN 25
  640. //z axis pins
  641. #define Z_STEP_PIN 27
  642. #define Z_DIR_PIN 28
  643. #define Z_ENABLE_PIN 29
  644. #define Z_STOP_PIN 30
  645. //extruder pins
  646. #define E0_STEP_PIN 4 //Edited @ EJE Electronics 20100715
  647. #define E0_DIR_PIN 2 //Edited @ EJE Electronics 20100715
  648. #define E0_ENABLE_PIN 3 //Added @ EJE Electronics 20100715
  649. #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410
  650. #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410
  651. #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410
  652. #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410
  653. #define HEATER_1_PIN -1
  654. #define HEATER_2_PIN -1
  655. #if MOTHERBOARD == 5
  656. #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410
  657. #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410
  658. #else
  659. #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410
  660. #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410
  661. #endif
  662. #define SDPOWER -1
  663. #define SDSS 17
  664. #define LED_PIN -1 //changed @ rkoeppl 20110410
  665. #define FAN_PIN -1 //changed @ rkoeppl 20110410
  666. #define PS_ON_PIN -1 //changed @ rkoeppl 20110410
  667. #define KILL_PIN -1 //changed @ drakelive 20120830
  668. //our pin for debugging.
  669. #define DEBUG_PIN 0
  670. //our RS485 pins
  671. #define TX_ENABLE_PIN 12
  672. #define RX_ENABLE_PIN 13
  673. #endif
  674. /****************************************************************************************
  675. * Sanguinololu pin assignment
  676. *
  677. ****************************************************************************************/
  678. #if MOTHERBOARD == 64
  679. #define STB
  680. #endif
  681. #if MOTHERBOARD == 63 || MOTHERBOARD == 66
  682. #define MELZI
  683. #endif
  684. #if MOTHERBOARD == 65
  685. #define AZTEEG_X1
  686. #endif
  687. #if MOTHERBOARD == 62 || MOTHERBOARD == 63 || MOTHERBOARD == 64 || MOTHERBOARD == 65 || MOTHERBOARD == 66
  688. #undef MOTHERBOARD
  689. #define MOTHERBOARD 6
  690. #define SANGUINOLOLU_V_1_2
  691. #endif
  692. #if MOTHERBOARD == 6
  693. #define KNOWN_BOARD 1
  694. #ifndef __AVR_ATmega644P__
  695. #ifndef __AVR_ATmega1284P__
  696. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  697. #endif
  698. #endif
  699. #define X_STEP_PIN 15
  700. #define X_DIR_PIN 21
  701. #define X_STOP_PIN 18
  702. #define Y_STEP_PIN 22
  703. #define Y_DIR_PIN 23
  704. #define Y_STOP_PIN 19
  705. #define Z_STEP_PIN 3
  706. #define Z_DIR_PIN 2
  707. #define Z_STOP_PIN 20
  708. #define E0_STEP_PIN 1
  709. #define E0_DIR_PIN 0
  710. #define LED_PIN -1
  711. #define FAN_PIN -1
  712. #if FAN_PIN == 12 || FAN_PIN ==13
  713. #define FAN_SOFT_PWM
  714. #endif
  715. #ifdef MELZI
  716. #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */
  717. #define FAN_PIN 4
  718. #endif
  719. #ifdef STB
  720. #define FAN_PIN 4
  721. // Uncomment this if you have the first generation (V1.10) of STBs board
  722. #define LCD_PIN_BL 17 // LCD backlight LED
  723. #endif
  724. #ifdef AZTEEG_X1
  725. #define FAN_PIN 4
  726. #endif
  727. #define PS_ON_PIN -1
  728. #define KILL_PIN -1
  729. #define HEATER_0_PIN 13 // (extruder)
  730. #define HEATER_1_PIN -1
  731. #define HEATER_2_PIN -1
  732. #ifdef SANGUINOLOLU_V_1_2
  733. #define HEATER_BED_PIN 12 // (bed)
  734. #define X_ENABLE_PIN 14
  735. #define Y_ENABLE_PIN 14
  736. #define Z_ENABLE_PIN 26
  737. #define E0_ENABLE_PIN 14
  738. #else
  739. #define HEATER_BED_PIN 14 // (bed)
  740. #define X_ENABLE_PIN -1
  741. #define Y_ENABLE_PIN -1
  742. #define Z_ENABLE_PIN -1
  743. #define E0_ENABLE_PIN -1
  744. #endif
  745. #define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
  746. #define TEMP_1_PIN -1
  747. #define TEMP_2_PIN -1
  748. #define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
  749. #define SDPOWER -1
  750. #define SDSS 31
  751. /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */
  752. //#define SDSS 24
  753. #ifdef ULTRA_LCD
  754. #ifdef NEWPANEL
  755. //we have no buzzer installed
  756. #define BEEPER -1
  757. //LCD Pins
  758. #ifdef DOGLCD
  759. // Pins for DOGM SPI LCD Support
  760. #define DOGLCD_A0 30
  761. #define DOGLCD_CS 29
  762. // GLCD features
  763. #define LCD_CONTRAST 1
  764. // Uncomment screen orientation
  765. // #define LCD_SCREEN_ROT_0
  766. // #define LCD_SCREEN_ROT_90
  767. #define LCD_SCREEN_ROT_180
  768. // #define LCD_SCREEN_ROT_270
  769. #else // standard Hitachi LCD controller
  770. #define LCD_PINS_RS 4
  771. #define LCD_PINS_ENABLE 17
  772. #define LCD_PINS_D4 30
  773. #define LCD_PINS_D5 29
  774. #define LCD_PINS_D6 28
  775. #define LCD_PINS_D7 27
  776. #endif
  777. //The encoder and click button
  778. #define BTN_EN1 11
  779. #define BTN_EN2 10
  780. #ifdef LCD_I2C_PANELOLU2
  781. #ifdef MELZI
  782. #define BTN_ENC 29 //the click switch
  783. #define SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board
  784. #else
  785. #define BTN_ENC 30 //the click switch
  786. #endif
  787. #else
  788. #define BTN_ENC 16 //the click switch
  789. #endif //Panelolu2
  790. //not connected to a pin
  791. #define SDCARDDETECT -1
  792. #endif //Newpanel
  793. #endif //Ultipanel
  794. #ifdef MAKRPANEL
  795. #define BEEPER 29
  796. // Pins for DOGM SPI LCD Support
  797. #define DOGLCD_A0 30
  798. #define DOGLCD_CS 17
  799. #define LCD_PIN_BL 28 // backlight LED on PA3
  800. // GLCD features
  801. #define LCD_CONTRAST 1
  802. // Uncomment screen orientation
  803. #define LCD_SCREEN_ROT_0
  804. // #define LCD_SCREEN_ROT_90
  805. // #define LCD_SCREEN_ROT_180
  806. // #define LCD_SCREEN_ROT_270
  807. //The encoder and click button
  808. #define BTN_EN1 11
  809. #define BTN_EN2 10
  810. #define BTN_ENC 16 //the click switch
  811. //not connected to a pin
  812. #define SDCARDDETECT -1
  813. #endif //Makrpanel
  814. #endif
  815. #if MOTHERBOARD == 7
  816. #define KNOWN_BOARD
  817. /*****************************************************************
  818. * Ultimaker pin assignment
  819. ******************************************************************/
  820. #ifndef __AVR_ATmega1280__
  821. #ifndef __AVR_ATmega2560__
  822. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  823. #endif
  824. #endif
  825. #define LARGE_FLASH true
  826. #define X_STEP_PIN 25
  827. #define X_DIR_PIN 23
  828. #define X_MIN_PIN 22
  829. #define X_MAX_PIN 24
  830. #define X_ENABLE_PIN 27
  831. #define Y_STEP_PIN 31
  832. #define Y_DIR_PIN 33
  833. #define Y_MIN_PIN 26
  834. #define Y_MAX_PIN 28
  835. #define Y_ENABLE_PIN 29
  836. #define Z_STEP_PIN 37
  837. #define Z_DIR_PIN 39
  838. #define Z_MIN_PIN 30
  839. #define Z_MAX_PIN 32
  840. #define Z_ENABLE_PIN 35
  841. #define HEATER_BED_PIN 4
  842. #define TEMP_BED_PIN 10
  843. #define HEATER_0_PIN 2
  844. #define TEMP_0_PIN 8
  845. #define HEATER_1_PIN 3
  846. #define TEMP_1_PIN 9
  847. #define HEATER_2_PIN -1
  848. #define TEMP_2_PIN -1
  849. #define E0_STEP_PIN 43
  850. #define E0_DIR_PIN 45
  851. #define E0_ENABLE_PIN 41
  852. #define E1_STEP_PIN 49
  853. #define E1_DIR_PIN 47
  854. #define E1_ENABLE_PIN 48
  855. #define SDPOWER -1
  856. #define SDSS 53
  857. #define LED_PIN 13
  858. #define FAN_PIN 7
  859. #define PS_ON_PIN 12
  860. #define KILL_PIN -1
  861. #define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing.
  862. #ifdef ULTRA_LCD
  863. #ifdef NEWPANEL
  864. //arduino pin witch triggers an piezzo beeper
  865. #define BEEPER 18
  866. #define LCD_PINS_RS 20
  867. #define LCD_PINS_ENABLE 17
  868. #define LCD_PINS_D4 16
  869. #define LCD_PINS_D5 21
  870. #define LCD_PINS_D6 5
  871. #define LCD_PINS_D7 6
  872. //buttons are directly attached
  873. #define BTN_EN1 40
  874. #define BTN_EN2 42
  875. #define BTN_ENC 19 //the click
  876. #define SDCARDDETECT 38
  877. #else //old style panel with shift register
  878. //arduino pin witch triggers an piezzo beeper
  879. #define BEEPER 18
  880. //buttons are attached to a shift register
  881. #define SHIFT_CLK 38
  882. #define SHIFT_LD 42
  883. #define SHIFT_OUT 40
  884. #define SHIFT_EN 17
  885. #define LCD_PINS_RS 16
  886. #define LCD_PINS_ENABLE 5
  887. #define LCD_PINS_D4 6
  888. #define LCD_PINS_D5 21
  889. #define LCD_PINS_D6 20
  890. #define LCD_PINS_D7 19
  891. #define SDCARDDETECT -1
  892. #endif
  893. #endif //ULTRA_LCD
  894. #endif
  895. #if MOTHERBOARD == 71
  896. #define KNOWN_BOARD
  897. /*****************************************************************
  898. * Ultimaker pin assignment (Old electronics)
  899. ******************************************************************/
  900. #ifndef __AVR_ATmega1280__
  901. #ifndef __AVR_ATmega2560__
  902. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  903. #endif
  904. #endif
  905. #define LARGE_FLASH true
  906. #define X_STEP_PIN 25
  907. #define X_DIR_PIN 23
  908. #define X_MIN_PIN 15
  909. #define X_MAX_PIN 14
  910. #define X_ENABLE_PIN 27
  911. #define Y_STEP_PIN 31
  912. #define Y_DIR_PIN 33
  913. #define Y_MIN_PIN 17
  914. #define Y_MAX_PIN 16
  915. #define Y_ENABLE_PIN 29
  916. #define Z_STEP_PIN 37
  917. #define Z_DIR_PIN 39
  918. #define Z_MIN_PIN 19
  919. #define Z_MAX_PIN 18
  920. #define Z_ENABLE_PIN 35
  921. #define HEATER_BED_PIN -1
  922. #define TEMP_BED_PIN -1
  923. #define HEATER_0_PIN 2
  924. #define TEMP_0_PIN 8
  925. #define HEATER_1_PIN 1
  926. #define TEMP_1_PIN 1
  927. #define HEATER_2_PIN -1
  928. #define TEMP_2_PIN -1
  929. #define E0_STEP_PIN 43
  930. #define E0_DIR_PIN 45
  931. #define E0_ENABLE_PIN 41
  932. #define E1_STEP_PIN -1
  933. #define E1_DIR_PIN -1
  934. #define E1_ENABLE_PIN -1
  935. #define SDPOWER -1
  936. #define SDSS -1
  937. #define LED_PIN -1
  938. #define FAN_PIN -1
  939. #define PS_ON_PIN -1
  940. #define KILL_PIN -1
  941. #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
  942. #define LCD_PINS_RS 24
  943. #define LCD_PINS_ENABLE 22
  944. #define LCD_PINS_D4 36
  945. #define LCD_PINS_D5 34
  946. #define LCD_PINS_D6 32
  947. #define LCD_PINS_D7 30
  948. #endif
  949. /****************************************************************************************
  950. * RUMBA pin assignment
  951. *
  952. ****************************************************************************************/
  953. #if MOTHERBOARD == 80
  954. #define KNOWN_BOARD 1
  955. #ifndef __AVR_ATmega2560__
  956. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  957. #endif
  958. #define X_STEP_PIN 17
  959. #define X_DIR_PIN 16
  960. #define X_ENABLE_PIN 48
  961. #define X_MIN_PIN 37
  962. #define X_MAX_PIN 36
  963. #define Y_STEP_PIN 54
  964. #define Y_DIR_PIN 47
  965. #define Y_ENABLE_PIN 55
  966. #define Y_MIN_PIN 35
  967. #define Y_MAX_PIN 34
  968. #define Z_STEP_PIN 57
  969. #define Z_DIR_PIN 56
  970. #define Z_ENABLE_PIN 62
  971. #define Z_MIN_PIN 33
  972. #define Z_MAX_PIN 32
  973. #define E0_STEP_PIN 23
  974. #define E0_DIR_PIN 22
  975. #define E0_ENABLE_PIN 24
  976. #define E1_STEP_PIN 26
  977. #define E1_DIR_PIN 25
  978. #define E1_ENABLE_PIN 27
  979. #define E2_STEP_PIN 29
  980. #define E2_DIR_PIN 28
  981. #define E2_ENABLE_PIN 39
  982. #define LED_PIN 13
  983. #define FAN_PIN 7
  984. //additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8
  985. #define PS_ON_PIN 45
  986. #define KILL_PIN 46
  987. #if (TEMP_SENSOR_0==0)
  988. #define TEMP_0_PIN -1
  989. #define HEATER_0_PIN -1
  990. #else
  991. #define HEATER_0_PIN 2 // EXTRUDER 1
  992. #if (TEMP_SENSOR_0==-1)
  993. #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used
  994. #else
  995. #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used
  996. #endif
  997. #endif
  998. #if (TEMP_SENSOR_1==0)
  999. #define TEMP_1_PIN -1
  1000. #define HEATER_1_PIN -1
  1001. #else
  1002. #define HEATER_1_PIN 3 // EXTRUDER 2
  1003. #if (TEMP_SENSOR_1==-1)
  1004. #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used
  1005. #else
  1006. #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used
  1007. #endif
  1008. #endif
  1009. #if (TEMP_SENSOR_2==0)
  1010. #define TEMP_2_PIN -1
  1011. #define HEATER_2_PIN -1
  1012. #else
  1013. #define HEATER_2_PIN 6 // EXTRUDER 3
  1014. #if (TEMP_SENSOR_2==-1)
  1015. #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple
  1016. #else
  1017. #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used
  1018. #endif
  1019. #endif
  1020. //optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used
  1021. //optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4
  1022. #if (TEMP_SENSOR_BED==0)
  1023. #define TEMP_BED_PIN -1
  1024. #define HEATER_BED_PIN -1
  1025. #else
  1026. #define HEATER_BED_PIN 9 // BED
  1027. #if (TEMP_SENSOR_BED==-1)
  1028. #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple
  1029. #else
  1030. #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used
  1031. #endif
  1032. #endif
  1033. #define SDPOWER -1
  1034. #define SDSS 53
  1035. #define SDCARDDETECT 49
  1036. #define BEEPER 44
  1037. #define LCD_PINS_RS 19
  1038. #define LCD_PINS_ENABLE 42
  1039. #define LCD_PINS_D4 18
  1040. #define LCD_PINS_D5 38
  1041. #define LCD_PINS_D6 41
  1042. #define LCD_PINS_D7 40
  1043. #define BTN_EN1 11
  1044. #define BTN_EN2 12
  1045. #define BTN_ENC 43
  1046. #endif //MOTHERBOARD==80
  1047. /****************************************************************************************
  1048. * Teensylu 0.7 / Printrboard pin assignments (AT90USB1286)
  1049. * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
  1050. http://www.pjrc.com/teensy/teensyduino.html
  1051. * See http://reprap.org/wiki/Printrboard for more info
  1052. ****************************************************************************************/
  1053. #if MOTHERBOARD == 8 || MOTHERBOARD == 81
  1054. #define KNOWN_BOARD 1
  1055. #define AT90USB 1286 // Disable MarlinSerial etc.
  1056. #ifndef __AVR_AT90USB1286__
  1057. #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
  1058. #endif
  1059. #define LARGE_FLASH true
  1060. #define X_STEP_PIN 0
  1061. #define X_DIR_PIN 1
  1062. #define X_ENABLE_PIN 39
  1063. #define Y_STEP_PIN 2
  1064. #define Y_DIR_PIN 3
  1065. #define Y_ENABLE_PIN 38
  1066. #define Z_STEP_PIN 4
  1067. #define Z_DIR_PIN 5
  1068. #define Z_ENABLE_PIN 23
  1069. #define E0_STEP_PIN 6
  1070. #define E0_DIR_PIN 7
  1071. #define E0_ENABLE_PIN 19
  1072. #define HEATER_0_PIN 21 // Extruder
  1073. #define HEATER_1_PIN -1
  1074. #define HEATER_2_PIN -1
  1075. #define HEATER_BED_PIN 20 // Bed
  1076. #define FAN_PIN 22 // Fan
  1077. // You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h
  1078. // for the fan and Teensyduino uses a different pin mapping.
  1079. #if MOTHERBOARD == 8 // Teensylu
  1080. #define X_STOP_PIN 13
  1081. #define Y_STOP_PIN 14
  1082. #define Z_STOP_PIN 15
  1083. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1084. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1085. #else // Printrboard
  1086. #define X_STOP_PIN 35
  1087. #define Y_STOP_PIN 8
  1088. #define Z_STOP_PIN 36
  1089. #define TEMP_0_PIN 1 // Extruder / Analog pin numbering
  1090. #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
  1091. #endif
  1092. #define TEMP_1_PIN -1
  1093. #define TEMP_2_PIN -1
  1094. #define SDPOWER -1
  1095. #define SDSS 8
  1096. #define LED_PIN -1
  1097. #define PS_ON_PIN -1
  1098. #define KILL_PIN -1
  1099. #define ALARM_PIN -1
  1100. #ifndef SDSUPPORT
  1101. // these pins are defined in the SD library if building with SD support
  1102. #define SCK_PIN 9
  1103. #define MISO_PIN 11
  1104. #define MOSI_PIN 10
  1105. #endif
  1106. #endif // MOTHERBOARD == 8 (Teensylu) or 81 (Printrboard)
  1107. /****************************************************************************************
  1108. * Brainwave 1.0 pin assignments (AT90USB646)
  1109. * Requires hardware bundle for Arduino:
  1110. https://github.com/unrepentantgeek/brainwave-arduino
  1111. ****************************************************************************************/
  1112. #if MOTHERBOARD == 82
  1113. #define KNOWN_BOARD 1
  1114. #define AT90USB 646 // Disable MarlinSerial etc.
  1115. #ifndef __AVR_AT90USB646__
  1116. #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu.
  1117. #endif
  1118. #define X_STEP_PIN 27
  1119. #define X_DIR_PIN 29
  1120. #define X_ENABLE_PIN 28
  1121. #define X_STOP_PIN 7
  1122. #define X_ATT_PIN 26
  1123. #define Y_STEP_PIN 31
  1124. #define Y_DIR_PIN 33
  1125. #define Y_ENABLE_PIN 32
  1126. #define Y_STOP_PIN 6
  1127. #define Y_ATT_PIN 30
  1128. #define Z_STEP_PIN 17
  1129. #define Z_DIR_PIN 19
  1130. #define Z_ENABLE_PIN 18
  1131. #define Z_STOP_PIN 5
  1132. #define Z_ATT_PIN 16
  1133. #define E0_STEP_PIN 21
  1134. #define E0_DIR_PIN 23
  1135. #define E0_ENABLE_PIN 22
  1136. #define E0_ATT_PIN 20
  1137. #define HEATER_0_PIN 4 // Extruder
  1138. #define HEATER_1_PIN -1
  1139. #define HEATER_2_PIN -1
  1140. #define HEATER_BED_PIN 38 // Bed
  1141. #define FAN_PIN 3 // Fan
  1142. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1143. #define TEMP_1_PIN -1
  1144. #define TEMP_2_PIN -1
  1145. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1146. #define SDPOWER -1
  1147. #define SDSS -1
  1148. #define LED_PIN 39
  1149. #define PS_ON_PIN -1
  1150. #define KILL_PIN -1
  1151. #define ALARM_PIN -1
  1152. #ifndef SDSUPPORT
  1153. // these pins are defined in the SD library if building with SD support
  1154. #define SCK_PIN 9
  1155. #define MISO_PIN 11
  1156. #define MOSI_PIN 10
  1157. #endif
  1158. #endif // MOTHERBOARD == 82 (Brainwave)
  1159. /****************************************************************************************
  1160. * Gen3+ pin assignment
  1161. *
  1162. ****************************************************************************************/
  1163. #if MOTHERBOARD == 9
  1164. #define MOTHERBOARD 6 /*TODO: Figure out, Why is this done?*/
  1165. #define KNOWN_BOARD 1
  1166. #ifndef __AVR_ATmega644P__
  1167. #ifndef __AVR_ATmega1284P__
  1168. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  1169. #endif
  1170. #endif
  1171. #define X_STEP_PIN 15
  1172. #define X_DIR_PIN 18
  1173. #define X_STOP_PIN 20
  1174. #define Y_STEP_PIN 23
  1175. #define Y_DIR_PIN 22
  1176. #define Y_STOP_PIN 25
  1177. #define Z_STEP_PIN 27
  1178. #define Z_DIR_PIN 28
  1179. #define Z_STOP_PIN 30
  1180. #define E_STEP_PIN 17
  1181. #define E_DIR_PIN 21
  1182. #define LED_PIN -1
  1183. #define FAN_PIN -1
  1184. #define PS_ON_PIN 14
  1185. #define KILL_PIN -1
  1186. #define HEATER_0_PIN 12 // (extruder)
  1187. #define HEATER_1_PIN 16 // (bed)
  1188. #define X_ENABLE_PIN 19
  1189. #define Y_ENABLE_PIN 24
  1190. #define Z_ENABLE_PIN 29
  1191. #define E_ENABLE_PIN 13
  1192. #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
  1193. #define TEMP_1_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
  1194. #define TEMP_2_PIN -1
  1195. #define SDPOWER -1
  1196. #define SDSS 4
  1197. #define HEATER_2_PIN -1
  1198. #endif
  1199. /****************************************************************************************
  1200. * Open Motion controller with enable based extruders
  1201. *
  1202. * ATMega644
  1203. *
  1204. * +---\/---+
  1205. * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
  1206. * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
  1207. * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
  1208. * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
  1209. * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
  1210. * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
  1211. * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
  1212. * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
  1213. * RST 9| |32 AREF
  1214. * VCC 10| |31 GND
  1215. * GND 11| |30 AVCC
  1216. * XTAL2 12| |29 PC7 (D 23)
  1217. * XTAL1 13| |28 PC6 (D 22)
  1218. * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
  1219. * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
  1220. * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
  1221. * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
  1222. * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
  1223. * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
  1224. * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
  1225. * +--------+
  1226. *
  1227. ****************************************************************************************/
  1228. #if MOTHERBOARD == 90 //Alpha OMCA board
  1229. #define KNOWN_BOARD 1
  1230. #ifndef __AVR_ATmega644__
  1231. #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu.
  1232. #endif
  1233. #define X_STEP_PIN 21
  1234. #define X_DIR_PIN 20
  1235. #define X_ENABLE_PIN 24
  1236. #define X_STOP_PIN 0
  1237. #define Y_STEP_PIN 23
  1238. #define Y_DIR_PIN 22
  1239. #define Y_ENABLE_PIN 24
  1240. #define Y_STOP_PIN 1
  1241. #define Z_STEP_PIN 26
  1242. #define Z_DIR_PIN 25
  1243. #define Z_ENABLE_PIN 24
  1244. #define Z_STOP_PIN 2
  1245. #define E0_STEP_PIN 28
  1246. #define E0_DIR_PIN 27
  1247. #define E0_ENABLE_PIN 24
  1248. #define E1_STEP_PIN -1 // 19
  1249. #define E1_DIR_PIN -1 // 18
  1250. #define E1_ENABLE_PIN 24
  1251. #define E2_STEP_PIN -1 // 17
  1252. #define E2_DIR_PIN -1 // 16
  1253. #define E2_ENABLE_PIN 24
  1254. #define SDPOWER -1
  1255. #define SDSS 11
  1256. #define SDCARDDETECT -1 // 10 optional also used as mode pin
  1257. #define LED_PIN -1
  1258. #define FAN_PIN 3
  1259. #define PS_ON_PIN -1
  1260. #define KILL_PIN -1
  1261. #define HEATER_0_PIN 4
  1262. #define HEATER_1_PIN -1 // 12
  1263. #define HEATER_2_PIN -1 // 13
  1264. #define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  1265. #define TEMP_1_PIN -1 // 1
  1266. #define TEMP_2_PIN -1 // 2
  1267. #define HEATER_BED_PIN -1 // 14/15
  1268. #define TEMP_BED_PIN -1 // 1,2 or I2C
  1269. /* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */
  1270. #endif
  1271. #if MOTHERBOARD == 91 // Final OMCA board -- REF http://sanguino.cc/hardware
  1272. #define KNOWN_BOARD 1
  1273. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__)
  1274. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. (Final OMCA board)
  1275. #endif
  1276. #define X_STEP_PIN 26
  1277. #define X_DIR_PIN 25
  1278. #define X_ENABLE_PIN 10
  1279. #define X_STOP_PIN 0
  1280. #define Y_STEP_PIN 28
  1281. #define Y_DIR_PIN 27
  1282. #define Y_ENABLE_PIN 10
  1283. #define Y_STOP_PIN 1
  1284. #define Z_STEP_PIN 23
  1285. #define Z_DIR_PIN 22
  1286. #define Z_ENABLE_PIN 10
  1287. #define Z_STOP_PIN 2
  1288. #define E0_STEP_PIN 24
  1289. #define E0_DIR_PIN 21
  1290. #define E0_ENABLE_PIN 10
  1291. /* future proofing */
  1292. #define __FS 20
  1293. #define __FD 19
  1294. #define __GS 18
  1295. #define __GD 13
  1296. #define UNUSED_PWM 14 /* PWM on LEFT connector */
  1297. #define E1_STEP_PIN -1 // 21
  1298. #define E1_DIR_PIN -1 // 20
  1299. #define E1_ENABLE_PIN -1 // 19
  1300. #define E2_STEP_PIN -1 // 21
  1301. #define E2_DIR_PIN -1 // 20
  1302. #define E2_ENABLE_PIN -1 // 18
  1303. #define SDPOWER -1
  1304. #define SDSS 11
  1305. #define SDCARDDETECT -1 // 10 optional also used as mode pin
  1306. #define LED_PIN -1
  1307. #define FAN_PIN 14 /* PWM on MIDDLE connector */
  1308. #define PS_ON_PIN -1
  1309. #define KILL_PIN -1
  1310. #define HEATER_0_PIN 3 /*DONE PWM on RIGHT connector */
  1311. #define HEATER_1_PIN -1
  1312. #define HEATER_2_PIN -1
  1313. #define HEATER_1_PIN -1
  1314. #define HEATER_2_PIN -1
  1315. #define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING
  1316. #define TEMP_1_PIN 1 // ANALOG
  1317. #define TEMP_2_PIN -1 // 2
  1318. #define HEATER_BED_PIN 4
  1319. #define TEMP_BED_PIN 2 // 1,2 or I2C
  1320. #define I2C_SCL 16
  1321. #define I2C_SDA 17
  1322. #endif
  1323. #if MOTHERBOARD == 301
  1324. #define KNOWN_BOARD
  1325. /*****************************************************************
  1326. * Rambo Pin Assignments
  1327. ******************************************************************/
  1328. #ifndef __AVR_ATmega2560__
  1329. #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
  1330. #endif
  1331. #define LARGE_FLASH true
  1332. #define X_STEP_PIN 37
  1333. #define X_DIR_PIN 48
  1334. #define X_MIN_PIN 12
  1335. #define X_MAX_PIN 24
  1336. #define X_ENABLE_PIN 29
  1337. #define X_MS1_PIN 40
  1338. #define X_MS2_PIN 41
  1339. #define Y_STEP_PIN 36
  1340. #define Y_DIR_PIN 49
  1341. #define Y_MIN_PIN 11
  1342. #define Y_MAX_PIN 23
  1343. #define Y_ENABLE_PIN 28
  1344. #define Y_MS1_PIN 69
  1345. #define Y_MS2_PIN 39
  1346. #define Z_STEP_PIN 35
  1347. #define Z_DIR_PIN 47
  1348. #define Z_MIN_PIN 10
  1349. #define Z_MAX_PIN 30
  1350. #define Z_ENABLE_PIN 27
  1351. #define Z_MS1_PIN 68
  1352. #define Z_MS2_PIN 67
  1353. #define HEATER_BED_PIN 3
  1354. #define TEMP_BED_PIN 2
  1355. #define HEATER_0_PIN 9
  1356. #define TEMP_0_PIN 0
  1357. #define HEATER_1_PIN 7
  1358. #define TEMP_1_PIN 1
  1359. #ifdef BARICUDA
  1360. #define HEATER_2_PIN 6
  1361. #else
  1362. #define HEATER_2_PIN -1
  1363. #endif
  1364. #define TEMP_2_PIN -1
  1365. #define E0_STEP_PIN 34
  1366. #define E0_DIR_PIN 43
  1367. #define E0_ENABLE_PIN 26
  1368. #define E0_MS1_PIN 65
  1369. #define E0_MS2_PIN 66
  1370. #define E1_STEP_PIN 33
  1371. #define E1_DIR_PIN 42
  1372. #define E1_ENABLE_PIN 25
  1373. #define E1_MS1_PIN 63
  1374. #define E1_MS2_PIN 64
  1375. #define DIGIPOTSS_PIN 38
  1376. #define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
  1377. #define SDPOWER -1
  1378. #define SDSS 53
  1379. #define LED_PIN 13
  1380. #define FAN_PIN 8
  1381. #define PS_ON_PIN 4
  1382. #define KILL_PIN -1 //80 with Smart Controller LCD
  1383. #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
  1384. #ifdef ULTRA_LCD
  1385. #define KILL_PIN 80
  1386. #ifdef NEWPANEL
  1387. //arduino pin which triggers an piezzo beeper
  1388. #define BEEPER 79 // Beeper on AUX-4
  1389. #define LCD_PINS_RS 70
  1390. #define LCD_PINS_ENABLE 71
  1391. #define LCD_PINS_D4 72
  1392. #define LCD_PINS_D5 73
  1393. #define LCD_PINS_D6 74
  1394. #define LCD_PINS_D7 75
  1395. //buttons are directly attached using AUX-2
  1396. #define BTN_EN1 76
  1397. #define BTN_EN2 77
  1398. #define BTN_ENC 78 //the click
  1399. #define BLEN_C 2
  1400. #define BLEN_B 1
  1401. #define BLEN_A 0
  1402. #define SDCARDDETECT 81 // Ramps does not use this port
  1403. //encoder rotation values
  1404. #define encrot0 0
  1405. #define encrot1 2
  1406. #define encrot2 3
  1407. #define encrot3 1
  1408. #else //old style panel with shift register
  1409. //arduino pin witch triggers an piezzo beeper
  1410. #define BEEPER 33 No Beeper added
  1411. //buttons are attached to a shift register
  1412. // Not wired this yet
  1413. // #define SHIFT_CLK 38
  1414. // #define SHIFT_LD 42
  1415. // #define SHIFT_OUT 40
  1416. // #define SHIFT_EN 17
  1417. #define LCD_PINS_RS 75
  1418. #define LCD_PINS_ENABLE 17
  1419. #define LCD_PINS_D4 23
  1420. #define LCD_PINS_D5 25
  1421. #define LCD_PINS_D6 27
  1422. #define LCD_PINS_D7 29
  1423. //encoder rotation values
  1424. #define encrot0 0
  1425. #define encrot1 2
  1426. #define encrot2 3
  1427. #define encrot3 1
  1428. //bits in the shift register that carry the buttons for:
  1429. // left up center down right red
  1430. #define BL_LE 7
  1431. #define BL_UP 6
  1432. #define BL_MI 5
  1433. #define BL_DW 4
  1434. #define BL_RI 3
  1435. #define BL_ST 2
  1436. #define BLEN_B 1
  1437. #define BLEN_A 0
  1438. #endif
  1439. #endif //ULTRA_LCD
  1440. #endif
  1441. /****************************************************************************************
  1442. * MegaTronics
  1443. *
  1444. ****************************************************************************************/
  1445. #if MOTHERBOARD == 70
  1446. #define KNOWN_BOARD 1
  1447. #ifndef __AVR_ATmega2560__
  1448. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  1449. #endif
  1450. #define LARGE_FLASH true
  1451. #define X_STEP_PIN 26
  1452. #define X_DIR_PIN 28
  1453. #define X_ENABLE_PIN 24
  1454. #define X_MIN_PIN 41
  1455. #define X_MAX_PIN 37
  1456. #define Y_STEP_PIN 60 // A6
  1457. #define Y_DIR_PIN 61 // A7
  1458. #define Y_ENABLE_PIN 22
  1459. #define Y_MIN_PIN 14
  1460. #define Y_MAX_PIN 15
  1461. #define Z_STEP_PIN 54 // A0
  1462. #define Z_DIR_PIN 55 // A1
  1463. #define Z_ENABLE_PIN 56 // A2
  1464. #define Z_MIN_PIN 18
  1465. #define Z_MAX_PIN 19
  1466. #define E0_STEP_PIN 31
  1467. #define E0_DIR_PIN 32
  1468. #define E0_ENABLE_PIN 38
  1469. #define E1_STEP_PIN 34
  1470. #define E1_DIR_PIN 36
  1471. #define E1_ENABLE_PIN 30
  1472. #define SDPOWER -1
  1473. #define SDSS 53
  1474. #define LED_PIN 13
  1475. #define FAN_PIN 7 // IO pin. Buffer needed
  1476. #define PS_ON_PIN 12
  1477. #define KILL_PIN -1
  1478. #define HEATER_0_PIN 9 // EXTRUDER 1
  1479. #define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter)
  1480. #define HEATER_2_PIN -1
  1481. #if TEMP_SENSOR_0 == -1
  1482. #define TEMP_0_PIN 8 // ANALOG NUMBERING
  1483. #else
  1484. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  1485. #endif
  1486. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  1487. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  1488. #define HEATER_BED_PIN 10 // BED
  1489. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  1490. #define BEEPER 33 // Beeper on AUX-4
  1491. #ifdef ULTRA_LCD
  1492. #ifdef NEWPANEL
  1493. //arduino pin which triggers an piezzo beeper
  1494. #define LCD_PINS_RS 16
  1495. #define LCD_PINS_ENABLE 17
  1496. #define LCD_PINS_D4 23
  1497. #define LCD_PINS_D5 25
  1498. #define LCD_PINS_D6 27
  1499. #define LCD_PINS_D7 29
  1500. //buttons are directly attached using AUX-2
  1501. #define BTN_EN1 59
  1502. #define BTN_EN2 64
  1503. #define BTN_ENC 43 //the click
  1504. #define BLEN_C 2
  1505. #define BLEN_B 1
  1506. #define BLEN_A 0
  1507. #define SDCARDDETECT -1 // Ramps does not use this port
  1508. //encoder rotation values
  1509. #define encrot0 0
  1510. #define encrot1 2
  1511. #define encrot2 3
  1512. #define encrot3 1
  1513. #endif
  1514. #endif //ULTRA_LCD
  1515. #endif
  1516. /****************************************************************************************
  1517. * MegaTronics v2.0
  1518. *
  1519. ****************************************************************************************/
  1520. #if MOTHERBOARD == 701
  1521. #define KNOWN_BOARD 1
  1522. #ifndef __AVR_ATmega2560__
  1523. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  1524. #endif
  1525. #define LARGE_FLASH true
  1526. #define X_STEP_PIN 26
  1527. #define X_DIR_PIN 27
  1528. #define X_ENABLE_PIN 25
  1529. #define X_MIN_PIN 37
  1530. #define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  1531. #define Y_STEP_PIN 4 // A6
  1532. #define Y_DIR_PIN 54 // A0
  1533. #define Y_ENABLE_PIN 5
  1534. #define Y_MIN_PIN 41
  1535. #define Y_MAX_PIN 38 //15
  1536. #define Z_STEP_PIN 56 // A2
  1537. #define Z_DIR_PIN 60 // A6
  1538. #define Z_ENABLE_PIN 55 // A1
  1539. #define Z_MIN_PIN 18
  1540. #define Z_MAX_PIN 19
  1541. #define E0_STEP_PIN 35
  1542. #define E0_DIR_PIN 36
  1543. #define E0_ENABLE_PIN 34
  1544. #define E1_STEP_PIN 29
  1545. #define E1_DIR_PIN 39
  1546. #define E1_ENABLE_PIN 28
  1547. #define E2_STEP_PIN 23
  1548. #define E2_DIR_PIN 24
  1549. #define E2_ENABLE_PIN 22
  1550. #define SDPOWER -1
  1551. #define SDSS 53
  1552. #define LED_PIN 13
  1553. #define FAN_PIN 7
  1554. #define FAN2_PIN 6
  1555. #define PS_ON_PIN 12
  1556. #define KILL_PIN -1
  1557. #define HEATER_0_PIN 9 // EXTRUDER 1
  1558. #define HEATER_1_PIN 8 // EXTRUDER 2
  1559. #define HEATER_2_PIN -1
  1560. #if TEMP_SENSOR_0 == -1
  1561. #define TEMP_0_PIN 4 // ANALOG NUMBERING
  1562. #else
  1563. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  1564. #endif
  1565. #if TEMP_SENSOR_1 == -1
  1566. #define TEMP_1_PIN 8 // ANALOG NUMBERING
  1567. #else
  1568. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  1569. #endif
  1570. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  1571. #define HEATER_BED_PIN 10 // BED
  1572. #if TEMP_SENSOR_BED == -1
  1573. #define TEMP_BED_PIN 8 // ANALOG NUMBERING
  1574. #else
  1575. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  1576. #endif
  1577. #define BEEPER 64
  1578. #define LCD_PINS_RS 14
  1579. #define LCD_PINS_ENABLE 15
  1580. #define LCD_PINS_D4 30
  1581. #define LCD_PINS_D5 31
  1582. #define LCD_PINS_D6 32
  1583. #define LCD_PINS_D7 33
  1584. //buttons are directly attached using keypad
  1585. #define BTN_EN1 61
  1586. #define BTN_EN2 59
  1587. #define BTN_ENC 43 //the click
  1588. #define BLEN_C 2
  1589. #define BLEN_B 1
  1590. #define BLEN_A 0
  1591. #define SDCARDDETECT -1 // Megatronics does not use this port
  1592. //encoder rotation values
  1593. #define encrot0 0
  1594. #define encrot1 2
  1595. #define encrot2 3
  1596. #define encrot3 1
  1597. #endif
  1598. /****************************************************************************************
  1599. * Minitronics v1.0
  1600. *
  1601. ****************************************************************************************/
  1602. #if MOTHERBOARD == 702
  1603. #define KNOWN_BOARD 1
  1604. #ifndef __AVR_ATmega1281__
  1605. #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu.
  1606. #endif
  1607. #define LARGE_FLASH true
  1608. #define X_STEP_PIN 48
  1609. #define X_DIR_PIN 47
  1610. #define X_ENABLE_PIN 49
  1611. #define X_MIN_PIN 5
  1612. #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  1613. #define Y_STEP_PIN 39 // A6
  1614. #define Y_DIR_PIN 40 // A0
  1615. #define Y_ENABLE_PIN 38
  1616. #define Y_MIN_PIN 2
  1617. #define Y_MAX_PIN -1 //15
  1618. #define Z_STEP_PIN 42 // A2
  1619. #define Z_DIR_PIN 43 // A6
  1620. #define Z_ENABLE_PIN 41 // A1
  1621. #define Z_MIN_PIN 6
  1622. #define Z_MAX_PIN -1
  1623. #define E0_STEP_PIN 45
  1624. #define E0_DIR_PIN 44
  1625. #define E0_ENABLE_PIN 27
  1626. #define E1_STEP_PIN 36
  1627. #define E1_DIR_PIN 35
  1628. #define E1_ENABLE_PIN 37
  1629. #define E2_STEP_PIN -1
  1630. #define E2_DIR_PIN -1
  1631. #define E2_ENABLE_PIN -1
  1632. #define SDPOWER -1
  1633. #define SDSS 16
  1634. #define LED_PIN 46
  1635. #define FAN_PIN 9
  1636. #define FAN2_PIN -1
  1637. #define PS_ON_PIN -1
  1638. #define KILL_PIN -1
  1639. #define HEATER_0_PIN 7 // EXTRUDER 1
  1640. #define HEATER_1_PIN 8 // EXTRUDER 2
  1641. #define HEATER_2_PIN -1
  1642. #define TEMP_0_PIN 7 // ANALOG NUMBERING
  1643. #define TEMP_1_PIN 6 // ANALOG NUMBERING
  1644. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  1645. #define HEATER_BED_PIN 3 // BED
  1646. #define TEMP_BED_PIN 6 // ANALOG NUMBERING
  1647. #define BEEPER -1
  1648. #define LCD_PINS_RS -1
  1649. #define LCD_PINS_ENABLE -1
  1650. #define LCD_PINS_D4 -1
  1651. #define LCD_PINS_D5 -1
  1652. #define LCD_PINS_D6 -1
  1653. #define LCD_PINS_D7 -1
  1654. //buttons are directly attached using keypad
  1655. #define BTN_EN1 -1
  1656. #define BTN_EN2 -1
  1657. #define BTN_ENC -1 //the click
  1658. #define BLEN_C 2
  1659. #define BLEN_B 1
  1660. #define BLEN_A 0
  1661. #define SDCARDDETECT -1 // Megatronics does not use this port
  1662. //encoder rotation values
  1663. #define encrot0 0
  1664. #define encrot1 2
  1665. #define encrot2 3
  1666. #define encrot3 1
  1667. #endif
  1668. #ifndef KNOWN_BOARD
  1669. #error Unknown MOTHERBOARD value in configuration.h
  1670. #endif
  1671. //List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
  1672. #define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN,
  1673. #if EXTRUDERS > 1
  1674. #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN,
  1675. #else
  1676. #define _E1_PINS
  1677. #endif
  1678. #if EXTRUDERS > 2
  1679. #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN,
  1680. #else
  1681. #define _E2_PINS
  1682. #endif
  1683. #ifdef X_STOP_PIN
  1684. #if X_HOME_DIR < 0
  1685. #define X_MIN_PIN X_STOP_PIN
  1686. #define X_MAX_PIN -1
  1687. #else
  1688. #define X_MIN_PIN -1
  1689. #define X_MAX_PIN X_STOP_PIN
  1690. #endif
  1691. #endif
  1692. #ifdef Y_STOP_PIN
  1693. #if Y_HOME_DIR < 0
  1694. #define Y_MIN_PIN Y_STOP_PIN
  1695. #define Y_MAX_PIN -1
  1696. #else
  1697. #define Y_MIN_PIN -1
  1698. #define Y_MAX_PIN Y_STOP_PIN
  1699. #endif
  1700. #endif
  1701. #ifdef Z_STOP_PIN
  1702. #if Z_HOME_DIR < 0
  1703. #define Z_MIN_PIN Z_STOP_PIN
  1704. #define Z_MAX_PIN -1
  1705. #else
  1706. #define Z_MIN_PIN -1
  1707. #define Z_MAX_PIN Z_STOP_PIN
  1708. #endif
  1709. #endif
  1710. #ifdef DISABLE_MAX_ENDSTOPS
  1711. #define X_MAX_PIN -1
  1712. #define Y_MAX_PIN -1
  1713. #define Z_MAX_PIN -1
  1714. #endif
  1715. #ifdef DISABLE_MIN_ENDSTOPS
  1716. #define X_MIN_PIN -1
  1717. #define Y_MIN_PIN -1
  1718. #define Z_MIN_PIN -1
  1719. #endif
  1720. #define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, PS_ON_PIN, \
  1721. HEATER_BED_PIN, FAN_PIN, \
  1722. _E0_PINS _E1_PINS _E2_PINS \
  1723. analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_BED_PIN) }
  1724. #endif