Electronics for Plan B

Previous step

After assembly Plan B needs to be wired. This is can also take a day, there are quite a few wires and connectors to be made. Motors, endstops and sensors are wired with ribbon cables. Heaters and power supply are wired with wires of around 1.5mm². The megatronics V3 board needs to be configured. There are several headers to adjust microstepping and power supply. The header for the power supply is located near the USB port. It toggles between powering the board from the USB port and powering it through the power input. For microstepping, every motor needs to be configured for a certain value. These values are all quarter steps, or the only the middle header connector, as shown in the picture.

Use heatsink plaster to glue the heatsinks to the A4988 stepper motor drivers. Plan B doesn’t need ridiculous amounts of power, but the driver will still get warm. To adjust the drivers (done when everything works), turn the tiny potmeter counter clockwise and turn the motor on. Then keep turning clockwise until the motors no longer lose steps. Then turn the potmeter by another 15 (ish) degrees for safety. If you hear the motors skip while the printer is printing or moving, turn the potmeters further clockwise, the motors are not receiving enough power.

[Megatronics documentation]

To connect the Keypad and LCD screen, go to the documentation. There is no simple way to show how these need to be connected, so going to the pin mapping might be the easiest thing.

The firmware tells which connector goes where, but the image hopefully clears up some remaining mysteries.

Megatronics connection diagram



[/ezcol_1half] [ezcol_1half_end]


Under the printbeds are heating resistors. These are used to heat the printing powder to make the parts stronger and printing more stable. The resistors are aluminum housing 2.2Ω 25W resistors. They are soldered in 4 parallel pairs of 2 resistors in series. 1 Set under each feed piston and 2 pairs under the build piston. The resistors are glued on the underside of the piston using heatsink plaster, that I also use to glue the heatsinks on the stepper motor drivers. Fairly thick gauge wire (around 1.5mm²) connects the heating resistors to the Bed heating port of the Megatronics.



[/ezcol_1half] [ezcol_1half_end]




