The main task of my final project was to design the circuitry and the PCB layout of a universal control board suitable for most 3D printers as well as for smaller CNC routers. The board receives the G-code commands via USB port and controls the peripherals accordingly. After considering the mechanics of these machines and the usual capabilities and functions of commercial 3D printer and CNC router controllers, I designed the board to be capable of controlling five stepper motors, three brushed DC motors and four high current PWM outputs for the extruder heaters. I also included ports for connecting the usual accessories of these machines, like endstops and thermistors. For communication and expansion purposes there are USB, UART and I2C ports included in the design. The microcontroller can be programmed and debugged on-board, this allows several uses of the board, even for other applications requiring motor control. I also developed the closed loop DC motor control algorithm in the microcontroller of the board using the signals of the incremental encoder placed on the motor shaft as feedback. This paper contains the documentation of the design process and the testing of the manufactured board as well as the developing and testing of the DC motor control algorithm.