Generation 7 Electronics

From RepRap
Revision as of 16:40, 8 January 2011 by Traumflug (talk | contribs) (Etching)
Jump to: navigation, search
Crystal Clear action run.png
Generation 7 Electronics

Release status: Experimental

Gen7 Layout.png
Generation 7 Electronics
GPL v2
CAD Models
External Link

This is a complete set of electronics loosely based on the (a bit unfortunately named) Gen2OnABoard. It has many features in common with the various Pololu_Electronics variants. So you can as much call it based on RAMPS, as it's a step forward to simplicity and lower price by replacing the Arduino Mega, which is rather a heavyweight for the task at hand, by a simple, cheap, easily solderable (DIP housing) ATmega controller chip.

Design Goals

  • PCB easy to manufacture on a RepRap.
  • All parts on one board. Except for the Opto Endstops, of course.
  • Enough components to run a Mendel or Huxley with extruder and heated bed.
  • Easy to set up. For example, this would include an USB port.
  • Well available and cheap parts.
  • Based on the ATmega644.
  • Well suited for community driven development.


  • Single board solution.
  • Single sided PCB.
  • Pololu stepper drivers, exchangeable.
  • 4x stepper motor drivers with 1/16 microstepping.
  • TODO: on-board USB-RS232 converter.
  • Integrated hardware for driving one extruder (stepper, heater and thermistor).
  • Integrated hardware for a heated bed (heater, thermistor).
  • Integrated hardware for driving a fan.
  • Ready to be hooked up on a generic PC power supply unit (PSU).
  • Use of standard connectors.
  • Debug LEDs for power, Fan and both heater outputs.
  • Can turn PSU on and off in software.
  • Reset button.


  • Dimensions about 100 x 120 mm.
  • Input voltage through a 20-pin PC PSU and a 4-pin Molex or the 4-pin Molex alone (which allows higher voltages for the motors/heaters).
  • Processor: ATmega644 (Atmel Corp.)

More to be defined.


At the moment (04.01.2011) a special patched firmware is required to use the board. This firmware is based on the FiveD on Adruino RC2. Some few changed were made to support endstops and homing. Also the correct pins for the hardware were set in the config.h.

The patched firmware (recommended) can be downloaded here: File:Gen7PatchedFirmware 20110105.tar.gz

The original (unpatched) firmware can be downloaded here:


The firmware seems to have a problem with temperature measurement. A workaround for the testboard: In temp.c, in line 142 is the calculation of the temperature. There is a multiplication with 4, put this multiplication at the end of the line. This fixed the problem, we don't know why and you will not have decimal places.



First test board of Gen7

24.12.2010: A first version of the Gen7 board has been etched and is beeing tested. The hardware seems to work, but the software still needs to be ported and tested with a RepRap.

29.12.2010: Some patches were made in the firmware to support endstops and homing. The patched firmware can be downloaded in the firmware section.

30.12.2010: Some more patches to the firmware. Current firmware seems to be stable and working. Not 100% tested yet.

04.01.2011: We found some bugs in the firmware again. All of them seems to be fixed, release is planned tomorrow.

05.01.2011: Uploaded current firmware with a lot of patches.

08.01.2011: Some little modifications of the PCB are required. Pull-Up resistors for I²C are missing, we want to change some headers to more common one, some resistor values are missing, ...

Layout, PCB Editing

Gen7 uses gEDA, a true open source set of Electronics Development Applications (EDA). While gEDA has a bit of a learning curve and has some room for improvement regarding the graphical user interface, it's reliable, fast and well suited for the task. gEDA is available for Linux and Mac OS X and has ready-to-use packages on Debian/Ubuntu and SuSe. To install it on Ubuntu, simply type

sudo apt-get install geda geda-utils geda-xgsch2pcb

and you'll find schematics and PCB layout editor applications in your applications menu.

Typical Work Loop

RepRap is all about evolution of machines and lowering entry barriers into their (self-)replication, so here you have an easy how-to type description of a typical work loop for changing these electronics with the gEDA/PCB tool chain.

Download the files with Git or GitHubs download button. In the later case choose to download source and unpack that when done.

  • Always start editing with the project (.gsch2pcb suffix) file. You can open it by double-clicking it.
  • Select the schematics and use the button below the list to open it.
  • When done, save it and return to the project.
  • Open the PCB using one of the buttons to the right. Both have almost the same functionality.
  • If you have choosen to update the PCB, footprints no longer in use will have vanished and new or previously missing ones appear in the upper left corner. An updated list of connections (netlist) will have been loaded. Update the rats nest to find areas requiring work.
  • When done, save it and return to the project.

You get the idea?

PCB Manufacturing

gEDA can export PCBs to the Gerber and other file formats, of course.


On how to proceed further with that, see the PCB Milling page.


For etching, you likely want to reduce the amount of etched copper to a minimum. One way to get there perfectly, is to lay a ground plane into the layout:

  1. Open the layout in PCB.
  2. Switch to the "GND-sldr" layer.
  3. Remove all tracks on this layer ( = all light blue ones = all of the GND net minus vias and bridges, find the net with Menu -> Window -> Netlist).
  4. Draw a RECT (find the tool in the left bar) as big as the entire board.
  5. Now some tracks will be shortened with the new ground plane. Move the mouse over this track and press the "j" key (on your keyboard).
  6. For pins and pads you actually want to connect to the ground plane, set a Thermal (THRM tool to the left).
  7. With the last two steps, "optimize rats nest" (o-key) helps a lot. Continue until you get congratulations (no errors).
  8. You're done.

On how to proceed with this etching-optimized board, see ... [Links needed]

Bug fixing, Sending Changes

This is community development, so getting changes from everyone is more than welcome. Write them to the forum, to the reprap-dev mailing list, use GitHub's Issue Tracker, whatever is most convenient for you. If you fork the repository at GitHub, you can also send Traumflug pull requests.