My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pins.h 55KB

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