User Tools

Site Tools


raspberry-pi

Link to this comparison view

raspberry-pi [2013/09/07 16:08]
jit Moved slicer instructions to a separate page.
raspberry-pi [2013/10/20 17:41] (current)
jit
Line 6: Line 6:
 ==== Why? ==== ==== Why? ====
  
-The Raspberry Pi is very small. ​ (It's about the same size as the Azteeg controller; ​ in the photo above it's hiding in the background, between the printer and the monitor.) It's so small that it could be embedded into the printer itself, making the Bukobot completely free-standing (except for monitor, keyboard, and mouse). ​ It can also connect to a network, perhaps allowing the user to run the printer from a web browser on another computer.+Most 3D printers work a lot like regular printers, in the sense that you install some software on a computer and then plug the printer into the computer using a USB cable. ​ But 3D printers have a special requirement: ​ depending on the size and complexity of the object to be printed, it might take hours to do one print, and if the print job is interrupted for some reason, the print will likely be ruined and you will have to start over from scratch. 
 + 
 +If you use your regular desktop or laptop computer to drive your 3D printer, and then use that computer to do other things at the same time, you run the risk of accidentally interrupting the printing software during the job.  So it's best not to multitask with that computer while printing; ​ just use a dedicated computer for that task and that task alone. ​ With the costs of computers gradually approaching zero, it's not expensive to do this. 
 + 
 +The Raspberry Pi is very small computer.  (It's about the same size as the Azteeg controller; ​ in the photo above it's hiding in the background, between the printer and the monitor.) It's so small that it could be embedded into the printer itself, making the Bukobot completely free-standing (except for monitor, keyboard, and mouse). ​ It can also connect to a network, perhaps allowing the user to run the printer from a web browser on another computer;  in this case, the printer becomes a standalone appliance, and you wouldn'​t need to keep a monitor, keyboard, or mouse attached to it.
  
 The cost to do all this is very small. ​ Current US prices: The cost to do all this is very small. ​ Current US prices:
Line 20: Line 24:
   * monitor, maybe $150 (but see below)   * monitor, maybe $150 (but see below)
  
-Of course you may already have some of the above.+Of course you may already have some of the above, or may not need some of the above.
  
 ==== Parts Required ==== ==== Parts Required ====
Line 28: Line 32:
   * High quality power supply for same, 5V, at least 1A, plus micro USB cable to connect it to the Pi   * High quality power supply for same, 5V, at least 1A, plus micro USB cable to connect it to the Pi
  
-  * SD card, at least 8GB, preferably class 10 or better+  * SD card, at least 8GB, preferably class 10 or better ​(but many people say class 4 works fine)
  
   * Powered USB hub   * Powered USB hub
Line 44: Line 48:
   * Printer (the Bukobot is highly recommended)   * Printer (the Bukobot is highly recommended)
  
