How to wire your 3D printer!

How to wire your 3D printer!


So the iTopie i3 is almost done, and what
typically takes the longest is wiring everything up properly. Now, i know that part is not
fun, it’s not rewarding, at least not for me, and it’s like this huge threshold between
having a machine that looks finished, you know, with all the parts mounted and ready
to go; and a machine that actually works. But at the wiring stage, you are actually
setting the foundation for a machine that works reliably and is open for future modifications
without it ending up as a total hackjob. So today i want to give you a rundown of what
wiring to use, how to manage it properly and how to connect everything up. And i need to start out with a disclaimer,
basically, as always, use some common sense. I can give you the basics of “good practices”,
but ultimately, you’ll be responsible for how you set everything up. Cables can overheat
and potentially catch fire if they are sized improperly or wear out due to improper strain
relief. This guide can help you avoid the most common mistakes, but please don’t sue
me if you make one that i didn’t cover. Alright? Let’s go.
Let’s start out with what cables to use, first of what wire gauge to use for the various
functions in your 3D printer. So there’s basically three tiers of components you’ll
see. There’s sensors, fans and motors, which use practically no current, then hotend heaters,
with a 12V heater drawing close to 4A, and a heated bed, typically around 12A. So what
i like to use for, let’s call it tier 1, is ethernet cable, for a few reasons. First
off, it’s cheap. Unshielded Cat5 cable is all you typically need and it’s like 20ct
per meter. And that gives you 8 wires, twisted in pairs, which is great for what we’re
doing because not only are they nicely bundled up, having them twisted keeps any electromagnetic
interference in check. The one thing you should keep in mind, though, is that you want to
get the flexible version and not the one with solid wires, more on that in a second. Even
the cheaper 26-gauge wires, or 0.13mm², are rated for around two amps, which is plenty
for a fan or sensor, and just barely enough for a stepper motor. The way you should use
the twisted pairs is to have one wire carrying the current to the component and the other
taking it back. So in case of a fan, that’s positive and negative, for a motor, that would
be the two connections from each coil, which are the black and green as well as the red
and blue wires. For an endstop, signal and ground, and for a thermistor, obviously the
leads of that. What’s also nice about ethernet cable is that, because it has those two layers
of insulation, it tends to keep its wires in a larger radius compared to individual
wires, which is good for keeping them from wearing out due to the repetitive bending
motion you’ll see when printing. There are two factors that decide how well a cable is
suited to being repetitively bent, one is the insulation, in this case plain PVC, not
ideal, but usually good enough, silicone would be better, but is much more expensive. And
the other factor is the makeup of the copper conductor. You can obviously get solid-core
and stranded wire, and when you bend them both in the same radius, the surface of the
solid wire is going to stretch and compress much more than each individual surface of
each strand. Solid wire is perfect for bending it into shape and then leaving it, but stretching
and compressing cooper too many times will break it. So the finer the strands, the more
suitable a wire is for being moved around. Now, again, the Ethernet cable i’m using
is reasonably fine-stranded, but an even better choice would be specifically-made cables that
have extra fine strands, especially when you need them to repeatedly bend around tight
radii, which i’ll show you later on how to avoid.
Ok, so second tier components, heaters. Now i also use Ethernet cable here, but a single
conductor is not enough for a 12V, 40W heater, so i usually use two wires and a total of
two pairs here. Now, you don’t just want to use one pair for positive and the other
for negative, you actually want to the plain wires together for one phase and the striped
ones for the other, that way you have the forward current twisted to the return current.
If you want to use a single wire instead, you’ll need something around a 22-gauge
or 0.75mm² wire. Since the heater typically isn’t on for extended periods at a time,
but instead pulsed, you do have some leeway there.
Now, for tier three, the heated bed, you’ll need something a bit more massive than that.
And for a typical PCB heater, I’d actually recommend using a thicker wire than needed
to minimize losses in the wire itself, as that will take away much more of the available
heating power from the bed than you’d expect. As such, at least something around 12-gauge
or 2.5 to 4mm² is what i’d recommend using. What usually fits that bill is speaker wire
because wannabe “audiophiles” will completely oversize their wiring several order of magnitude
to get that last bit of “crispness” out of their speakers. But just make sure the
wire is, again, fine enough, and actually copper, as the cheaper copper-clad-aluminum
wires will break way more easily under stress and fail over time in most connectors. Another
good alternative is silicone wire, as used in electric RC cars, it’s a good bit more
expensive, but is actually a perfect match for the job.
Now, next up, how do you route those cables to your components? What i actually see people
doing is checking at which spot the cables need to be the longest and then just cutting
them to that length. Which isn’t really ideal, what you’ll get is this caterpillar
effect and the cable might end up going anywhere. A better way to handle it would be to create
an anchor point somewhere in the middle of the axis and routing the cables there in a
half-loop, so that you’ll never get the cables completely stretched straight at any
point. Of course, how you can route them is going to depend on your exact printer, but
in any case, having them in any sort of loop or half-loop is always going to be easier
on the wires and easier to manage. Now, you still want to make sure the wires don’t
end up kinking or flexing in the same spot over and over, so you still need to take care
that the point where the cable is fixed to the moving and standing parts has some sort
of support – this can be a bit of filament or simply the wire’s insulation itself.
You just want to keep it supported at the most critical spots.
Now, to really get it not only looking a bit more nicely, but also out of the way and bundled
together more tightly, there are two more options: Nylon mesh sleeving and drag chains.
Drag chains are great, but they can be a bit tricky to use right, so let’s start out
with Nylon sleeving: You can get it in all sorts of sizes, and it keeps your wires out
of sight, bundled together and somewhat supports them at the same time. By the way, it’s
the same stuff as used by computer enthusiasts and power supply manufacturers.
Your other option are drag chains, and on the iTopie we actually used both. So a drag
chain is made to used like this, not like this. Its job is basically to keep the wire
in a precisely defined position and to keep the bending radius constant. Though the problem
is, if you want to use a drag chain, you have to plan for it, because typically you aren’t
going to have the proper surfaces to mount it to to get that rolling motion. They come
in two version, one opens up to let you just drop in your wiring, the other stays closed
and you’ll need to push the wires through by hand, which might be a tight fit if you
have any sort of connector on their end. What’s also important to keep in mind with
them is to only use a zip tie for the wires on one end, not both, or you might end up
stretching, compressing and breaking the wires as the drag chain moves, so always leave a
bit of slack on one end before anchoring it down again.
Now what i like to use for keeping the wires exactly where i want them are these little
stick-on anchors, again, they’re really inexpensive, links in the video description,
by the way, and they give you spots to zip-tie any wires to without having to drill holes
or zip-tie around any larger components. You can also get them with a reusable twisty thing
already attached, but those don’t hold the wires down as tightly, which can be ok for
a lot of places. Now, connectors are easy to overlook. If you’ve
got cables that already have all the connectors on them, you’re good to go, but it’s not
too hard to add your own, either. And i’m not going to go into full detail on how to
use these tools, i think there are plenty of videos on Youtube already, but i can show
you what to use. I’ve personally settled on two types of connectors, as they are compatible
to what is typically used on controller boards and are easy to crimp yourself. The first
type are what are called Dupont connectors, they are 1/10th of an inch pitch crimp connectors,
they don’t have any keying and they will pretty much universally fit any other 1/10
inch connector, whether it’s these white types, as used for computer fans or the more
complex, locking types as seen on some boards. Oh, and you can use male or female pins with
them, so you can really easily craft extensions or disconnect points. All of these use the
same crimping tool to get the contacts attached to the wire, and are all rated for about 2
to 3 amps, which is perfect for all those tier one consumers including motors. Now,
for tier two, heaters, simply using two pins in a connector is valid, but you’re not
going to find any board that has that sort of a connection. So what i like to use for
hotend and bed heaters instead are these larger crimp connectors, again they’re a family
of connectors that span anything from male and female blade connectors, wire end crimps
or spade terminals for attaching to a power supply. These will carry as much current as
the wire you crimp them to. Now, both of these crimping tools are great
to have and they make properly wiring a 3D printer or anything else just so much easier.
I paid about 20 buck for each one, with a big set of connectors, and that was totally
worth it. So one last tip i want to give: Make wiring
plans and label your cables. It’s super easy to do, just write down which wires in
which cables you’re using for what functionality, and since they are color coded, you know exactly
where to look. And even the simplest plans can help you out a ton should you ever want
to modify anything or have to look for an issue down the road.
This video is sponsored by Aleph Objects, Inc., a Free Software, Libre Innovation, and
Open Source Hardware company headquartered in Loveland, Colorado, USA and makers of LulzBot
desktop 3D printers. Watch my reviews of both LulzBot 3D printers
here and check the links in video description for more info on the machines straight from
Aleph Objects. So if you enjoyed this video, leave me a thumbs,
if you didn’t down, and you want to support the general thing i’m doing here, consider
subscribing, using the Amazon affiliate links from the video description or directly throwing
me a dollar or two over on Patreon. And that’s it for today, thanks for watching, and i’ll
see you in the next one.

