The QU-BD Revolution XL (‘RXL’) 3D Printer lacks a built-in LCD interface, and after more than a year of using the UltiController on my original Ultimaker, I found the need to hook up a computer to be really inconvenient. Plus I just don’t really have the space for it in my work room, leading to a less-than-amusing incident involving a long print, a glass of wine, and a laptop keyboard. It was time for an upgrade!
Originally, QU-BD was planning on offering the Panucatt Viki controller as an optional add-on for their printers, but some supply constraints upset that plan. The controllers are available now, so I ordered one, and recently set about installing it myself. I thought I’d document the process to help others facing the same thing. The specifics below relate to the RXL printer, but in general, most of it should be applicable to any one looking to hook up a Viki controller to X3 electronics – especially if you’re using Repetier firmware, as the RXL does. However, from what I’ve seen online (thanks, Wired1, for the inspiration and info), I believe that Marlin’s Viki implementation also uses the same pinouts for the same things, so it will probably also work as-is for Marlin-based printers too.
I have one of the first RXL’s out of the factory, and mine at least needed me to recompile the firmware with some different settings to actually get the Viki working. I’ll cover the firmware side of things in two other blog posts (here and here) – but for now, this post focuses on the physical steps needs to attach the Viki to the X3.
Not My Problem
First of all, a disclaimer. I’m offering these instructions in good faith, and to the best of my knowledge they document what I did to upgrade my own printer. But if you do this on your printer, then there is a risk that something could go wrong. You might end up destroying your printer or controller electronics, and will probably invalidate the warranty on your printer. So be careful, and be warned. I will not be responsible for whatever you do to break your printer.
For a start, turn off the printer and unplug it from the mains. Then be sure and ground yourself, so you don’t damage the electronics through static discharge. You need to work on the underside of the printer where the electronics is, so for me the best approach was to slide the x-axis assembly all the way to the back of the bed, and turn the printer upside down over the edge of a table, so that the x-axis hangs off the side. Before doing this, wrap some tape around from the the surface of the basalt bed, across the aluminum frame and round to the underside of the heated bed assembly. This will help prevent the basalt bed from falling out when you turn the printer upside down.
Then turn your attention to the electronics that are now exposed. You’ll need to remove the fan and acrylic plate that covers the Azteeg board. This requires a suitable hex-driver for the M4 machine screws that QU-BD used – although since there’s not much torque needed, a T15 Torx driver works fine.
Carefully lay the fan up out of the way on the power supply, while you work on the rest of it.
If you want to use the SD card reader in the Viki board, you’ll need to disable the built-in one by removing a solder connection under the X3 board. That’s the next section of this page… if you don’t want to do that, you can skip ahead to the section below on hooking up the I2C interface that drives the LCD display and buttons, and then ignore the part later about connecting the SD Card slot, as well.
Enabling the External SD Card
The first step to enabling the external SD card is to unscrew the plastic stand-off pillars that the cooling fan sits on; you may need to use an M3/T10 driver to stop the bolts that project through the bed of the printer from turning as you unscrew the pillars:
Also unplug the USB cable from the board, and unclip the wires from the side of the power-supply, so that you have room to work.
If you’re careful and have some sort of clamp (or assistant) to hold the board for you, you can remove the necessary solder link without unhooking any of the wires on the board. Lift the board off the screws in the corner and, being sure not to overstrain the wires, tip it on its side so you can identify the solder link located just underneath the USB socket:
I used a soldering stand with adjustable alligator clips to hold the corner of the board up. Use a soldering iron to melt the connection and wipe it away. Desoldering braid or some sort of vacuum device may be helpful. Take care that the solder doesn’t roll away and short out any of the other pins – especially if you’re working with the board tipped at an awkward angle. Once you have removed the solder, you should see the separate pads, and if possible should check with a continuity tester that the pads are now isolated, and there isn’t any trace of solder still shorting them together:
Once this is done, you can seat the board back on its corner screws, and re-attach the standoff pillars to hold it in place, while you start hooking up the cables. Also, if you didn’t want to enable the external SD slot, and do scary soldering iron stuff, then this is where you rejoin the story…
The Viki comes with two identical cables. Each has a single 3×2 block connector on one end, and six single-pin connectors on the other end. Check if yours are the same as shown in the picture below, in terms of the arrangement of the colors. If so, following along should be pretty straight-forward. If not, you’ll have to adjust the color coding accordingly, so the correct pins on the Viki go to the right places on the X3. You might also like to refer to the data sheets for the X3 v1.1 board, and the Viki controller, to see more clearly what goes where, and why.
To use the LCD and the rotary encoder and buttons, you only need to hook up one of the cables. It goes from the upper most of the two blocks of pins on the rear left side of the Viki, and all the wires go to the EXP3 block of pins on the X3 board – just in a different order, so pay attention to how they are arranged in the pictures below.
First, connect one of the cables to the Viki:
I recommend positioning the Viki by the ‘front’ side of the printer, and routing the cables in between the frame and the mirrored base platform, similar to how the y-axis cables are routed. This will allow you to position the controller in front of the printer, or attach it to the front frame for easy access. This photo shows the arrangement after the work is done, and both cables are in place:
The six loose ends of the cable attach as shown below. The EXP3 block is in the middle of the ‘front’ edge of the X3 (i.e., the side towards you when the writing is the right way round) between the X3 and the power supply on an RXL printer:
Attach the individual cables as shown, being careful to precisely place each connector squarely over the pin, and not slip between or bend any of the pins. Note which cable goes where as per the photo, and/or the diagram.
That’s all that’s needed if you don’t want the SD card to work (or the reset button, below the SD slot, which is also controlled by the other cable, and doesn’t require any of the desoldering stuff – just connect the black wire on the other cable, as shown below). If you don’t want any of this, then you can skip ahead to the final clean up.
Connecting the SD Card Slot and/or Reset Button
In addition to removing the solder connection on the back of the X3, using the SD card requires you to hook up the second cable between the Viki and the X3. Attach the 6-pin block end to the Viki, underneath the first cable, and route the wires in through the frame again:
Five of the six wires connect adjacent to the blue reset button on the X3 board. Three go into the block of six pins immediately next to button, and the other two connect to the two pins offset slightly , next to the no-longer-used on-board SD card.
The one remaining wire – the black one – hooks into the bottom-right corner of the partly-hidden EXP2 block. This is immediately beside the white wire from the first group of connections. This is the lead that connects to the front ‘reset’ button on the Viki. You can choose to connect just this, and none of the rest of the SD-related pins, or conversely, leave the black one unconnected, if you’re worried about accidental resets:
That’s it! Now all that’s needed is to reassemble everything.
The final step is to re-attach the cables into the cable clips, add some extra cable ties to secure the new wires, re-attach the USB cable, and then screw the fan back in place:
If you’re lucky, you’ll now have a working Viki controller! But quite likely – especially with the earliest shipping QU-BD printers – you’ll probably need to update the firmware too. Set the printer back upright, and if your Viki controller isn’t yet in a proper enclosure, make sure that nothing is going to short-out any of the exposed connections on the back of the board! Then power-up the printer and see what happens. At the very least, the LCD should light up. Ideally you’ll see a splash screen, and then a menu display showing current temperatures etc.
But if the firmware isn’t right, you’ll probably just get a blank display, or perhaps – as I did – alternating solid and blank rows. In that case, you’ll need to upgrade the firmware – and for a standard RXL setup, that means building your own Repetier firmware. And that’s the subject of this post and this one…