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 66KB

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