In-depth look at the Einsy from Prusa's MK3! #TCT2017



i asked on Twitter if all components are 24 volt, but didn’t get an answer yet.

Today i found the schematics of the EINSY board and here my conclusions:

  1. The screw terminals are for power input PWR-IN, bed power input BED-IN and bed power output BED-OUT
    1.a. The heater cartridge uses still the known connector
  2. The heated bed has a dedicated power input and will be powered with the supplied voltage: 24v in = 24v out. This is protected with the 15A fuse
    2.a. Josef Prusa mentioned that the power panic mode uses a hardware chip. The Ultimachine EINSY uses few components to measure the PWR-IN and BED-IN voltage and these are going to pins (93 and 88) of the Atmega2560. The Atmega2560 uses an output pin (6), which is connected to an IC 74LVC2G08, to switch/power off the bed and heater. So all the logic is done in the software, nice!
  3. The power input is used for motors (one 5A fuse), fans, and all the rest (the other 5A fuse), where
    3.a. motors are driven with the power input voltage: 24v in = 24v out
    3.b. fans also also are driven with the power input voltage: 24v in = 24v out
    3.c. via a voltage regulator the VCC is 5v and this is used to power the rest like the PINDAv2, filament sensor, thermistors, etc.
  4. Two of the P1 connector pins are different to the miniRambo. Which are TX1/RX1 and now used in the expansion (Rpi) J19 to make a second serial port available. Nice that the TX1 got a voltage divider to limit it under 3.3V!
    4.a. Also nice that the expansion port J19 got the ‘power panic’ pin; thinking of Octoprint with fire-, what-ever sensors to switch of the heated bed and heater!
    4.b. The pin 1 of the expansion port J19 also provides PWR-IN voltage
  5. The TX2 pin 3 of connector P3 got an additional 100Ohm resistor, and i guess the MK3 MMU will use different pins

Only question i have is: Why does the EINSY still uses STEP,DIR and EN when everything can be done via SPI? Being backwards compatible? We will see in the Marlin firmware.

I can’t wait for the Ultimachine Archim 2 board which goes with a 32-bit and seeing Marlin 2.0 on that one.


I’d like to correct Mr Prusa here. The SilentStepStick 2130 in upstream Marlin are not driven in “dumb mode”.
Just as in the Einsy board, they are configured through SPI and driven with STEP/DIR pulses.
Also unlike Prusa claims, there are more features than just setting current, like configuring spreadCycle/stealthChop hybrid mode and monitoring for overtemperature conditions to automatically reduce current. Upstream Marlin has also had sensorless homing for half a year now.

Because TMC2130 does not have a step generator in it like the TMC5130 (TRAMS) has. You can drive the motor using DCstep but that is not usable in 3D printers as you would need to use full steps. Also changing the motion system to SPI driven, you would need a complete redesign and rewrite in the firmware. TRAMS is driven in this manner and will eventually be supported in Marlin.


The 74LVC2G08 is the hardware chip - the logic is not all in software. This is an AND gate - when the power good signal is deasserted (or the active low AC fail signal is asserted, same thing, different way of looking at it), the output of the AND gate is forced to be off no matter what the firmware tries to do. This, I gather, is due to poor interrupt latency. Pin 6 is an input.

Measuring the input voltage is done to detect fuse failure - you can’t use that nearly fast enough to detect AC loss, and where do you draw the line between ripple or poor transient response and AC loss if you try?


@Monkeh Thanks for the reply and you are right that the AND gate has two inputs once the ‘PWR-IN AND nAC_FAULTand’ and second ‘BED-IN AND nAC_FAULT’. So it will be triggered by a power loss from the PSU via this hardware chip. BUT it can also be triggered by the Atmega2560 or am i wrong?


thx folks, fwding it to Tom and Josef


On the topic of AC loss: The way it was explain by me by the Prusa bros was that the power supply used in the MK3 has some additional circuitry (opto-couplers and whatnot) in it to supply a “power good” signal from its AC side to the board. This means the logic on the board will be able to use a direct reading from mains input to notice a power loss.
Of course, this requires a special PSU. Prusa will get them modified/extended straight from the manufacturer.

On a side note, DUET actually does something very similar by monitoring just the 12V line. This does require much faster “reflexes” on the board’s side, which, I guess, the more capable processor on DUET can offer, but not AtMega.

When it comes to the simple vs. SPI modes on TMC2100/TMC2130, I think Prusa was referring more to the standard Allegro PCB form-factor that requires extra pins to interface SPI at all. If I had to guess, I’d say out of all TMC2100/TMC2130 carrier boards out there, probably less than 1% of users are actually making use of the SPI interface and all its nice features. Marlin does support it (and has done so for a while), but it’s still extra effort to wire it up. That being said, it might make for a great tutorial video :wink:


I guess you could, but why would you? If you know to switch that pin from input to output and drive it low… you can just turn off the heaters. The whole problem is they can’t use software to turn the heaters off fast enough, presumably due to the lack of preemptive interrupts on the AVR combined with existing interrupt handlers which take far, far too long to execute.


Thanks Tom making it more clear,
i also found the ‘Power Fault Relay Connector 12-24V’ in the schematics, which i guess will connect to the PSU.


Perhaps but while he acknowledges that there is current adjusting capabilities through firmware, he also then disregards every other feature available. But at least it’s nice that people are finding out about other Trinamic drivers than just the 2100. I very rarely get any feedback from users, so either it works really well or there are no people at all using them.
Yes it definitely would make for an awesome video. But with the current development of Marlin v2.0, we have a “semi feature freeze” on 1.1.x and I haven’t updated the upstream Marlin TMC configurations and features in a while because of it.


Maybe this is a really dumb question, but with what program did you open the schematics? And which ones? The ones from github?


To view the actual schematics you need Altium Designer. It’s, uhm, quite expensive. Stretches ‘open source’. I suppose it could be the more affordable Circuit Studio, I’m not sure if there’s a practical way to tell the difference without, well, owning one of them.

Thankfully they at least publish a PDF version:

sigh, ‘letter’ sized. Bloody yanks…


Thank you :slight_smile:

Does anyone know if the expansion connectors(p1,p2,p3) are used in the mk3?



i am pretty sure that P1 and P2 will be used for the LCD screen/SD card reader and P3 for the Filament Laser Runout Sensor (i2c) and the MK3 Multi Material Upgrade kit.


I was hoping to be able to attach led strips to the mk3 like tom did here. Any other idea where that would be possible?


[quote=elianterelle post_id=1793 time=1509095130 user_id=715]

I was hoping to be able to attach led strips to the mk3 like tom did here. Any other idea where that would be possible?
[/quote]Couldn’t you use the 5v plug next to the reset button?