90 thoughts on “How to wire your 3D printer!

  1. I enjoy wiring! The problem for me is the ridiculous connectors that there are. The GT2560 uses something like 5 and I've not found a reliable source for the matching parts.

  2. Careful with multi signal wires in a cable chain, they have a tenancy to break their insulation, and end up coming out of the outer insulation too.

  3. Im Building a Prusa i3 right now and only thing left on it is wiring, perfect timing 😉

  4. Hey Tom,
    danke für das Video! Ich hätte nur noch Flachbandkabel erwähnt, wie Nophead sie in seinen Druckern verwendet. Am Extruder hab ich ein 20-poliges Kabel das den X- und Extruder-Motor, den X-Endstop, das Hotend mit Themistor, den Lüfter und einen freien extra Pin (für LEDs oder einen Bettsensor) versorgt. Am Heizbett versorgt ein 26-Pin-Kabel das Heizbett und seinen Thermistor mit ausreichend Energie. Unterstützt wird das Kabel dann noch von einem Polypropylen-Streifen. Sieht sehr edel aus und sollte auch lange halten. Als Extra gibt am Extruder noch eine D-Sub Verbindung, damit man den kompleten Extruder nur mit zwei Schrauben lösen kann. Ich finde dieses System einfach nur genial, braucht nur ein bisschen mehr Planung.

  5. As european with a metric mindset i never really understood the AWG system for the wire gauges. Is there a simple trick to understanding it that i'm missing, or is everyone else in the same boat, forced to look up how many mm^2 fit into an AWG26 wire?

  6. Good info, thanks. Though I have to ask, do you have any experience/opinions with using RJ45 connector on that ethernet cable? Like for instance for the hotend/effector carriage, like the delta wasp? It seemed like a nice way to be able to hot-swap these.Also, congrats on the sponsorship!

  7. Good info Tom. Couple of things, leaving this here for information more than anything else as I know it's not a comprehensive guide.

    Cable bundles, Spiral wrap; the decent thick stuff works well and is dead cheap, I use the 3-7mm stuff and it supports the wires well and also gives the option to break out a wire from the bundle. There's also an issue with using something like 12 AWG for a bed heater on a board like a Chinese RAMPS or MKS Board. Unless you solder directly to the board or change the headers, the majority of boards I've used can only take up to 16 AWG for the bed, I've tried stuffing 14 AWG in them and it isn't happening. You can use a reducer set of wires with connectors, but it's sub-optimal. I tend to just wire a PCB heater with 16 AWG Silicone wire as it's rated up to around 22 Amps for DC current. When you consider that a standard PCB heater is around 1.1 Ohms at 12v it's only pulling about 10 Amps. If running a 24 volt system I'd be looking at 14 as you're pulling 22 Amps, having a 10A head room is enough.

  8. I like this Video thx for explaining this electonic Things.
    I've never learned this just the Mechanicle side so its interesting for me to wire my new Printer i've build my self (D-Bot).

    I hope you got more Printers to review and more Tricks for us. 😉
    Cya

  9. Nice job on the video, well shot and nice organization of the information. I have the Lulzbot Mini and I am very happy with it and hope you are enjoying yours.

  10. I'd also recommend these: http://www.aliexpress.com/item/100sets-lot-connectors-SM-SM-4Pin-Pitch-2-54MM-Female-and-Male-Housing-terminals-SM/32298674345.html same pitch as dupont but keyed and locking, nice to avoid confusion and doesn't disconnect itself from the machine moving.

  11. I don't like the idea of CAT5 wire for stepper motors, the wire is a bit too thin. However, CAT5 has 4 pairs, and steppers have four wires. So, use TWO pairs of wires for each pair of stepper coils, connect the solid colored wires together, and the stripped colored wires together. Now you have two paralleled pairs, for the two pairs of wires to the motor. No worries, voltage drop not a problem.

    I bundle my wires in spiral wrap.

  12. I was at Home Depot looking at those zip-tie mount squares. I almost bought a big bag before realizing I could print them myself. I already had double-stick tape.

  13. All Dupont crimpers are not created equal! Don't buy cheap ones from China ie. Aliexpress
    They look the same but are not. The cheap ones do a terrible job and make it difficult to get the pin in the housing once you have crimped it and you will end up buying a more expensive one after.
    Thomas, I would recommend giving people a link or links to ones you know work.

  14. Was the ethernet cable really stranded like said in the video? The cut end of the example sure looked like solid wire. But yeah, it really should be stranded if you want it to take any kind of repetitive motion.

  15. Wire list:

    2 hotend
    2 hotend fan
    2 layer fan
    2 thermistor (x2)
    2 leveling probe

    Here's how you clean up the wiring near your hotend/carriage:

    Step 1: integrate a PCB with/near your hotend.

    Next, on that PCB, you place a microcontroller, a couple of FET's, and a bunch of connectors or pads.  It might wind up looking similar to this:

    http://www.hacksmods.com/wp-content/uploads/2015/04/RCTimer_DYS_SN20a_MOSFET_side.jpg

    Offload your heater PID, layer fan control, hotend fan control, and thermistor(s) A/D software onto this microcontroller.

    Connect all your components to the PCB.  Add a bimetal thermal switch while you're at it.

    Finally, add a wireless transceiver like an nRF51822 or Xbee or ESP8266 or whatever.  Add the comparable transceiver to your main control board.  Now your main board controls all that stuff wirelessly.  Just pass the relevant gcode straight through.

    Congratulations!  Assuming a bowden drive, you have reduced the wiring congestion at your hotend/carriage from ~12 wires to just 2 wires:  +V and GND!  Way to go!

    And as bonus, you have also essentially reduced the wiring congestion at your main control board by about the same amount of wires.  The whole damn printer just got cleaned up!  Win-win!  And chances are your main controller is already running out of time and space trying to run multiple PID's, a user display + input device, all your steppers, reading from your SD card, and mesh bed leveling (because who the Hell wants to manually level a bed anymore?).  So it's a win-win-win!

    Problem:  Industry is currently blocked at Step 1.

  16. Excellent video Tom! I really wish I had something like this when I started building my printer over a year ago. How do you feel about mounting drag chains sideways (for example with a CoreXY)?

  17. a good alternative, though requiring soldering for tier 2 and 3 are hobby battery connectors either dean (T) or Xt-60, or even tamiya car connectors (these are crimped, too). cheap to get and a single connector will connect a pair of wires

  18. Hi Thomas, Love your videos – Keep it up!

    I am looking for information on the Bowden setup you use on your other printer (mendel90?)

  19. In all cases, i'd use silicone wires. Those are so superior to pvc wires, that i've completely stopped to use the former.
    Furthermore, the silicone insulation is much more resistant to heat as well, and another added benefit is that since they are much less stiff than PVC ones, they drastically reduce wire breaking near the connector (i had this hapening often on various electronics projects, and not ones with a lot of connections/disconnections of the cables, nor much movement on the cables, now with silicon wires it never occured yet to me).

  20. I could not find anything named "stick-on anchor". Any other name for this item?

    update: found it as "wire holder"… http://www.aliexpress.com/item/3M-Adhesive-Car-Cable-Clips-Wire-Holder-Car-Holder-to-Fix-Cables-Free-Shipping-20PCS-Lot/32599597390.html?spm=2114.01010208.3.75.6RlTrY&ws_ab_test=searchweb201556_8,searchweb201602_3_10057_10056_10055_10037_10049_10033_10059_10032_10058_10017_405_404_407_10040_10060,searchweb201603_6&btsid=143dd024-bef5-4a6c-ac52-bafb278f80fb

  21. Hi Thomas, it would be awesome if you could make a video setting up Marlin firmware for a delta setup and also how to calibrate a delta in Marlin.

  22. Does anyone know where I can get a parallel stepper motor cable for my z-axis? I need them to be 4 to 6 pin because my motors have 6 pins. I only have one port on my board and I have 2 z motors.

  23. Thanks for the handy tips on what is/isn't good for choices… I'm thinking of making my Wanhao i3 clone have a detachable controller unit, as its a Royal PITA trying to move things when you only have short cables hard wired to the chassis.

  24. I've been struggling to put the final touches on my custom i3 I've built and this helped me take that plunge of rewiring my printer. Ran into a snag when ordering parts when a crappy ebay seller sent me a 30awg cat5 when I ordered a 24 awg cat5e but I'm super excited to get to work on this once all the parts I ordered get here!

  25. +1 for RC silicone wire. Very finely stranded, made for lots of motion, and won't melt and short when exposed to heat up to 200C.

  26. speaker wire has the bad factor of not being tightly wound, so you end up with fat cables, but copper by weight is much much lower

  27. There is another reason to go with stranded wire, it can carry more current and with DC it can carry it with less loss than the same diameter/gauge solid wire. That's because electrons flow mainly along the surface of a wire and a bunch of smaller strands put together to make one wire has more total surface area and thus less resistance to (direct) current flowing. That's why cables made for welding use smaller strands and just a lot more to get to the wire gauge they need. I use welding cable to do the main 12V DC runs from the batteries in my boat and to the trolling motor. When you are running off of batteries all the small losses in the wiring really can start to add up.

    Old usb cords are another excellent source of wires for projects. Just off the connectors plus an 3-5 cm (1-2") of cable from the ends and the rest is almost always in good shape. I'm a bit of a freak, wiring up and configuring the controller is my favorite part of building these printers Then again I can't even imagine myself buying a pre-built 3D printer and the last pre-built desktop computer I bought said "Dell 486DX-100" on it…….

  28. Hi, Thomas! With my Prusa i3 (self-made) I have the Z axis motors hooked up in Series. I did the joints by soldering but now it's impossible for me to change the motors (if I want). Everything is working great 2 years allready but can you suggest another method of connecting the Z axis motors?

  29. I love the idea of Ethernet cable for wiring all the electronics and the mechatronic parts. Is each of the 8 strands capable of carrying upto 2A? Would it be ok to use one strand pair (2 wires) for each motor wire. For. e.g. Assuming that a single coil comprises of Red and Blue wires, would it be ok to use The Red strand pair for the Red end of the coil and the Blue strand pair for the Blue end of the coil?

  30. Some great information here. I have been 3d printing for around 2 years now, and have learned a lot. Enough to where I feel comfortable buying parts and building a 3D printer of my own, however I have yet to see a video for building a 3D printer thats geared for complete beginners. As a mechanical engineer constructing the working parts would be no issue for me but it took me a long time and a lot of learning to understand how to build a machine with working electrical. From a beginners point of view, theres a ramps board, with a bunch of shit plugged into it and firmware running on the machine. A beginner doesn't know how to pick a board, hook everything together, know where to plug things into the ramps, or select and edit a firmware for their machine. I think I am going to do a series of videos that covers in detail how to make A 3d printer. Not like in general here are some 3d printer build tips, but step by step, heres how to make THE 3d printer shown in this video from start to finish, covering the mechanical process of building the frame and assembling the parts, to literally where on the board to plug each part in, and how to put firmware on it.

  31. big fan of flat cables, personally. mostly for the super neat and clean look, but they can also eleminate the need for any chain or sleeve bundling. audio/video/speaker cables are pretty cheap too .. and did i mention just how nice they look?

  32. This was super helpful; unfortunately for me, you left out the suggestion of that one item I was looking for 🙂 … What do you recommend for the gauge of wire from the PSU to the board?

  33. Whoa, 4:25. A 12 volt, 4 to 12 amp DC continuous load running through 22 gauge wire? I would recommend at least 16 gauge. My beds have 16 and 12 gauge wire.

  34. i am using ethernet cables on my cnc router steppers, 3A 280ozin motors running at 48V. no issues almost 3 years.

  35. Tom, do you typically connectorize the wires on both ends (i.e. connector on the component and on the board side)?

  36. Don't think I'm able to get multi-strand cat5 cable here, but I got solid core type, would that be ok as well? I was thinking to use the rj45 plugs for low current component. Any advice?

  37. I still have a question. What wire do I use for 12v 30Amp power supply to Controller board. Because its not moving, I am hoping a regular stiff copper wire should work.

  38. The Plastic tags on a Loaf of bread come in handy just write on which is which and put on each end of your leads,

  39. Try my drag links. They're neither fully open nor closed. All that's needed is for the user to snake the cables around alternating keepers in the body of the link. Simple design and old concept.
    https://www.thingiverse.com/thing:2575289

  40. I am a big fan of Anderson Powerpoles for the higher current applications and use them on my hot end and bed. They come in 15, 30 and 45 Amp pin types (all use the same housing) and are good to 600V, the housings come in a large variety of colors, and slide together so you can form keyed and color coded connector assembly blocks and they also make blank housing blocks, and there are PCB mount pins as well and can be had pretty cheap. They are heavily used by aerospace engineers on early functional prototypes for that reason, even when 15-45A capacity isn't needed.

    I don't suggest using stranded cat5 or (or even Cat 6 for the higher gauge,) on steppers. You should always be building in an engineering safety factor on your current handling capacity rather than venturing into the safety factor margin. Use 16-18 ga wire for NEMA 17's and you will have plenty of headroom, while it may not seem a big deal with the tiny NEMA 17's, where it totally is when you are driving double depth high-torque NEMA 42's, it really is, because the voltages aren't entirely trivial as a fire hazard or possibly frying half the machine should a wire wear or melt through to something else.

    While I love Duponts for hacking and bread board use, I mostly use JST EH for PCB header connections and JST JWPF for mid-path connectors because I keep a good variety of them in stock, as they are waterproof and therefore usable on machining equipment with flood cooling systems as well as keeping chips and metal dust out. Building a assortment of JST or Molex, or pick-your-favorite connectors through mouser, digikey or aliexpress isn't that hard or expensive.

    Lastly using terminal blocks and 30mm Din rail for mounting (din rail mount) PSU's, Raspberry pies, and other bits is something I have yet to do with my 3d printer, because I have yet to put it in an enclosure, but is standard operating procedure for larger, industrial (subtractive) machining equipment, and can keep things, clean, servicable, upgradable, and protected from the elements when put in an appropriate enclosure.

  41. I'm pretty good at modifying things to get them to work or work better, except for my spelling i saw a 90$ 3d printer online which didn't have at that good of a review. it sounds like the software was a little buggy.for what i need for a learning 3d printer.. theres the creality 3d pirinter for 225$. it seem like the better choice. they have 2 of them at the makerspace here in charlotte.. ive tried them a couple times
    1. which one do i build stuff with ???

  42. What I don't understand is why 2 wires of the cat 5 cable should be enough for the heater, but for a single wire Thomas recommends a 0.75 mm² wire? 2 wires of a cat 5 cable have much less surface. Shouldn't a 0.5mm² cable, that I have already, be good enough?

  43. The AWG Standard (American Wire Gauge) originally came from the number of "drawing" passes (pulling wire through a die to make it's diameter smaller), for instance 12 gauge wire required 12 passes through different wire dies, whereas 28 gauge required 28 pulls through various dies. The greater the number the smaller the diameter of the wire.

  44. What about the 8 pin plug that connects to the back of control boxes like the the cr 10 and tevo tornado? I can’t be the only idiot who removed wires from it when I tried to upgrade the hot end. Anybody wire one of those up?

  45. PEOPLE and TOM> NEVER EVER EVER!!!! use speaker wire for power wire period. is not designed to move volts. it can melt and can catch fire. i am MECP mobile electronics certified. YOU NEVER use speaker wire for a power wire period you are asking for fire. i have seen people get 3rd degree burns while holding speaker wire and tried to use a 12v drill to POP a speaker. speaker was bad and the wire melted instantly to dudes hand. ive seen cars catch on fire cause someone used speaker wire to charge a cell phone. i have seen boats caught fire cause someone used speaker wire to run a gps or fish finder.

    speaker wire is not designed to move voltage just wattage. there is a difference. this is video people in anet groups said they seen where people use speaker wire for mosfets. facepalm. then gives anet a bad name. update firm ware then use speaker wire for power ? LOL face palm.

  46. What would you use as a connector if you were going to make the hotend disconnectable I was going to get some spare heater cartridges and thermistors and cut the wires and run them through whatever cable management to the mainboard and put jst sm connectors for all fans and thermistors etc just not sure on the heater cartridge connector

Leave a Reply

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