Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
smoothie-on-a-breadboard [2017/01/25 16:09]
arthur
smoothie-on-a-breadboard [2018/05/31 22:33] (current)
liliako [The big picture]
Line 1: Line 1:
-<​grid>​ + ​Introduction
-<col md="​6">​+
  
-[[[# intro]]] Introduction+<​html><​a name='intro'></​a></​html>​
  
  
- +There has recently been some interest ​in getting Smoothie to run using the [[http://​www.embeddedartists.com/​products/​lpcxpresso/​lpc1769_xpr.php|LPCXpresso 1769]] breakout board for the [[http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/​lpc-mcus/​lpc1700-cortex-m3/​512kb-flash-64kb-sram-ethernet-usb-lqfp100-package:​LPC1769FBD100|LPC1769]] chip, and components placed on a breadboard.
-There has recently been some interrest ​in getting Smoothie to run using the [[http://​www.embeddedartists.com/​products/​lpcxpresso/​lpc1769_xpr.php LPCXpresso 1769]] breakout board for the [[http://ics.nxp.com/lpcxpresso/~LPC1769/ LPC1769]] chip, and components placed on a breadboard.+
  
 If you don't mind the hackyness of breadboards,​ or if tinkering is in fact what you're after, this can be a quite nice solution. If you don't mind the hackyness of breadboards,​ or if tinkering is in fact what you're after, this can be a quite nice solution.
 +
 +~~CLEARFIX~~
  
 <callout type="​warning"​ icon="​true"​ title="​ EMI">​ <callout type="​warning"​ icon="​true"​ title="​ EMI">​
Line 18: Line 18:
  
  
-</col> +~~CLEARFIX~~ 
-<col md="​6"​> + 
-[[[toc]]] +==  Materials needed 
-</col> + 
-</grid> +<html><a name='​materials'​></a></html>
-~~~~+
  
-== [[[# materials]]] Materials needed 
  
 To make this you'll need :  To make this you'll need : 
  
 * LPCXPresso1769 board ( 20€ ) * LPCXPresso1769 board ( 20€ )
-* 4 Pololu [[http://​www.pololu.com/​catalog/​product/​1182 A4988 drivers]] or [[http://​reprap.org/​wiki/​StepStick StepSticks]]+* 4 Pololu [[http://​www.pololu.com/​catalog/​product/​1182|A4988 drivers]] or [[http://​reprap.org/​wiki/​StepStick|StepSticks]]
 * Two 840 points breadboards * Two 840 points breadboards
 * Various wires * Various wires
Line 41: Line 39:
  
  
-== [[[# big-picture]]] ​The big picture+==  The big picture
  
-This is what smoothie on breadboard looks like ( graphics are thanks to the awesome [[http://fritzing.org/​ fritzing]] ) : +<​html><​name='​big-picture'><​/a></html>
  
-[[[image flickr:6694756969 size="​large"​]]]+This is what smoothie on a breadboard looks like ( graphics are thanks to the awesome ​[[http://​fritzing.org/​|fritzing]] ) :  
 + 
 +{{ :​smoothie-on-a-breadboard:​bb09.jpg?​direct&​480 |}}
  
 A short description :  A short description : 
-* At the core you have the LPCXpresso board. It can be powered from, and connected to the computer via either the USB port, or the USB to Serial adapter. The USB to Serial adapter can be used in place of the USB port, you'll be able to use Smoothie fine, but then you miss on all the fun where Smoothie connected to the computer via USB shows as both USB/Serial and Mass Storage, exposing the SD Card.+* At the core you have the LPCXpresso board. It can be powered from, and connected to the computer via either the USB port, or the USB to Serial adapter. The USB to Serial adapter can be used in place of the USB port, you'll be able to use Smoothie fine, but then you miss on all the fun where Smoothie connected to the computer via USB shows as both USB/Serial and Mass Storage, exposing the SD Card.
 * The MicroSD breakout contains a SD card ( up to 2GB, that's the size of the cheapest you can find those days anyway ). On the SD Card is the config file to configure smoothie, and you can also put there GCode files and execute them from there. * The MicroSD breakout contains a SD card ( up to 2GB, that's the size of the cheapest you can find those days anyway ). On the SD Card is the config file to configure smoothie, and you can also put there GCode files and execute them from there.
-* The 4 pololu drivers ( [[http://​reprap.org/​wiki/​StepStick StepSticks]] would be fine, and are pin-compatible ) drive the steppers to move the machine and the extruder. If you're here to move a laser, you don't need 4, but only 2 ( or 3 if you have a Z axis ). +* The 4 pololu drivers ( [[http://​reprap.org/​wiki/​StepStick|StepSticks]] would be fine, and are pin-compatible ) drive the steppers to move the machine and the extruder. If you're here to move a laser, you don't need 4, but only 2 ( or 3 if you have a Z axis ). 
-* The thermistor and hotend ​circutis ​are used to regulate the temperature in the 3D printer'​s hotend. +* The thermistor and hotend ​circuts ​are used to regulate the temperature in the 3D printer'​s hotend. 
-**TODO** : Describe ​modifications for laser cutting, there are not a lot.+**TODO** : Describe ​modifications for laser cutting, there are not a lot.
  
  
  
-[[[# assembly]]] ​Assembly+ Assembly 
 +<​html><​a name='​assembly'></​a></​html>​ 
  
 Now instructions for a step-by-step assembly. Now instructions for a step-by-step assembly.
 The current design is quite compact, so there is not really much freedom on component placement, but this is mostly to say what connects to what. The current design is quite compact, so there is not really much freedom on component placement, but this is mostly to say what connects to what.
-If you don't understand something, or don't see clearly what connects to where, you can look more in detail in the [[http://​smoothieware.org/​local--files/​smoothie-on-a-breadboard/​Smoothie-on-a-breadboard.fz Fritzing file]] or [[mailto:​wolf.arthur@gmail.com contact by email]].+If you don't understand something, or don't see clearly what connects to where, you can look more in detail in the [[http://​smoothieware.org/​local--files/​smoothie-on-a-breadboard/​Smoothie-on-a-breadboard.fz|Fritzing file]] or [[mailto:​wolf.arthur@gmail.com|contact by email]].
 Warning: we will refer to the pin numbering found on the LPCXpresso PCB; this is different from the standard IC pin numbering, as both columns have increasing numbers from top to bottom instead of a counter clockwise numbering. Warning: we will refer to the pin numbering found on the LPCXpresso PCB; this is different from the standard IC pin numbering, as both columns have increasing numbers from top to bottom instead of a counter clockwise numbering.
  
-== [[[# breadboards]]] ​Breadboards+==  Breadboards 
 +<​html><​a name='​breadboards'></​a></​html>​
  
-You'll need the boardboard in a bit of a special configuration,​ due to the dimension/​pin configuration of the LPCXPresso board :  
  
-[[[=image flickr:6694914181]]]+You'll need the boardboard in a bit of a special configuration,​ due to the dimension/​pin configuration of the LPCXPresso board : 
 + 
 +{{ :​smoothie-on-a-breadboard:​bb01.jpg?​direct&​480 |}} 
  
 You just need to remove one of the power supply bars, and attach the two breadboards together ( will require cutting the sticky sheet at the bottom of some breadboards ) You just need to remove one of the power supply bars, and attach the two breadboards together ( will require cutting the sticky sheet at the bottom of some breadboards )
  
-== [[[# lpcxpresso1769]]] ​LPCPxresso board+==  LPCPxresso board 
 +<​html><​a name='​lpcxpresso1769'></​a></​html>​ 
  
 You must solder the two long ranges of holes on that board with standard 2.54mm golden pins at the bottom. You must solder the two long ranges of holes on that board with standard 2.54mm golden pins at the bottom.
 Then simply insert into the breadboard, with the first pins on the left at 6 pins from the border. Then simply insert into the breadboard, with the first pins on the left at 6 pins from the border.
  
-[[[=image flickr:6695046541]]]+{{ :smoothie-on-a-breadboard:​bb02.jpg?​direct&​480 |}} 
 + 
 + 
 +==  USB-Serial cable 
 +<​html><​a name='​usb-serial-cable'></​a></​html>​
  
-== [[[# usb-serial-cable]]] USB-Serial cable 
  
 To flash the bootloader, and later eventally debug, you need to connect to the board via serial. That won't work via USB directly until smoothie in flashed in there. To flash the bootloader, and later eventally debug, you need to connect to the board via serial. That won't work via USB directly until smoothie in flashed in there.
-You can use a [[https://​www.adafruit.com/​products/​70 FTDI cable]],​ the [[http://​store.arduino.cc/​eu/​index.php?​main_page=product_info&​cPath=11_15&​products_id=143 Arduino USB2Serial board]], or even directly an Arduino board, using pins 0 and 1 as TX and RX.+You can use a [[https://​www.adafruit.com/​products/​70|FTDI cable]],​ the [[http://​store.arduino.cc/​eu/​index.php?​main_page=product_info&​cPath=11_15&​products_id=143|Arduino USB2Serial board]], or even directly an Arduino board, using pins 0 and 1 as TX and RX.
  
-[[[=image flickr:6695084535]]]+{{ :smoothie-on-a-breadboard:​bb03.jpg?​direct&​480 |}}
  
-Blue wire in this picture (pin 21) is RX, green (pin 22) is TX. On an [[http://​adafruit.com/​datasheets/​DS_TTL-232R_CABLES_V201.pdf FTDI cable]], RX is yellow, TX orange. On the arduino USB2Serial and arduino boards, those are indicated. (on some generic FTDI / TTL USB2Serial modules, if you experience problems with the serial connection not connecting, then you might want to try swapping the RX and TX connections between the LPCPxresso board and USB2Serial module , TX pin connects to RX pin and RX pin connects to TX pin, also worthy of note is that there are both 5Volt and 3.3Volt I/O variants of these USB2Serial boards available)+ 
 +Blue wire in this picture (pin 21) is RX, green (pin 22) is TX. On an [[http://​adafruit.com/​datasheets/​DS_TTL-232R_CABLES_V201.pdf|FTDI cable]], RX is yellow, TX orange. On the arduino USB2Serial and arduino boards, those are indicated. (on some generic FTDI / TTL USB2Serial modules, if you experience problems with the serial connection not connecting, then you might want to try swapping the RX and TX connections between the LPCPxresso board and USB2Serial module , TX pin connects to RX pin and RX pin connects to TX pin, also worthy of note is that there are both 5Volt and 3.3Volt I/O variants of these USB2Serial boards available)
 GND ( black ) goes into the bottom rail of the two bottom power bars, and to the GND pin on the LPCXpresso. ​ GND ( black ) goes into the bottom rail of the two bottom power bars, and to the GND pin on the LPCXpresso. ​
 The 5V pin goes into the VIN ( 4.5V-14V ) pin on the LPCXpresso ( orange wires ). The 5V pin goes into the VIN ( 4.5V-14V ) pin on the LPCXpresso ( orange wires ).
Line 91: Line 102:
 The LED and resistor are not necessary, but it's always nice to know you've connected the power correctly. The resistor value depends on your LED's luminosity and taste : I use 1Kohm on mine. Most leds will want less. The LED and resistor are not necessary, but it's always nice to know you've connected the power correctly. The resistor value depends on your LED's luminosity and taste : I use 1Kohm on mine. Most leds will want less.
  
-== [[[# buttons]]] ​Buttons+==  Buttons 
 +<​html><​a name='​buttons'></​a></​html>​ 
  
 You need a reset button to reset your board connected to pin 4, and a bootloader button connected to pin 51 (shown in diagram below) to get it to enter bootloader mode in order to flash the SD card bootloader ( this only needs to be done once ). You need a reset button to reset your board connected to pin 4, and a bootloader button connected to pin 51 (shown in diagram below) to get it to enter bootloader mode in order to flash the SD card bootloader ( this only needs to be done once ).
 Also a play/pause button is used to force the bootloader into DFU mode to flash the firmware, this is connected to pin p2.12, and is not shown in the following diagram. Also a play/pause button is used to force the bootloader into DFU mode to flash the firmware, this is connected to pin p2.12, and is not shown in the following diagram.
  
-[[[=image flickr:6695168827]]]+{{ :smoothie-on-a-breadboard:​bb04.jpg?​direct&​480 |}} 
  
 Both buttons are push buttons, and connect from their respective pins to GND. Lower left is RESET, and top right is BOOTLOADER. Both buttons are push buttons, and connect from their respective pins to GND. Lower left is RESET, and top right is BOOTLOADER.
-You'll then be able to flash the chip using lpc21isp [[http://​smoothieware.org/​flashing-the-bootloader following these instructions]].+You'll then be able to flash the chip using lpc21isp [[http://​smoothieware.org/​flashing-the-bootloader|following these instructions]].
  
 To force the bootloader into DFU mode hold the play/pause button, press reset then release play/pause button. To force the bootloader into DFU mode hold the play/pause button, press reset then release play/pause button.
  
-== [[[# microsd]]] ​MicroSD card breakout board+==  MicroSD card breakout board 
 +<​html><​a name='​microsd'></​a></​html>​ 
  
 Exact connection will depend on the pin order for your microSD breakout board. Exact connection will depend on the pin order for your microSD breakout board.
 Here pictured is an imaginary breakout board that would have the pins in the same order as the LPCXpresso, making things neatly arranged :  Here pictured is an imaginary breakout board that would have the pins in the same order as the LPCXpresso, making things neatly arranged : 
  
-[[[=image flickr:6695253473]]]+{{ :smoothie-on-a-breadboard:​bb05.jpg?​direct&​480 |}} 
  
 * Green is MOSI ( sometimes DO ), Master Out Slave In, pin 5 * Green is MOSI ( sometimes DO ), Master Out Slave In, pin 5
Line 121: Line 138:
 If flashing the bootloader works, but flashing firmwares from the SD card doesn'​t,​ you probably have a SD card problem. Try swapping DI and DO or using another SD card. SDHC may have compatibility issues, you may want to try an older card. If flashing the bootloader works, but flashing firmwares from the SD card doesn'​t,​ you probably have a SD card problem. Try swapping DI and DO or using another SD card. SDHC may have compatibility issues, you may want to try an older card.
  
-== [[[# usb]]] ​USB breakout board+==  USB breakout board 
 +<​html><​a name='​usb'></​a></​html>​ 
  
 USB connection is quite simple. It's pretty much the same as the serial cable : 5V to VIN ( orange ), GND to GND ( black ), connect D- ( green ) to pin 36 and D+ ( blue ) to pin 37 and you're done. USB connection is quite simple. It's pretty much the same as the serial cable : 5V to VIN ( orange ), GND to GND ( black ), connect D- ( green ) to pin 36 and D+ ( blue ) to pin 37 and you're done.
  
-[[[=image flickr:6695297161]]]+{{ :smoothie-on-a-breadboard:​bb06.jpg?​direct&​480 |}} 
  
 If you have flashed the bootloader and then smoothie, it should show up as both Mass Storage, and USB/Serial to your computer. If you have flashed the bootloader and then smoothie, it should show up as both Mass Storage, and USB/Serial to your computer.
  
-== [[[# hotend]]] ​Hotend control+==  Hotend control 
 +<​html><​a name='​hotend'></​a></​html>​ 
  
 These two cricuits allow you to read the hotend'​s temperature,​ and change that temperature via a heater. You don't need that for CNC milling and lasercutting,​ so use a jumper and jump it if that's your case. These two cricuits allow you to read the hotend'​s temperature,​ and change that temperature via a heater. You don't need that for CNC milling and lasercutting,​ so use a jumper and jump it if that's your case.
  
-[[[=image flickr:6695337423]]]+{{ :smoothie-on-a-breadboard:​bb07.jpg?​direct&​480 |}} 
  
 The bottom circuit is the thermistor circuit. From pin 20, connect a 4.7Kohm resistor to 3.3V power ( orange ), and a 10uF capacitor to ground. The 2.54mm screw terminal connects the pin 20 and the ground to the two wires from your thermistor. The thermistor doesn'​t have a polarity so it can be connected either way. The bottom circuit is the thermistor circuit. From pin 20, connect a 4.7Kohm resistor to 3.3V power ( orange ), and a 10uF capacitor to ground. The 2.54mm screw terminal connects the pin 20 and the ground to the two wires from your thermistor. The thermistor doesn'​t have a polarity so it can be connected either way.
 The top circuit is the Mosfet circuit, it controls the heating element in your hotend. Horizontal resistor is 10Kohm and connects from the Gate to GND ( pull-down resistor ) and the other one is 1Kohm and connects the Gate to pin 45 on the LPCXpresso. Left 2.54mm screw terminal is the power input for the heater element. If you want to use only one power supply for both the heater and the steppers ( will work fine with most ATX Power supplies ), you can connect this to the top right power bar instead where we will later have the stepper motors'​ power rail. The other 2.54mm screw terminal goes to the heater. The top circuit is the Mosfet circuit, it controls the heating element in your hotend. Horizontal resistor is 10Kohm and connects from the Gate to GND ( pull-down resistor ) and the other one is 1Kohm and connects the Gate to pin 45 on the LPCXpresso. Left 2.54mm screw terminal is the power input for the heater element. If you want to use only one power supply for both the heater and the steppers ( will work fine with most ATX Power supplies ), you can connect this to the top right power bar instead where we will later have the stepper motors'​ power rail. The other 2.54mm screw terminal goes to the heater.
  
-== [[[# drivers]]] ​Stepper drivers+==  Stepper drivers 
 +<​html><​a name='​drivers'></​a></​html>​ 
  
 You need :  You need : 
Line 145: Line 170:
 * 3 for CNC milling * 3 for CNC milling
  
-Here shown is a picture with 4 stepper drivers : +Here shown is a picture with 4 stepper drivers : 
 + 
 +{{ :​smoothie-on-a-breadboard:​bb08.jpg?​direct&​480 |}}
  
-[[[=image flickr:​6695407877 size="​medium640"​]]] 
  
 Bit of a legend :  Bit of a legend : 
Line 161: Line 187:
 Here is the corresponding configuration :  Here is the corresponding configuration : 
  
-[[[code]]]+<code>
 alpha_dir_pin ​                               2.7             # Pin for alpha stepper direction alpha_dir_pin ​                               2.7             # Pin for alpha stepper direction
 alpha_step_pin ​                              ​2.8 ​            # Pin for alpha stepper step signal alpha_step_pin ​                              ​2.8 ​            # Pin for alpha stepper step signal
Line 170: Line 196:
 gamma_dir_pin ​                               0.28!           # Pin for gamma stepper direction gamma_dir_pin ​                               0.28!           # Pin for gamma stepper direction
 gamma_step_pin ​                              ​2.13 ​           # Pin for gamma stepper step signal gamma_step_pin ​                              ​2.13 ​           # Pin for gamma stepper step signal
-[[[/code]]]+</code>
  
 Also make sure to disable current control as it will hang if enabled... Also make sure to disable current control as it will hang if enabled...
  
-[[[code]]]+<code>
 currentcontrol_module_enable ​                ​false ​            # currentcontrol_module_enable ​                ​false ​            #
-[[[/code]]]+</code>
  
 == Notes == Notes
  
-<callout type="​warning"​ icon="​true"​ title="​ LPCLink">​ 
- 
-The LPC link part of the lpcexpresso must be removed or disconnected as Smoothie will not run if it is connected. 
-</​callout>​ 
 <callout type="​warning"​ icon="​true"​ title="​ Pinouts">​ <callout type="​warning"​ icon="​true"​ title="​ Pinouts">​
  
-The pinouts for the motors above are an example and actually conflict with other pins in current versions of smoothie so it is recommended you use the pinouts from this chart : [[http://​smoothieware.org/​lpc1769-pin-usage http://​smoothieware.org/​lpc1769-pin-usage]].+The pinouts for the motors above are an example and actually conflict with other pins in current versions of smoothie so it is recommended you use the pinouts from this chart : [[http://​smoothieware.org/​lpc1769-pin-usage|http://​smoothieware.org/​lpc1769-pin-usage]].
 </​callout>​ </​callout>​
  
Line 193: Line 215:
 And there you go ! And there you go !
  
-If you have any question or if something is wrong/​missing,​ please don't hesitate to [[mailto:​wolf.arthur@gmail.com email.]]+If you have any question or if something is wrong/​missing,​ please don't hesitate to [[mailto:​wolf.arthur@gmail.com|email.]]