Oct 8, 2013

New 3d printer controllers: Smoothieboard, RAMBo 1.2 and Intel Galileo


Looks like the idea behind Smoothieboard is to have one board to rule them all. Beside that it is open source G-code interpreter for all 3d printers, laser cutters, mills, and other CNCs. 
While most current Open Source Hardware electronics use 8-bit AVR microcontrollers ( such as those used by Arduino ) Smoothieboard runs on a more powerful 32-bit ARM microcontroller ( LPC1768 Cortex-M3 ). This allows for smoother and faster step generation, as well as more precise math, deeper planning, and leaves room to add more features.
It is supposed to be futureproof.

The board has been designed to be as useful as possible. This means a no-nonsense approach to board layout and functionality:
  • Stepper motor drivers are cooled by the PCB with wide copper areas which allows you to get more out of your board than with normal off-board drivers.
  • All main connectors are on the borders of the board making it easier to plug in and leaving the board less clogged with cables.
  • All pins are broken out to make it easy to add things to your board and to make it easy to support new uses
  • Stepper motors current setting is controlled digitally. Forget about turning minuscule potentiometers with a screw driver; Just set your current in your config file.

Technical Specification:

NXP LPC176x Microcontroller
96MHz - 120MHz 32-bit ARM Cortex-M3 Core, 64KB RAM, 512KB Flash

Allegro A4982 Bipolar Stepper Drivers
up to 24V 2A 16x microstepping, digital current control
3 to 5 drivers depending on chosen configuration

Up to 6 FETs
3 support up to 24V 5A and 3 support up to 24V 12A to control external devices like hotends, fans and heated beds.
3X boards have two small mosfets, 4X have two big and two small, and 5X have 3 big and 3 small.

Lots of room to expand: 4 thermistor ports, 6 endstop ports, SPI, I2C, UART

Robust host options: USB, MicroSD slot, ethernet
Easy reconfiguration!
File based configuration ( no recompilation required )
File based upgrades ( binary files provided, no compilation needed for upgrades )
Simultaneous file and serial access over USB.

On Kickstarter it starts from 100 USD for 3 axis version, to 160 USD for 5 axis version.



RAMBo 1.2 

From product page:

Improvements for version 1.2 of RAMBo motherboard include:

USB isolation - Ground loops are a known issue with USB. When two devices are connected to mains power it is possible that their grounds are at different voltages. When a USB cable is connected between two devices with a different ground reference the cable can be a path for current return. This can cause interference, and in worst cases burn traces/components on circuit boards, and melt USB cables. It can usually be avoided by ensuring USB connected devices are plugged into the same power outlet as their peers. We opted to add isolation between the atmega32u2 that handles serial comms and the atmega2560 that runs the printer. The Analog Devices iCoupler ADUM7441 used is transformer based so it is isolated in a way similar to ethernet. We chose this part over opto-couplers mainly due to its small footprint for the number of isolated channels.

Thermistor over voltage protection - Over voltage and ESD damage to microcontroller ADC pins has killed many 3D printer controllers. Like many recent 3D printer developments a solution was proposed on the RepRap Forums. Bobc, Nophead, Cefiar, and NoobMan proposed an overvoltage protection for the thermistors. I found the discussion and based my implementation on nophead's sketch here. We customized it for the impedance, leakage current, and VCC level of RAMBo. It protects the Atmega2560's ADC from continuous 24V input and short pulses of 35V.

All the power rails on the new RAMBo boards are compatible with input voltages up to 35V.

There is a more detailed change list on the RepRap wiki. The individual commits are in the RAMBo source files on github. We will be publishing more docs shortly (mostly at the RepRap wiki). Google


Intel Galileo

From Arduino page:

Galileo is a microcontroller board based on the Intel® Quark SoC X1000 Application Processor, a 32-bit Intel Pentium-class system on a chip (datasheet?). It’s the first board based on Intel® architecture designed to be hardware and software pin-compatible with Arduino shields designed for the Uno R3. Digital pins 0 to 13 (and the adjacent AREF and GND pins), Analog inputs 0 to 5, the power header, ICSP header, and the UART port pins (0 and 1), are all in the same locations as on the Arduino Uno R3. This is also known as the Arduino 1.0 pinout.

Galileo is designed to support shields that operate at either 3.3V or 5V. The core operating voltage of Galileo is 3.3V. However, a jumper on the board enables voltage translation to 5V at the I/O pins. This provides support for 5V Uno shields and is the default behavior. By switching the jumper position, the voltage translation can be disabled to provide 3.3V operation at the I/O pins.

Of course, the Galileo board is also software compatible with the Arduino Software Development Environment (IDE), which makes usability and introduction a snap. In addition to Arduino hardware and software compatibility, the Galileo board has several PC industry standard I/O ports and features to expand native usage and capabilities beyond the Arduino shield ecosystem. A full sized mini-PCI Express slot, 100Mb Ethernet port, Micro-SD slot, RS-232 serial port, USB Host port, USB Client port, and 8MByte NOR flash come standard on the board.