-One of the primary reasons for having problems with a Raspberry Pi is the power supply. ​ There are many different power supplies on the market (most smartphones and similar small devices use this type) and a lot of these power supplies are of poor quality. ​ The Pi needs a high-quality power supply, and it must be rated at one amp or more.  The adafruit unit (their [[https://​www.adafruit.com/​products/​501|#​501]]) is recommended by Lady Ada, so it's a good one (and the price is good too).+=== Power Supply === 
 + 
 +One of the primary reasons for having problems with a Raspberry Pi is the power supply. ​ There are many different ​allegedly compatible ​power supplies on the market (most smartphones and similar small devices ​that recharge through a micro USB port use this type) and a lot of these power supplies are of poor quality. ​ The Pi needs a high-quality power supply, and it must be rated at one amp or more.  The adafruit unit (their [[https://​www.adafruit.com/​products/​501|#​501]]) is recommended by Lady Ada, so it's a good one (and the price is good too). 
 + 
 +=== Powered USB Hub ===
  
 If you intend to connect the Azteeg, a keyboard, and a mouse to the Pi then you'll need a USB hub for sure (the Pi only has two USB ports). ​ Might as well make that a powered hub and be sure you won't overwhelm the Pi's power supply. ​ (For not much more, you could instead get a powered hub that also has card slots, if you think you might want to connect memory cards to the Pi for some reason. ​ The Pi does have a built-in SD card slot, but you boot from that and can't remove the card while the Pi is running). If you intend to connect the Azteeg, a keyboard, and a mouse to the Pi then you'll need a USB hub for sure (the Pi only has two USB ports). ​ Might as well make that a powered hub and be sure you won't overwhelm the Pi's power supply. ​ (For not much more, you could instead get a powered hub that also has card slots, if you think you might want to connect memory cards to the Pi for some reason. ​ The Pi does have a built-in SD card slot, but you boot from that and can't remove the card while the Pi is running).
Line 52: Line 60:
 For best picture quality, use a monitor (or high-def television) with an HDMI connection. ​ The Pi can do 1080p resolution. For best picture quality, use a monitor (or high-def television) with an HDMI connection. ​ The Pi can do 1080p resolution.
  
-If you have a monitor sitting around that has VGA input but not HDMI, you can use a [[http://​www.farnell.com/​datasheets/​1669934.pdf|Pi-View]] adapter. ​ (The system shown above is using one of these.) ​ You can get these from any Farnell/​element14 affiliate (Newark in the U.S. currently has these for about $33).  Also now available from Adafruit: ​ [[https://​www.adafruit.com/​products/​1151|HDMI to VGA Video + Audio Adapter]], which also has audio output, and costs even less.+A DVI monitor can also deliver equivalent picture quality. ​ (Requires DVI-D or DVI-I; ​ DVI-A won't work.) ​ For this you need an HDMI-DVI adapter cable, or a regular DVI monitor cable plus an HDMI-DVI adapter (this adapter needs to have a male HDMI connector on one end, and female DVI on the other, as shown below). ​ These adapters are passive, and quite inexpensive. 
 + 
 +{{wiki:​jitsbuild:​hdmi-to-dvi.jpg}} 
 + 
 +If you have a monitor sitting around that has VGA input but not HDMI or DVI, you can use a [[http://​www.farnell.com/​datasheets/​1669934.pdf|Pi-View]] adapter. ​ (The system shown above is using one of these.) ​ You can get these from any Farnell/​element14 affiliate (Newark in the U.S. currently has these for about $33).  Also now available from Adafruit: ​ [[https://​www.adafruit.com/​products/​1151|HDMI to VGA Video + Audio Adapter]], which also has audio output, and costs even less.  ​Also: ​ [[http://​www.amazon.com/​SANOXY®-Adapter-Power-free-Raspberry-Support/​dp/​B0088K7QUQ|this one]]. ​ (But be warned, it can be a little tricky to get the VGA configured properly, and mis-configured VGA can result in no video output at all; see [[http://​www.raspberrypi.org/​phpBB3/​viewtopic.php?​p=437952|here]] for more information.)
  
 Of course the Pi also has a standard-definition TV output ("​composite"​) through its RCA jack, that can be connected to an old-fashioned television. ​ It's low resolution, but perhaps sufficient to get the Pi set up and running headless. ​ (Anyone try this?) Of course the Pi also has a standard-definition TV output ("​composite"​) through its RCA jack, that can be connected to an old-fashioned television. ​ It's low resolution, but perhaps sufficient to get the Pi set up and running headless. ​ (Anyone try this?)
Line 59: Line 71:
  
 Also, many monitors and TVs have multiple inputs, and can be connected to more than one computer at a time.  Just press the input button on the display to switch between computers. Also, many monitors and TVs have multiple inputs, and can be connected to more than one computer at a time.  Just press the input button on the display to switch between computers.
 +
 +Finally, if you already have a [[https://​en.wikipedia.org/​wiki/​KVM_switch|KVM switch]] that can support DVI monitors, you can connect your Pi to the KVM switch through the HDMI-DVI adapter mentioned above, and then use the keyboard, video monitor and mouse that are already attached to your KVM switch to talk to your Pi.  And since many such KVM switches use a single USB connector for the keyboard and mouse connections,​ effectively putting a USB hub inside the KVM switch, you might not need a separate USB hub for the Pi;  plug the KVM switch into one of the Pi's USB ports, and the Azteeg into the other (don't connect the Azteeg through the KVM switch!). ​ In this case your total cost to add the Pi to your printer might be not much more than $50.
  
  
 ==== Getting Started ==== ==== Getting Started ====
  
-(In all of the following, it is assumed that you are using the default username, pi.  If you use a different user name, you may have to change some of the things below, replacing pi with your username. ​ You can wait to set up a different user name until you have gotten the Pi running and tested it for a bit.)+(In all of the following, it is assumed that you are using the default username, pi.  If you use a different user name, you may have to change some of the things below, replacing pi with your username. ​ You can wait to set up a different user name until you have gotten the Pi running and tested it for a while.) 
 + 
 +First go [[http://​www.raspberrypi.org/​quick-start-guide|here]] and click the diagram to download the pdf file.  Read it.
  
 Download the latest version of [[http://​www.raspberrypi.org/​downloads|Raspbian Wheezy]] (but not the soft-float version). ​ Follow the directions on that page to put the image on the SD card.  Note the default user name and password. Download the latest version of [[http://​www.raspberrypi.org/​downloads|Raspbian Wheezy]] (but not the soft-float version). ​ Follow the directions on that page to put the image on the SD card.  Note the default user name and password.
Line 69: Line 85:
 Follow the directions on that page to sync the filesystem so that the card can be safely removed from the computer. ​ Insert the card into the Pi. Follow the directions on that page to sync the filesystem so that the card can be safely removed from the computer. ​ Insert the card into the Pi.
  
-**Alternatively**,​ you can download the new NOOBS installer shown on that page, and follow the directions there to put that on your 8GB card.  Or, for $40 you can buy the new package that contains one Raspberry Pi and one NOOBS card (but be warned, the card that comes with that package only holds 4GB and the directions below would have to be modified so that the card doesn'​t get too full, and nobody has documented that yet).  If you use NOOBS, select ​Raspian ​Wheezy when it asks you.+**Alternatively**,​ you can download the new NOOBS installer shown on that page, and follow the directions there to put that on your 8GB card.  Or, for $40 you can buy the new package that contains one Raspberry Pi and one NOOBS card (but be warned, the card that comes with that package only holds 4GB and the directions below would have to be modified so that the card doesn'​t get too full, and nobody has documented that yet).  If you use NOOBS, select ​Raspbian ​Wheezy when it asks you.
  
 Connect the powered USB hub to one of the two USB ports on one end of the Pi.  Connect an Ethernet cable to the Pi's Ethernet jack (next to the USB ports). ​ Connect the other end of the Ethernet cable to a working Internet connection. Connect the powered USB hub to one of the two USB ports on one end of the Pi.  Connect an Ethernet cable to the Pi's Ethernet jack (next to the USB ports). ​ Connect the other end of the Ethernet cable to a working Internet connection.
Line 79: Line 95:
 Connect the Pi to its power supply using the micro USB cable, and plug the power supply in.  (This is the closest thing you have to an on/off switch on the Pi;  always remember to power down the Pi through its menu before removing power.) Connect the Pi to its power supply using the micro USB cable, and plug the power supply in.  (This is the closest thing you have to an on/off switch on the Pi;  always remember to power down the Pi through its menu before removing power.)
  
-Watch the monitor.+Watch the monitor.  Watch the text scroll by as the Pi boots up.
  
-See the text fly by as the Pi boots up.+Eventually, a menu resembling ​the one shown below should appear. ​ If it doesn'​t,​ troubleshoot. ​ (You can ask for help in the [[http://​forum.bukobot.com/​index.php?​board=4.0|Linux Specific Software section of the forum]]. ​ Don't be intimidated by this software; ​ millions of people have successfully gotten Pis running, including a lot of nine-year-old kids.)
  
-Eventually, a menu should appear. ​ If it doesn'​t,​ troubleshoot. ​ (You can ask for help in the Linux Specific Software section of the forum. ​ Don't be intimidated by this software; ​ millions of people have successfully gotten Pis running, including a lot of nine-year-old kids.)+{{wiki:​jitsbuild:​raspi-config-2013-10.jpg}}
  
-{{wiki:​jitsbuild:​raspi-config.png}}+This menu is navigated with the up and down arrows, <​Tab>,​ and <​Enter>​. ​ In a few places you have to put check marks in boxes, indicated by square brackets like these [ ];  highlight the box, and hit the space bar to toggle the checkbox.
  
-This menu is navigated with the up and down arrows, <​Tab>,​ and <​Enter>​.+First, go into Advanced Options and try to update this menu program. ​ If an update ​is available, ​the computer will be rebooted before you continue.
  
-Firsttry to update this menu program (update).+Also on the Advanced Options menuset the graphics memory ​to 32MB.
  
-Use the menu to set the graphics memory to 32MB  ​(memory_split).+Tell the Pi to boot into the graphical user interface ​('​Desktop'​on next boot:
  
-Use the menu to tell the Pi to boot into the graphical user interface on next boot (boot_behaviour).+{{wiki:​jitsbuild:​rasp-config-bootopt-2013-10.jpg}}
  
-Use the menu to tell the Pi to expand its file system to maximum size on next boot (expand_rootfs).+Tell the Pi to expand its file system to maximum size on next boot.  ​(It will tell you if you don't need to do this.)
  
-Select your keyboard, locale, and time zone (configure_keyboard,​ change_locale,​ and change_timezone).  (Remember that the Raspberry Pi comes from England, and the defaults ​assume UK and GB and the like, and you should change those values if you live somewhere else in the world.)+If you intend to SSH into your Pi, enable that on the Advanced Options menu.  If you don't know what this means, don'​t. 
 + 
 +Select your keyboard, locale, and time zone.  (Remember that the Raspberry Pi comes from England, and the defaults ​are set for that place, and you should change those values if you live somewhere else in the world.) ​ The locale is specified like this:  language-COUNTRY.encoding,​ where '​language'​ is a two-or-three letter lowercase code, '​COUNTRY'​ is a two character uppercase country code, and encoding is (for most areas) UTF-8. ​ (Warning: ​ If you tell it to install ALL locales, it will take a long time for the menu to return, as locales are time-consuming to set up.)  (Note that the west coast of the U.S. is specified as '​Pacific Ocean'​.) 
 + 
 +Finally, change the user password. ​ Make note of the new one.
  
 Use the menu to reboot (tab over to <​Finish>​). Use the menu to reboot (tab over to <​Finish>​).
  
-Watch it boot again. ​ It should boot into the LXDE desktop environment. ​ If it doesn'​t,​ troubleshoot.+Watch it boot again. ​ It should boot into the [[http://​lxde.org/​|LXDE desktop environment]].  If it doesn'​t,​ troubleshoot.
  
-Start the Midori web browser and verify that the Pi can see the Internet.+Find the icon for the [[http://​www.midori-browser.org|Midori web browser]] on the Desktop, launch it, and verify that the Pi can see the Internet.
  
 Browse to this page.  Follow the rest of these directions. Browse to this page.  Follow the rest of these directions.
Line 147: Line 167:
 </​code>​ </​code>​
  
-That command (which may run for a good long while) will install a variety of utilities that are handy for maintaining and managing this machine, and a collection of common applications.+That command (which may run for a good long while) will install a variety of utilities that are handy for maintaining and managing this machine, and also a collection of common applications.
  
-This includes the complete LibreOffice suite, and a web browser called IceWeasel (a version of Firefox). ​ But, be warned: ​ Both of these are heavy users of memory, which is in short supply on the Pi.  They will probably run, but may run slowly.  ​Don't even think of running these on a 256MB Pi.+This includes the complete LibreOffice suite, and a web browser called IceWeasel (a version of Firefox). ​ But, be warned: ​ Both of these are heavy users of memory, which is in short supply on the Pi.  They will probably run, but may run slowly.  ​They may run very slowly ​on a 256MB Pi.
  
 === Next... === === Next... ===
  
-At this point, your Raspberry Pi is set up as a modern general-purpose desktop computer. ​ Test it for a bit.  Get used to its quirks. ​ It's roughly equivalent in power to a high-end desktop system from the 1990'​s,​ so don't expect it to be fast.  Startup times may annoy you, but you won't be starting programs very often; ​ you will be starting your host software and letting it run for minutes or hours as it tells your printer how to make things.+At this point, your Raspberry Pi is set up as a modern general-purpose desktop computer. ​ Test it for a while; ​ become accustomed ​to its quirks. ​ It's roughly equivalent in power to a high-end desktop system from the 1990'​s,​ so don't expect it to be fast.  Startup times may annoy you, but you won't be starting programs very often; ​ you will be starting your host software and letting it run for minutes or hours as it tells your printer how to make things
 + 
 +There are currently more than 37,000 free software packages available for this system; ​ any of them can be installed with a few clicks. ​ Many of them are installed now.  Click the LXDE icon at the left side of the bottom panel to see some of them.  Use the Synaptic package manager (under Other) to see what is installed, or visit the Pi Store. ​ You can also use Synaptic to install updates. ​ But remember, the Pi is rather slow and low on memory, and it's probably best if you don't try to run any other programs while the Pi is driving your printer.
  
-You should change the default system password. ​ You may also want to create a new user (other than '​pi'​) and disable the pi account; ​ these are all standard security measures to protect your system from evil.+You should ​definitely ​change the default system password. ​ You may also want to create a new user (other than '​pi'​) and disable the pi account; ​ these are all standard security measures to protect your system from evil.  See [[http://​www.raspberrypi.org/​phpBB3/​viewtopic.php?​f=91&​t=57395&​p=432824|here]] for how.
  
 At this point, you can connect the Azteeg controller. ​ Plug it into your powered USB hub. At this point, you can connect the Azteeg controller. ​ Plug it into your powered USB hub.
Line 162: Line 184:
 === Install software to run the Bukobot === === Install software to run the Bukobot ===
  
-The only software you need to run on the Pi is your host software. ​ This is the software that talks to the Azteeg controller and transfers the contents of your G-code file to it, and may also monitor the printer'​s operations.+The only software you really ​need to run on the Pi is your host software. ​ This is the software that talks to the Azteeg controller and transfers the contents of your G-code file to it, and may also monitor the printer'​s operations.
  
 Many people also run other kinds of software on their host machine, such as slicing software. ​ It's best not to do this on the Pi, as it may not have enough memory and may slow down tremendously. Many people also run other kinds of software on their host machine, such as slicing software. ​ It's best not to do this on the Pi, as it may not have enough memory and may slow down tremendously.
raspberry-pi.1378588131.txt.gz · Last modified: 2013/09/07 16:08 by jit