CEB Press/Manufacturing Instructions/Detroit Fab Lab Solenoid Driver v4

From Open Source Ecology
Jump to: navigation, search

Source File Repository:

All source files are located in this repository: schematics, board layout, netlist, drill list, arduino source code, etc.


  • Add Left/Right/Up/Down buttons on board
  • Add Left/Right/Up/Down terminal positions for external control
  • Add Left/Right/Up/Down to source code
  • Build schematic and board layout in with KiCAD

Design Rational

  • Buttons and terminals must all be easy to access
  • Circuit board must be easy to etch by hand
  • Populating and soldering parts of the circuit board should be easy
    • Using more through hole components this time for this reason
  • Circuit board should be small so that they are cheaper and faster to etch/mill


Here is a view of the board with all of the layers visible. You will want to use other views for milling or etching. Other file formats can be found in the [1].


Here is a view of the schematic Cebpress-controller-schematic-v4.png

In order to build this board, you will need to either:

  • purchase an already milled board
  • mill your own board
  • etch your own board

From there you will need to assemble the board with the following parts:

Bill Of Materials


  • The original MOSFET is rated to 50V,16A but the solenoids listed in the Bill of Materials only use 3A @ 12v (D05S-2C-12D-35 and D05S-2H-12D-35) reference pdf.
  • Pullup resistor for buttons can be set in code -
  • The Teensy 2.0 is used in this project, but only after we realized that it uses a closed source bootloader. I'm not sure what a good long term solution is. Should we stick with Arduino Uno?
    • Yes --Yoonseo
    • I agree, though I won't have time to update the board, the schematic shouldn't really have to change and if we don't worry about board size laying out a new board should be pretty quick --zdwiel
  • The part of the circuit with the 44.9kohm pull down resistors needs to be revised, right? Instead of in-line it should be a separate parallel path to GND