The boost circuit has two functions. First it boosts 12V from the printer to 20V the cartridges need. Secondly it converts the 4 input lines the Megatronics has to spare to the 12 lines needed for the cartridge. The circuit is based on Nicholas C. Lewis’ inkshield (http://nicholasclewis.com/projects/inkshield/).

An interesting point on the circuit is the enable (safety) connector. Early in the design I found that resetting the megatronics lead to the cartridge to uncontrollably firing. This destroyed a few of my cartridges. I added a safety line on a different port on the atmega to protect against these misfires, hoping that not both the Aux3 port and the enable port are high at the same time. It physically interrupts the 20V going to the cartridges. Thus far it has worked. Added bonus of this is that it is completely safe to change cartridges while the printer is not printing, there is no power on the cartridge. Because the megatronics has no open pins left, I had to design it so it could be driven from a heater mosfet (extruder 0). This mosfet supplies 12V and is sinking, so a relay was used to switch the enable (safety) on.

Additionally on the boost demultiplex circuit is the carriage (X) endstop. The ribbon cable running to the cartridge has 16 poles. The cartridge only requires 13 lines (12 nozzles and a supply). The endstop requires an additional 3 poles. If that is not divine intervention, I don’t know what is. At the circuit board at the cartridge, the 3 poles for the X endstop are connected to the endstop by a header. This way only one cable runs to the carriage.

demultiplexer board_schema

There are two varieties of the boost demultipexing circuit. The first version is the home made version. It is only a single sided PCB and can be made even with the most crude etching equipment anyone might have. It has a relay for the safety, and because of the diode protecting the relay, it is very important that the polarity is not reversed. The circuit on the cartridge’s side has a boxed header connecting the flatcable to the ribboncable. This header is not soldered through hole but is soldered on top of the circuit.

The second variety is the professionally made circuit. It is more compact and has no jumper wires. It used to have an optocoupler for safety, but this component did not expect as planned. A temporary fix needs to be made to fix it. This circuit has been ordered per 10, so the remaining boards will be for sale in the (soon to be) shop if they function properly.

Warning, The professional circuit does contain a bug. A fix is described below. Without this fix the professional circuit will not work.

The boost demultiplexer circuits contains the following parts:


  • ULN2803: 2x;
  • HC4067: 1x;
  • MC34063A: 1x;
  • Resistor 1kΩ: 1x;
  • Resistor 33kΩ: 1x;
  • Resistor 2,2kΩ: 1x;
  • Resistor 0,22Ω: 1x;
  • Resistor 180Ω: 1x;
  • Inductor 180µH: 1x;
  • Capacitor electrilytic 100µF 16V: 1x;
  • Capacitor electrilytic 330µF 35V: 1x;
  • Capacitor 1,5nF: 1x;
  • Diode 1N4001: 1x;
  • Diode 1N5819: 1x;
  • Led 5mm: 1x;
  • Relay 7x12mm 12V 1x switching: 1x;
  • boxed header 16 pins: 2x;
  • Header 2×4 male: 1x;
  • Header 1×3 male: 1x;
  • Screw terminal 5.08mm 2 pins: 2x;
  • FFC connector 16pole (top facing contacts): 1x;



Electronics side by side

The circuits can be downloaded here:


Download professional boost demultiplex

[/ezcol_1half] [ezcol_1half_end]

Download DIY boost demultiplexer



Edit 7-12-2017: A mistake exists in the DIY circuit. The pad (circled red) intersects with a trace. When etching the circuit, this trace needs to be separated from the pad or one nozzle will not fire and be damaged on the driver circuit. Other fixes will not be made to this circuit anymore.

[/ezcol_2third] [ezcol_1third_end]


Assembling the circuit requires the following steps:

  1. Solder all resistors and the bridge on R5 in place;
  2. Solder the diode and the LED in place;
  3. Place all the IC feet;
  4. Place the headers and the inductor;
  5. Solder all capacitors in place;
  6. Mount the screw terminals;
  7. Place the Boxed header;
  8. Install all of the IC’s and the fix circuit;
  9. On the FCC board, solder the FCC connector in place with either a hot air soldering station or a soldering iron with a very fine tip;
  10. Solder the boxed header and 3 pin header on the FCC board.

A fixing circuit needs to be made. It is soldered on a 6×7 island prototyping board. It contains 2 3×1 header to connect with the optocoupler IC foot, a miniature 12V relay and a diode to protect from voltage spikes, caused by the coil on the relay. Pictures and schematics are shown below.

next step


  1. Hi,

    My team already connect the boost safety connection correctly according to the instruction (the LED on the demux circuit lights up when printing) but we encountered a problem that the ink was not extruded. The ink would only be extruded when we disconnect the boost safety connection. Is there any way for us to rectify this situation/problem?

      • Hi, we used G5V-1-DC5 (Form C SPDT) like what you did that were included the DIY version of instruction but we’re not sure how to set the NC connector of the relay to the NO part. Should we use another type of relay or is there anyway for us to change the connection of the circuit to rectify this?

        Thank you for your help.

  2. Hi Dear,
    Can we operate this project from pc instead of lcd and keypad.
    And can we use only build container i want to spread powder by using v-container i dont want to use feed1 and feed2.

    • Not by default on both of them. It is simply not designed to do that. Oasis is controlled through PC, and only has a single feed, so it is easier to change, but it still is a system that requires changes to work.

  3. Hi sir
    Can we use Megatronics v2 board instead Megatronics v3.2 board ?
    and About the code if I use Megatronics v2 is it will be problem?

    • Both boards have the same controller, but the pinout is completely wrong. It can technically be used, but it requires quite a bit of alterations in the code to make it work.

      • Is it change from code that you give in a website a lot(code with Megatronics v3.2 board)?
        Do you have alterations of the code?


        • I only have V3.0 supported. I do not know if 3.2 is similar enough. All other versions are not officially supported. I have already stopped supporting Plan B years ago, so I have not kept up with newer boards.

  4. Hello, I’m in the middle of the construction phase. But I’ve just discovered following problem:
    I’m using the Megatronics v3.2 board and the keypad seems to be incompatible with the board. I haven´t studied the problem yet, maybe there is the possibility to get around this problem.
    But I just wanted to ask quickly if someone has already had experience with the problem.

    Best regards, Tobias

  5. There is a second similar bug on your pcb layout – on the opposite side to the red circle there is another pad intersecting with a trace. It also appears that the relay is connected the wrong way around with the NC (normally closed) contact connected to the cartridge.

    • Could you circle the error you’re referring to? I can’t seem to find it. I’m currently having trouble getting the cartridge to fire and I think this circuit is the problem

  6. If we don’t know how to make boost converter and want to buy the inkshield one. Is it possible to use the inkshield for the printer and how to do it? Should we need to change the code?

  7. Can anyone help me with the part number for the ffc conector that connects to the flat cable on the cartridge carrier? I haven´t found anyone who can tell me which to use and I´ve already ordered some that are too small.

  8. Does the heater mosfet (extruder 0) supply 12V and 0V,when the printer is working? I test the output of the mosfet (extruder 0) ,12.4V and 10.5V, when the printer is not working, is that normal?

  9. Hello Yvo,
    I have a question about a problem I am having with the spreader stepper motor. When I try to move the stepper motor with the buttons, the spreader oscillates back and forth and makes a loud buzzing sound. When I turn the potmeter counterclockwise, it does the same thing but with a larger range. When I turn the potmeter clockwise, the spreader motor stops working and I need to reset the board. I assume this is because I have overloaded the driver?

    Either way, I am not really sure what is causing this problem or how I could fix it. Did you encounter this problem while you were building or do you know how I could fix this?

    Thank you,

  10. Heyguys, I connected LCD display and keypad to megatronics v2.0, and after rolling of rotary encoder display Went out. We know that megatronics and display is fine, but now after connection we have nothing on display.
    Кто-нибудь из Москвы собирал план б? Нужна помощь.

  11. Will the LED on the Boost-demultiplexer circuit shine when the power is on? My plan-b printer has almost finished, when the power is on, the LCD is on, and the gantry can move by using the “Movement” submenu, but I still have a problem with SD card. My LED on the Boost-demultiplexer circuit never shine when the power is on, is this a problem or normal?

  12. Hi, I have build your Plan B printer.
    I have some problems with the carriage. I wrote a small programm based on your code for a nozzle test. I found out that only the nozzle number 7 is printing. So if I print a part there are several lines, which are not directly next to each other. So the printer creates long lines with gaps in between. Also if I increase the density (over 200%) the printed lines getting shorter. The carriage stops printing while it drives the wanted printline. Do you know a solution for that problem.
    Another question: While searching for the reason of the problem I found out that there is no common Ground wired to the carriage. Why we don’t need the Ground at that carriage?

    Thank you in advance

    • First I will need to know what you wrote. Did you write something that generates print code or did you tweak the firmware. Density should not affect the size of the line printed. The printhead stopping to print but continuing to move could indicates faulty lines on the SD card. All other problems also seem point to this. It would be really helpful if you could contact me through the contact form so I can see what it is you are trying to print.

      Only nozzle 7 printing can be the head not properly starting up. It is not rare for the C6602 to have clogged nozzles. Gently wiping it with a damp cloth should clear that if the problem is clogged nozzles. It could also be tied to the other problem.

      The head is common source and the pins are sinking. There is no common ground pin.

    • You might want to start by going to the 3.0 page listed right on the 2.0 page, they are similar, but that is not a guarantee that they are compatible. (me assuming you use a 3.0 like required) http://www.reprap.org/wiki/Megatronics_3.0

      The basic idea is that you start wiring from the 1 mark (denoting the start of the pins) and moving left to right and down if you have the 1 above the header. Be aware that the view that shows the board and the view that shows the wires to the lcd. The 1 on the board is leading in how you should wire it.

      If you did that correctly, there is the final step of the tiny potmeter close to the header that handles the contrast of the lcd. If the lcd is wired up properly, the potmeter should have a position where you will see the characters show.

  13. Do you know what orientation of the flat cable coming from the inkjet head you are referring to, when it plugs into the output header labeled on the circuit diagram? I’d like to know how to determine which pins on the inkjet’s cable are signal and ground wires.

    • SMD versions are still available, but DIP versions indeed seem to be running low. Even my supplier does not have them. There is not much I can offer here. I know of no drop in replacements. The best I can think of is soldering an SMD version in place with a breakout board and some wire.

  14. Hi,

    i am starting to build up you Plan B printer!
    Regarding the electronics one question came up.

    I would like to get the Boards professionally printed. Is there an already updated Version including the safety circuit for the Board layout?
    Best Regards and thanks for your answer!

    • Sadly there is not. Plan B was always a prototype and I never really made it into a finished product. If I did I would have replaced the Megatronics V3 with something custom. The circuit as it is right now is the most finished it will be.

  15. Hello, I’ve just finished the assembly of my printer and now posting The downloadable circuit schematic looks a little different from the schematic picture above on this webpage. For example, the power switch is connected to an optocoupler on this webpage but on the downloadable schematic it’s connected to what looks like a relay. Also what are the FFC breakout shields in the schematic on this webpage? And what type of optocoupler are you using?

      • It looks like the safety circuit still calls for an optocoupler IC. What’s the serial number for that? And what does “Signal Input Header” on the circuit schematic stand for? And why does the boost circuit require a .22Ohm resistor? That seems pointless cause wire is like 1Ohm. I couldn’t find an explanation on Nick Lewis’s page either. (sorry for all the Q’s but thank you!)

        • It does not. All of the safety circuit is replaced with a tiny 12V relay and a diode. It is the piece of prototype board with the 2 3 pin headers that plug into the previous optocoupler socket.

          The signal input header is where the board receives the signals from the microcontroller. It is a 2×4 pin header that corresponds with the one on the Megatronics V3.

          Wire is WAY less than 1ohm. If you are using a multimeter you cannot even measure the resistance of wire. Wire is in the range of milli-ohms. As for the resistors function. It has to do with the external components needed for the MC34063. The exact workings of it are also beyond me, but if you do the maths on the components required, you do get roughly 0.22ohms to go from 12V to 20V.

  16. The ‘Download DIY boost demultiplexer’ does not appear to contain information (Gerber files) regarding the FFC Breakout shield. Am I missing something or are the files missing from the download? Thanks

  17. Hello,
    I am printing the professional boost demultiplex and was wondering if you had the NC drill files. Also, what sizes should the drill holes be and where does the boost demultiplex attach?

  18. Hi
    mechatronics v3.1 is out of stock. Can it be made by using arduino with lots of shields. Is there any advice you give?
    Thank you

    • Not with of the shelf shields that I know of. The issue is that some very specific pins are needed for the inkjet, and that this firmware is not easy to rewrite to change the pins. I think it is easier to look for other sources of Megatronics V3.0 or V3.1 than to look for a way to do without.

  19. Hi, i have one question about megatronics, V2 revision off ebay will work? asking because V3 is only available at reprapworld, and little bit pricey… Thx

  20. Hello,

    I am a novice when it comes to electronics. Is there a more in depth guide of how to attach all of the components together, for instance the motors have six wires but are only connected to a four pin connection. Any help will be greatly appreciated.


  21. I just was wondering why you didn’t use the the inkshield itself? what is the differences between your version and the inkshield

    • The reason I didn’t use an ordinary inkshield is twofold.
      One, I didn’t have access to one.
      Two, the Megatronics I use does not have the I/O’s required to drive an inkshield, it is short one. In stead of making adjustments to the inkshield, I just designed my own version that will fit without modification. It was open source anyway.

      The difference is that in stead of a 5th input that makes the shield active, I have a relay that interrupts the 20V going to the cartridge. The relay can be hooked up to the 12V power mosfet on the megatronics, that was still free. Other than that, it is basically the same.

  22. Hello,
    I am wondering that why you put the heating resistors under the bed of feeding piston? In this way, only the bottom layer of powder can be heated. I intend to change the round spreader into a rectangular one, so that I can mount heaters on the spreader and the upper powder can be heated. What do you think about it?

    Thank you!

    • I had to make do with the hardware I had. Pistons were the easiest place to heat. The heat will rise through the powder, and it works fine for me, but it could be better.

      I do not know whether the spreader will be able to transfer the heat fast enough, but there is nothing that should stop you from trying.

  23. Hello,

    I was wondering if you could help me with the electronics, I’ve built a machine but it’s a little simpler in design because of a lack of resources.
    I have RAMPS ready to go, it has enough space to cover all the drivers required for your machine so I chose them, however as I noted my machine is a little more simple…
    This built requires four motor drivers but it could (If Firmware supports it and each Piston is equal in size, or the powder piston is larger) requires three Motors by inverting one motors wiring and connecting it to one driver like the Huxley’s Z-Axis for example.
    Two motors would move off one driver, in this case however in the opposed direction from each other, I’d wire it by connecting it as such:
    Wire Color Wire Color
    Black (Attached to) Blue (To Driver)
    Green (Attached to) Red (To Driver)
    Red (Attached to) Green (To Driver)
    Blue (Attached to) Black (To Driver)
    Anyway, regardless I’d like to make this work using RAMPS and four driver motors, I’ve attached a scraper (Angle Aluminu Bar) under the carriage and I’d like it if the X-Axis (I think) could pass over the Powder Piston before it lifts and the Print Piston falls, then pass over the full span of the Bed, return to Zero on the Print Piston and start the next layer plot.
    Is this tricky to change in the Firmware?
    I haven’t really looked at it yet, but I’m at the part where I do (After this message), so any help and/ or suggestions would greatly be appreciated.
    If you send me an email (Let me know if you need my email addy) I can send some pictures of my build so far, or answer any questions you might have about it.
    Thanks for your time, and I hope to hear back soon from you.

    • Never mind… I’m looking at the firmware now and I maybe able to manage
      However I’m not getting 14-tabs, instead an error message asking if I’d like to place the pde in a file to open it.

    • Hello,
      I would love to see said printer and in general it sounds great. I will however give you one advice. Use separate drivers for the feed and build piston. The €15 you’ll save, you lose within a day in frustration and time lost, messing with synchronizing the build and feed piston.

      You should get 14 tabs, so maybe the files are not in the right folder (the folder within the Zip is also part of the firmware). From what I can see, everything that you need to modify happens in the Main (alfa) tab, movement and homing tab. Everything else should just be able to carry on. If I know what needs to happen, I might be able to help modifying the firmware.

      There is a contact me page for mail contact.

  24. Hello,
    On the Boost+Demultiplexer Circuit what voltage did you get at the output of the ULN2803A?
    Are the output pins suposed to be 20V?

  25. hi
    i have a problem with .pcd and .sch files of megatronics that i download from reprap
    i attempt to open these files by altium but when i open them the whole page is blank!!!!!!
    what i must to do????
    or which software i can use to open these files???

    • I didn’t make these schematics, I bought these parts, but I know more stuff from this author and some other files say that it is designspark files. Filespark is freeware, but other than that it is unknown to me, I use Fritzing.

      Hope this helps

  26. hi everybody
    i need to print circuit board of the Boost-demultiplexer and i need a pcd file format ,not png nor pdf .
    can anybody help? or can anybody explain me the garber files format that exist in zip file?

    • What do you need a PCD file for, what is it used for and by what program? I have never heard of it. PDF is used if you want to etch yourself. Gerber files are a universal PCB file format, used by all major and minor PCB manufacturers. It can be opened by many programs for examination and manufacture. The fritzing file is the source file. Here you can edit the PCB.

        • If you google: “gerber file viewer” you will get a few good suggestions. At the top of the search is:
          Which is an online gerber file viewer. This will show the circuit. However, if you want to edit this circuit, you will have to use fritzing, which you can download for free. The professional circuit is next to impossible to make with normal PCB manufacturing equipment at home, you will need professional tools with through hole plating and etch masks, only available through PCB manufacturing companies. The DIY version can be made on a single sided PCB.

    • I am not using an inkshield, I made something based of the inkshield. The on-board 20V booster on this board is not another one, it is the one. It is not on any of the other boards and is very necessary for printing.

      Hope this helps

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.