This is optimized to make the PCB routing easier, while also considering shielding against cross-talk. The heater wires are grouped at the end of the connectors so that a smaller connector can be used that omits some of those pins on machines that don’t need to carry as much current and/or have higher-current wiring. The extruder connection could potentially be as small as 2x6 pins, with 2x4 pins for the hot end in extreme cases like a 20W heater @24V, but 2x8 and 2x6 is more likely.
Also, the motor/endstop cables can be abbreviated from 2x4 to 2x3 if you’re using simple MIN-only mechanical switches with soft pull-ups.
I thought about that, but I wanted to keep the same 1A-1B-GND-V+ pattern found on the endstop boards to make the layout more consistent and intuitive. I also wanted to make sure that as few traces as possible would have to cross the connector to make routing easier, which is why the odd-numbered side has the V+, GND and fan outputs and the thermistor and and probe inputs are on the even-numbered side. Keeping the routing simple this way will make it easier to design the boards in a way that will be less prone to failure or crosstalk, even if lower-quality fabricators like http://dirtypcbs.com.
@Whosa_whatsis , to explore this for the printrboard or some version of it, could I get your setup to look at? Or do you have a source firths ribbon cables? Am I right that if we standardize, these two boards- yours and mine could be swapped? Especially if use would be the extruder board part.
Moving on to form factor- what size is your board and how is it mounted? Shouldn’t we look at compatibility between the hardware mounting and size? Are you releasing your costs? The printrboard costs me $55 all said and done I think. I would hope that price would go down but maybe there is more cost Ruth a second or third or fourth board. I’m extremely price conscious but don’t mind if reliability goes up. Reliability is already really good but wire fatigue is a tricky beast if installed improperly. We are currently 12-19v but one component change would allow to 24v. I know the printrboard isn’t for everyone but I am eyeing a stripped down version that allows a small heated board if needed. Adding features that everyone doesn’t use is wearing on me (the rev d had estop, lcd and triple extruder headers) (rev f has I2C and the two headers mentioned above).
I guess I’m saying standardization isn’t always cheaper and some other decisions are related. Like expansion options for future proofing. As printers get cheaper we may need to let go of a one size fits all approach. With our huge printers, on board heating doesn’t even work really so the electronics may end up being multiple versions. Some standardization may benefit all though.
@Brook_Drumm Panucatt designed a controller board for the Bukito that uses a system of ribbon cables (and I designed the breakout boards for the other ends of the cables), but what I’m proposing as a standard is not the same as what we used for that because after using that for a while, I’ve come up with some ways to do it better.
I’m not designing a controller board, though I might do a standard set of breakout boards. I wanted to do this with the Bukito boards, but in the end I had to customize them to the mechanics of the Bukito. What I’m trying to do is develop a standard so that controller boards like the printrboard can be developed to be compatible with it and make everybody’s printers better.
This would allow different boards following the standard to be swapped, so someone could start with a printrboard and upgrade to a RAMPS-equivalent later, just plugging the same 4-6 ribbon cables into the new controller.
The easiest way to get the cables is to build your own. You can find rolls of 1.27mm pitch ribbon cable and the IDC connectors on Amazon. A big part of the reason I chose them is because it’s so easy to make the cables, just cut them to length and then clamp down a connector on each end. Most cable types take more work than that for each pin in the connector.
I’m all for designing a 2 part board similar to how the arduino and any other MCU board is designed, that is 2 parts, the lower part contains the MCU and low voltage I/o, including end stops and thermistors.the top shield would include the motor controllers and heaters. It would be similar to the ramps, but specific to 3d printers for the MCU board.
@Whosa_whatsis , your experience is what appeals- I have zero experience using ribbon cables for motors and such. Are they rated for this, btw? Our drivers are rated for 2amps at 12V. The main appeal is to reduce build complexity and Eire fatigue. Just removing failure points is a great thing. Besides compatibility, what is your motivation? Is it cleanliness in the wiring? If cost goes up, it’s a hard sell but I love the idea. 2d printers have little breakout boards everywhere so it can’t be a bad idea for cost and scalability, right?
Bd
2 amps is your current limit, but you almost certainly have the current actually set lower than that (and if you don’t, you probably should). That’s the per-phase limit, and if one phase is at full power, the other is off, so you’re not sustaining maximum power on more than two of those four wires at a time. If you get the good high-flex Cicoil wires, you’ve got plenty of capacity. The 26AWG wires should probably be fine for a motor running at 2A, but I’d keep it under 1.5A if you’re using the more common 28AWG.
I want ribbon cables because I want clean, easy, idiot-proof wiring, and I want a standard so that everyone can benefit from it. I’ve had to do tech support for machines with ribbon cables (the Bukito) and machines with the usual style of wiring (the Bukobot), and the former is so much more painless for everyone involved. What it adds in cost it more than makes up for in the simplicity and reliability of the end product.
I want open source printers to remain competitive with the closed-source commercial ones, and IMHO standardization and fool-proofing like this and the UFID project is necessary if that’s going to happen.
Nice start. May I make a few observations/suggestions?
Multiple pinning.
You are placing multiple-pinned rails on opposite sides of the connector. I would suggest putting them in adjacent pins on both sides e.g. 1,2,3,4,/5,6,7,8 vs. 1,3,5,7/2,4,6,8.
This makes tracking easier and permits fat-tracking of the connections instead of having to comb-track. It also means that tracks can approach the connector from one side instead of both. You can place connectors closer to the board edge as a result.
Power placement.
When routing it can help to place power pins at the ends of connectors. Signals then route more easily between connectors. You should avoid the need for signals to cross power tracks particularly where a single-sided board is desired.
Standardise on largest connector size.
I know it is appealing to use a smaller number of pins when possible but you should consider connectors for the most-populated case. This has advantages for upgrades e.g.:
a) Partial upgrade - A new controller may introduce new features which older machines cannot support. If those new features are on pins with no-connects then backwards compatibility can be maintained.
b) Full upgrade - Wiring may become an integral part of the printer construction. By pinning for the most-populated case you can change items at both ends of the cable while leaving the cable intact. This eases product support considerably.
Mendel90 uses ribbon cables and an extra plastic band to keep the ribbon from bending too much or at the wrong place. I guess it is all detailed in the building manual.
@Miguel_Sanchez My plan was to add those, but once we had them in place on the Bukito, they didn’t seem necessary, though I would recommend them for most designs.
@Neil_Darlow The Bukito version has the big power stuff grouped at opposite ends of the ribbon as you suggest, but I actually found it harder to route the tiny breakout board without bottlenecking my high-current line crossing everything else. Remember that those two big blocks of pins aren’t distributing voltage all over the board, they’re going straight to two connector pins right next to each other.
I also didn’t like that arrangement for the variable wire size, and the 5x redundancy really is excessive. Even in the worst case of a 40W heater at 12V (3.3A) on 28AWG wires, 4 should be more than enough (3 is almost enough, especially considering that the duty cycle is reduced after it reaches temperature), but 14-pin connectors are harder to source than 16-pin. I kinda want to just reduce it to 3 to make a 2x8 connector (with 2x6 for a bowden hot end) and just specify that the higher-current wires are required for running 12V with a 40W heater (and strongly recommended for other combinations). I know some people will cheap out, but it I wouldn’t be surprised if the cables could handle the extra current for the limited heat-up time without damage. 30W is really a better balance anyway.
There’s also the question of the platform heater (not shown here). On the Bukito (which has a 140x150mm platform), we used 9-way blocks of pins for heater power on a 20-pin connector with the thermistor in the middle, but that makes expanding to the size needed to carry enough current for the more common 200x200mm platforms more problematic. If the connector is going to expand, I would rather have it expand on one side so that a smaller connector is less likely to be soldered in offset from where it’s supposed to be, which would make Bad Things happen.
+Peter van der Walt about the multiple copies of Z min, do you really not have ANY unallocated pins? I’ve worked with a lot of everything-and-the-kitchen-sink boards, and they all seem to have at least 8-10 pins left over with no plan to use them for anything. I’m not saying that those should be thrown away if you’re not using a probe or a max endstop or whatever, I’m saying that even if you’re not using those things it’s more useful to have them distributed to those other areas of the machine so that you can assign them other purposes in that location (You have no idea how many times someone at Deezmaker has said “Damn, I wish we had put one extra digital pin for expansion on the __ cable!”). I’m actually wondering if I should put a couple more of them on the one going to the extruder. We’ve wanted that for programmable indicator LEDs (using neopixels gets you as many of those as you want on one digital pin), filament presence detectors, and we’ll eventually want UFID there (I thought about throwing i2c into the header too, but we haven’t decided for sure that that’s what we want to use in the final spec).
We can explore the availability of 2x4 vs 2x5 pin connectors, but if the difficulty sourcing 2x4 turns out to be unique to South Africa, should we really base the standard on it? We should look for a reference on which sizes are most common. I know that 2x8 and 2x10 are pretty common, and I’ve seen a lot of 2x3 as well, but it’s worth comparing the other sizes to optimize availability of parts, and I’ll consider what layouts make sense if we do need to switch to 2x5.
@Whosa_whatsis I have considered supplying SPI to extruders (not individually but commoned) to allow for intelligence like filament monitoring, enhanced Z probing etc. I would not take I2C off-board as it is not really suited to long cable runs at decent speeds.
The applications for it would not need high speeds, and SPI essentially needs twice as many pins for just one device as i2c needs for virtually unlimited devices. There might be a UFID chip, a filament measuring device, a filament presence detector… I can think of too many possible uses for a data protocol to talk to the extruder board, even beyond UFID, to pass up the chance to make it available on every printer’s extruder. I think it’s definitely worth adding, and I’m going to put it on my next revision unless there’s something other than SPI that would be a better fit. I’ve considered 1-wire, but the controllers don’t speak that natively, and the hardware designed for it seems to be a lot more expensive. RS-485 is another possibility, but again non-native. Any other ideas?
@Whosa_whatsis You can daisy-chain SPI devices. For a small number of devices you can keep communications nice and orderly and there is no problem with bus contention.
The Rigidbot uses ribbons for its 24v system. A number of users have experienced either the cable or the connector melting because a conductor has failed, increasing the load on the other wires. Not saying it is a bad idea, just bear in mind that any failure will likely be invisible until it starts melting things.