I've only just found your channel...and I've managed to binge-watch all your stuff. Your enthusiasm for this stuff is brilliant! I always have the same reaction when something works! You deserve way more than 10k!
I'm working on a pnp with custom controller and feeders, as well. I plan for X, dual Y, Z1 w/H1/H2, and Z2 with Paste and Glue (LOCTITE 3614 makes double-sided PCBs rock...without dropping parts!), That's 8-axes right off the bat - could need 3 more. My machine is large-ish, so I'm using "real" motor drivers for XYY (which won't be too common for the cheap machines, but works for serious machines, things like gecko drives, or closed-loop drivers) - I need more stepper ports. A dedicated bank of step/dir/disable/gnd headers means I can expand the number of motors. Nice touch with the onboard hub! I still kinda cringe when I see an ATMEGA. Not because of arduino itself, but because there are so many mature, and cheap, ARM cores that are soo much more powerful and 32bit. Also, it opens up more firmware choices, such as Marlin 2.0. They all vary in capabilities from the STM32F0 parts that are cheap enough for my feeders, and it has USB, so I can program them offline - to bigger parts that allow external memory, accelerated graphics, floating point, etc. Also, CMSIS beats arduino libraries, hands-down. For communications, before you throw-in with RS 485 ... take a look at CAN. Specifically, CANopen. STM32 (gee, I sound like a rep) has a free stack for it, too. It's designed for having multiple nodes, and fits your original methodology with RING. Your machine is just one head, which is common. But robotdigg sells a popular head that's dual (it's basically the same as yours, only metal). Some use 2 of those for quad heads! My own machine is technically a quad, but will eventually have 6 total heads (4 pnp, 2 dispense) That presents a couple implications for me: I have acquired several solenoids to control the heads, all connected to a single manifold which provides vacuum and pressure from an air compressor. There's "off", venturi/vacuum, and pressure/blow-off for dual heads (actually, the manifold is setup for 4 heads... incase I need moar CPH?). Each head will have an inline pressure sensor. So I can detect mispicks/drops/etc more reliably. I suppose a sensor for the main vacuum and pressure wouldn't be terrible, either - for ease of troubleshooting. For more speed, I'll need multiple bottom cameras, ideally one for each head, spaced out for simultaneous use. So more USB can't hurt. Have you tested an additional hub on those ports? Sorry for the diatribe! These notes are just really to point out my own use case. I was really excited about the idea of a "3d printer of pnp" but as I started to think of it as a capital investment, my goals changed as to what hardware is really needed to make money off the machine. YMMV. Don't give up on making a controller, it's all very wild-west, it's good to see a pioneer trying to push things along.
Hi, nice design you have here. Have you thought of placing your bottom camera on the gantry in between the feeders and the board space ? If all your heads are in line, the camera will always be on that line too and all heads will have to pass over it when moving from feeders to board.
Two thumbs up!! The irony is to assemble the motherboard of an smd pick and place machine, by hand. I used to design circuit and PCB for cnc machine and one of the things I used to do is to place jtag connectors strategically placed (input and output of drivers, special components and power ports along the board, but did not solder) to make it easier, safer and faster to diagnose it. And maybe, for instance, in a near future, you want a different stepper drive for your z axis and it would be easy to hijack the board with jtags. Great videos and take care! 🤘🏻
Not sure if I posted this on the last Video. You could use a few additional ins in the feeders do get the I'd of the place were the feeder is placed. A little 1wire I'd Chip could be placed in the connector. In the machjne so every spot for a feeder has its one id. You only need 2 additional contacts for 1one wire and there are Adrino libs for speekin to it.
Very nice project! This is a huge contribution to the open source community. It would be amazing if it have support to load the components without a entire roll... Btw, can’t wait to see the camera correcting the components positions. Thank you man! 🙏🏻
I think the only change I would have made is going with a SAMD21 or SAMD51 over the MEGA. I believe the SAMD21 and MEGA are pretty comparable in price, but I understand if firmware choice limited you to one over the other. Awesome build and I agree, PCBWay matte black is pretty fetching. And those spring contacts! Thanks for providing me with a name as they are an excellent choice for making a programmer for some SAMD11 projects I've been sitting on forever.
yeah, the parallel feeder interface was the most important point about your feeder design that I was worrying about. Glad you switched to RS485. Definitely the better choice! Thumbs up for your work, you are doing a great job!
Another interesting protocol to use to connect to feeders etc. is CAN. Big advantage is that every message is checked at the HW level that it arrived and is auto resent in HW if it didn't.
WOW, Stephen! I was almost jumping up and down when I saw your motherboard connected your webcam to your PC! Great work! Awesome videos, great music, great editing and fantastic execution, with the expectable iterations. Keep it up with your current projects!
Have you thought of going modular? That way you can create a base board for the USB and RS485 controllers then have a module that has 2 stepper motor drivers, then add 3 if you need 6 or 4 if you need 8. RS485 can access up to 32 devices, so it might be better to have two buses, one for the modules and one for the pickers. The other ports could also be modules, which reduces the size of your board because you can pick and choose what you want to have connected.
Hey boss, one big thing I would add to your board is opto isolation between all things motor and controller. This will eliminate noise from the motors and eliminate any chance of a malfunction throwing high voltage down a line to logic circuts
You might want to look into drag soldering. It's similar to what you do except the soldering tip has a small pocket that stores melted solder and when you drag it across the pins they wick as much solder as they need on their own.
The best electronics channel I've found this year. Keep up the great work Stephen ;) Also, RS-485 is just the physical layer, you can still using RING over RS-485
You're getting there. I am also building my pnp machine, I actually use a BIGTREETECH BOARD then I realise the pins left alone can't be triggered with M42 command so I also use a Arduino Mega who has tones it. Then decide to build my own board usi NG a stm32. It's kinda hard cause I do not know coding but I learn fast. You are doing a great work and Ian gonna support you on patreon. Maybe we could collaborate and exchange ideas I have a stand alone idea for the feeder you might be interested in.
Excellent stuff! You’ve shown the highs, thrills and joys of making your own stuff. Some hints for your prototyping and rework:: Stop wasting Solder-wick by using a “Solder Well” tip. Invest in some ESD equipment to minimise static electricity handling damage. Invest in a good quality hot air pencil and solder paste syringe to more easily and quickly solder small chip components.
you should really get some flux for your soldering, makes smd soldering much easier apart from that, i'm really glad to have found your channel, your energy and enthusiasm are contagious!
Smoothieware can do all the PnP stuff mostly out of the box from my understanding. I believe that is what the OpenPnp people use. 32bit board, switch module, plenty of fets and such...from what I know of the firmware it can do it easily. Switch module in smoothieware is very powerful....you can control pins as inputs/outputs with just a config change and they can be controlled by gcode. Disclaimer: I work directly with the project on the Smoothieboard hardware QA so take that as you will...but regardless of that I would still use Smoothieware for this case. Your drive to get a project going is great though. But just like in 3d printing the 8bit and RAMPS type stuff has largely been abandoned years ago. There is better firmware out there for the job for sure. Marlin is certainly not the one I would start with if I was going to build anything except a 3d printer. Others may disagree.
Add a temperature controlled preheating plate below the PCB so that when you use the heatgun it only needs to go above heating limit of components for a short time
I have used a Melzi board with Martin for a while. One recurring issue is glitching and renumeration on the serial during printing. Separating USB from the rest in two isolated circuits should avoid the issue, and all it takes is a few optocouplers between CH340G and the mega.
Love CANBUS but it's quite expensive, needs lots of extra components compared to serial ports Duet3 uses it too. I'm waiting to see how the community embraces it
Just had a look at the schematics and layout. As someone who does industrial electronics designs for a living, there are A LOT of things i would improve on the design to make it better. Too much to write a comment about actually, as that would just take up my entire weekend... And i'm not even sure if you would listen and wanted to improve the design that deeply, or what kind of feedback you're looking for. Anyway, good luck with what you made so far, you got a long way to go, but it's a good start i guess.
I'd suggest using I2C or CAN over RS485 to talk to feeders. I2C would be a good choice as 1 I2C bus would support up to 128 devices, would use fewer IO pins on the microcontroller. On the feeder, I'd suggest using any of the cheap microcontrollers.
Great video! What is the big black box on the pcb? Is it a AC 110/220V to DC converter? Feel like there should be a encloser around it to be safer :D I guess you will do that in the future :)
Im curious if the usb ports have a dedicated power and a opto isolator to protect the computer and the plunged in devices in case something gets shorted. The reason i mentioned dedicated usb powered hubs is that some USB cameras have built in Ir blasters.
I recommend on the next iteration you add isolation. You don't want high current power flowing through your data cables. The PC is the most expensive part of the system and you don't want to kill it. Don't ask me how I know! Remember, ground is not ground, it's a wire leading to ground.
Awesome video! I love your quick soldering snippets and your enthusiasm when things work. Quick question: why go with a USB type B for the interface between the PC? Why not Type A or C? - Should I prefer Type B for (reasons hopefully a maker further down the track will inform me of) - Is it a matter of personal preference? Look forward to your next video, and enjoyed your chat on The Contextual Electronics Podcast
You should go with a 32bit processor, if not for the raw power, at least for the features (integrated USB, multiple serial ports, more memory, etc) and long term support. Something like the STM32F103 should be plenty and may actually enjoy cheaper than the ATMEGA.
Good job! A genius is a person who does obvious things that no one noticed before. ;) I had same reaction when my first FT232 JTAG programmer become to life :)
You could also go for a STM32 (Marlin 2.0 is compatible) instead of the crappy slow Mega. People with servo motors on their PNP would love the higher pulserate.
I like the USB hub controller and I can see a board based around that as really useful, but I wouldn't reinvent the wheel by creating a whole CNC controller. You can get "bigtreetech skr v1.3" controller for $20. That has space for 5 motor drivers and has built in support for TMC Drivers in UART and SPI modes. There are 3 small and 1 large mosfet. Loads of endstops, LCD & touchscreen support. Neopixels and other breakout stuff etc etc. I would use 1 board for your cartesian motion (X0, (X1?) Y0, Y1, Optional Gantry Z), and I would add another board mounted to the head for pick head control (even if you only needed 5 channels) for a fully independent and scalable nozzle solution (Nozzle0 Z, Nozzle0 Theta, Nozzle1 Z, Nozzle1 Theta) if you wanted a 3rd nozzle you could pick a 6 channel board here (eg skr pro v1.1), or have another separate X carriage on your gantry. You break it into modules and keep stepper wire runs and limit switch runs shorter, and allow for easier upgrades. More people can follow along reusing code without having to build a big board up. It's a 32bit board running marlin 2 so a bit more future proof. OpenPnP doesn't mind having multiple controllers, and you've just solved a big issue with the hub controller. A single power and data distribution point where you can connect USB and 12/24V and spread it out to multiple points across the machine without it getting messy or hard to understand.
Great job ! keep an eye on HEAT. with all those drivers packed up easy to heat up quick, especially in summer \long runs. small heatsinks with thermo douple tape and eventually small fans will keep your board cool !
Does it really stream 2 high quality cameras? I always had problems with that on openPnP and had to buy another hub for the 2nd camera so that the throughput got enough for those cameras.
nice work, RS485 is a logic levels not a communication protocol. the serial port in the MCU use universal asyncrance receiver/transmitter (UART). the output from the MCU is TTL logic levels which is 0 volt for logic zero and 5 volt for logic one. you can convert it to RS485 logic levels if you want to send the data to distance up to 1200 meter. in this case the the logic levels are represented with a differential voltage between two lines. if more than 200mv this it logic one if more than -200mv this logic zero your design now is fine I think, just use the TTL from the MCU to send the data to the CH340G
Great Job in the pnp so far . I would add more limit switches (12 total, so you can do min and max on all motors), also at least one fan (for board case), some LED headers progamable as needed. If this is all possible.
cool very good your work congratulations ... this plate is for a cnc milling machine? can I connect a control panel splint for use without the computer ... not writing the list of people on the board? sorry i'm sweet to ria cnc
I haven't even seen a pick n place in person. it was a basically a folklore legend or something unattainable before watching this series. I been working with electronics & design since my tech center class in 2009 - 2010. i only recently had a PCB made professionally. its a pretty sweet feeling when they work. i use fusion 360 for my electronic designs since i already use it for cad.
I HAVE A REQUEST! Could you try like... a soldering ASMR video for you next mobo? Hahaha I just imagine the sound of the plastic being removed from the component packaging and the bubbling of the flux in the solder... yeah, that would be so quirky and cool! Haha Great job on the motherboard WITH USBBBB!
Many webacams don't play nice, when you connect two to the same USB root HUB. In this cases two USB connections to the PC will be necessary. I would go for trinamic stepper drivers, for x and y maybe even one of the more powerful chips. For good results it is very important that the microstepping on x and y works rock solid. Also I would prefer a 32bit controller, Marlin for 8Bit uCs is pretty much a dead end. Otherwise a pretty cool design! How do you plan on using the RS-485? On channel per feeder or all feeders in parallel? Do you have an existing protocol in mind or do you plan to design your own?
I've been integrating every device I have, including my 3D printer with an open source program called "Home Assistant". I'm not sure if the software you're using supports MQTT, but any supoort for ESP/Wifi would be A+ Also: I decided I want to try building one of your INdexes. Looking at the github repo, it says electronics require you to purchase one of these boards and a bunch of parts on Digikey correct? Then you'd have to solder the board together by hand. I built a couple of Quin LED boards, but soldering some of those pads was very difficult I used some of that flux paste, but it was in a jar and I had to re-dip the thing constantly. What is that goo you're using to make the solder melt easier? I also see you're using alcohol to evaporate the excess off? Thanks for all the work you've done so far!
It's really cool if you make the IC control all of this 32 bit because it will be faster and can process the command much faster than atmega wich is 8bit processing IC
Hi another great video :). Could you tell me the name of the microscope you are using and if you would recommend it. Also whats the name of your PCB stand as looks a bit more sturdy than the ones I usually use. Thanks
Ignore me just remembered you made a kit list about a year ago and its on there, for anyone else wondering the same it can be found here kit.co/stephentherobot/my-maker-essentials
I want to build a machine with 7 or more motor controllers and 32 bit for some complex kinematics it is not easy to find a mainboard with that many drivers and processor that doesn't cost 10 times more than a 5 or 6 motor controller mainboard
Just to be safe, I would rather have all the GPIO laid out on the motherboard the way they do on those arduino boards so you can freely access any pin to add a function you need. IIC and SPI pins better be in separate breakouts for easiness of use. I might also use stm32 but if you don't like messing with new firmware, it's fine.
Smoothieware is the official system for the OpenPNP project, it's a bit odd you wouldn't at least mention it ( same for the Smoothieboard really ). What pushed you to do a derivative of out-of-date hardware, instead of pooling effotrs by contributing to one of the more modern controllers?
You use the webcams for optical alignment. therefore you need openpnp to take control of the machine. The controller alone cannot assemble boards reliably
Hey Stephen. Where did you get your FE1.1S chips? I tried designing usb hubs twice and failed both times. The second time I used the FE1.1S and followed somebody else's design religiously. One reason I can think why it wouldn't work is if I got bad chips.
legal muito bom seu trabalho parabem ... essa placa serve para uma cnc fresadora? da para ligar uma tala painel de controle pra uso sem o conputador... nao to axando a lista de pessas da placa? desculpa sou meigo a ria cnc
You make so cool enthusiastic videos with great content! The wire you soldered to the board looks great to fix mistakes. You wouldn't have a link to where you bought it? I also really love the Hakko, sadly nobody ships to Norway. :(
This is commonly called "Magnet wire" and it's usually used for winding in electric motors (or any other time you're trying to create an EM field). It's just a wire coated with an insulator. If you search for magnet wire you should be able to find it pretty easily.
The irony of hand soldering a pick-n-place controller board :)
ikr? He shouldve used the pick and place to build the pick and place :D
I've only just found your channel...and I've managed to binge-watch all your stuff. Your enthusiasm for this stuff is brilliant! I always have the same reaction when something works! You deserve way more than 10k!
Hey bro can U tell me which firmware use here in the control board???
OK I'll subscribe
Man , your reaction to those success moments are so nice! Keep up awesome job, dude !!! best wishes from far Ukraine
Dude, I could genuinely feel his excitement. It was awesome.
Stephen your enthusiasm is infectious! Great work. Keep it up!
Тоже строите ПНП станок?
Stephen your genuine enthusiasm legitimately brightens my day and improves my mood and that's not EVEN a joke
I had my fingers crossed that I'd have gotten to see the pic and place populate the motherboard
ya having the old machine build the brains of the new machine would be really cathartic
I'm working on a pnp with custom controller and feeders, as well. I plan for X, dual Y, Z1 w/H1/H2, and Z2 with Paste and Glue (LOCTITE 3614 makes double-sided PCBs rock...without dropping parts!), That's 8-axes right off the bat - could need 3 more. My machine is large-ish, so I'm using "real" motor drivers for XYY (which won't be too common for the cheap machines, but works for serious machines, things like gecko drives, or closed-loop drivers) - I need more stepper ports. A dedicated bank of step/dir/disable/gnd headers means I can expand the number of motors.
Nice touch with the onboard hub!
I still kinda cringe when I see an ATMEGA. Not because of arduino itself, but because there are so many mature, and cheap, ARM cores that are soo much more powerful and 32bit. Also, it opens up more firmware choices, such as Marlin 2.0. They all vary in capabilities from the STM32F0 parts that are cheap enough for my feeders, and it has USB, so I can program them offline - to bigger parts that allow external memory, accelerated graphics, floating point, etc. Also, CMSIS beats arduino libraries, hands-down.
For communications, before you throw-in with RS 485 ... take a look at CAN. Specifically, CANopen. STM32 (gee, I sound like a rep) has a free stack for it, too. It's designed for having multiple nodes, and fits your original methodology with RING.
Your machine is just one head, which is common. But robotdigg sells a popular head that's dual (it's basically the same as yours, only metal). Some use 2 of those for quad heads! My own machine is technically a quad, but will eventually have 6 total heads (4 pnp, 2 dispense) That presents a couple implications for me:
I have acquired several solenoids to control the heads, all connected to a single manifold which provides vacuum and pressure from an air compressor. There's "off", venturi/vacuum, and pressure/blow-off for dual heads (actually, the manifold is setup for 4 heads... incase I need moar CPH?). Each head will have an inline pressure sensor. So I can detect mispicks/drops/etc more reliably. I suppose a sensor for the main vacuum and pressure wouldn't be terrible, either - for ease of troubleshooting.
For more speed, I'll need multiple bottom cameras, ideally one for each head, spaced out for simultaneous use. So more USB can't hurt. Have you tested an additional hub on those ports?
Sorry for the diatribe! These notes are just really to point out my own use case. I was really excited about the idea of a "3d printer of pnp" but as I started to think of it as a capital investment, my goals changed as to what hardware is really needed to make money off the machine. YMMV. Don't give up on making a controller, it's all very wild-west, it's good to see a pioneer trying to push things along.
Hi, nice design you have here. Have you thought of placing your bottom camera on the gantry in between the feeders and the board space ? If all your heads are in line, the camera will always be on that line too and all heads will have to pass over it when moving from feeders to board.
Two thumbs up!!
The irony is to assemble the motherboard of an smd pick and place machine, by hand.
I used to design circuit and PCB for cnc machine and one of the things I used to do is to place jtag connectors strategically placed (input and output of drivers, special components and power ports along the board, but did not solder) to make it easier, safer and faster to diagnose it. And maybe, for instance, in a near future, you want a different stepper drive for your z axis and it would be easy to hijack the board with jtags.
Great videos and take care! 🤘🏻
Definitely one of the most enthusiastic makers I've seen on RUclips, awesome work! Keep it up!
Love your enthusiasm! May I suggest a room/workshop tour video tho, I would love to see that.
Not sure if I posted this on the last Video. You could use a few additional ins in the feeders do get the I'd of the place were the feeder is placed. A little 1wire I'd Chip could be placed in the connector. In the machjne so every spot for a feeder has its one id. You only need 2 additional contacts for 1one wire and there are Adrino libs for speekin to it.
Very nice project! This is a huge contribution to the open source community. It would be amazing if it have support to load the components without a entire roll... Btw, can’t wait to see the camera correcting the components positions. Thank you man! 🙏🏻
You have the most entertainment electronic content here in youtube! Thanks for that!
It's the best when it works on first try! Awesome!
It's a bit concerning when something works the first time
I think the only change I would have made is going with a SAMD21 or SAMD51 over the MEGA. I believe the SAMD21 and MEGA are pretty comparable in price, but I understand if firmware choice limited you to one over the other. Awesome build and I agree, PCBWay matte black is pretty fetching. And those spring contacts! Thanks for providing me with a name as they are an excellent choice for making a programmer for some SAMD11 projects I've been sitting on forever.
Yeah I think he doesn't want to have to fuck with marlin too much
Your success excitement reminds me of my first TVRO pictures in the early 80s on a home built satellite dish.
yeah, the parallel feeder interface was the most important point about your feeder design that I was worrying about. Glad you switched to RS485. Definitely the better choice! Thumbs up for your work, you are doing a great job!
Another interesting protocol to use to connect to feeders etc. is CAN. Big advantage is that every message is checked at the HW level that it arrived and is auto resent in HW if it didn't.
WOW, Stephen! I was almost jumping up and down when I saw your motherboard connected your webcam to your PC! Great work!
Awesome videos, great music, great editing and fantastic execution, with the expectable iterations.
Keep it up with your current projects!
2:10 - When the music kicks in and you're expecting it to be a collab with a Default Cube cameo 😂
Have you thought of going modular? That way you can create a base board for the USB and RS485 controllers then have a module that has 2 stepper motor drivers, then add 3 if you need 6 or 4 if you need 8. RS485 can access up to 32 devices, so it might be better to have two buses, one for the modules and one for the pickers. The other ports could also be modules, which reduces the size of your board because you can pick and choose what you want to have connected.
It works!! The reaction is so satisfying
Hey boss, one big thing I would add to your board is opto isolation between all things motor and controller. This will eliminate noise from the motors and eliminate any chance of a malfunction throwing high voltage down a line to logic circuts
You might want to look into drag soldering. It's similar to what you do except the soldering tip has a small pocket that stores melted solder and when you drag it across the pins they wick as much solder as they need on their own.
I came here to say this, it is so much more satisfying to do than removing excess solder with a wick. And more satisfying to watch.
This video is informative, useful and enjoyable. This channel is full of valuable information.
The best electronics channel I've found this year. Keep up the great work Stephen ;)
Also, RS-485 is just the physical layer, you can still using RING over RS-485
You're getting there. I am also building my pnp machine, I actually use a BIGTREETECH BOARD then I realise the pins left alone can't be triggered with M42 command so I also use a Arduino Mega who has tones it. Then decide to build my own board usi NG a stm32. It's kinda hard cause I do not know coding but I learn fast. You are doing a great work and Ian gonna support you on patreon. Maybe we could collaborate and exchange ideas I have a stand alone idea for the feeder you might be interested in.
Mad soldering skills! Congratulations on getting the new design working.
Excellent stuff! You’ve shown the highs, thrills and joys of making your own stuff.
Some hints for your prototyping and rework::
Stop wasting Solder-wick by using a “Solder Well” tip.
Invest in some ESD equipment to minimise static electricity handling damage.
Invest in a good quality hot air pencil and solder paste syringe to more easily and quickly solder small chip components.
you should really get some flux for your soldering, makes smd soldering much easier
apart from that, i'm really glad to have found your channel, your energy and enthusiasm are contagious!
Smoothieware can do all the PnP stuff mostly out of the box from my understanding. I believe that is what the OpenPnp people use. 32bit board, switch module, plenty of fets and such...from what I know of the firmware it can do it easily. Switch module in smoothieware is very powerful....you can control pins as inputs/outputs with just a config change and they can be controlled by gcode.
Disclaimer: I work directly with the project on the Smoothieboard hardware QA so take that as you will...but regardless of that I would still use Smoothieware for this case.
Your drive to get a project going is great though. But just like in 3d printing the 8bit and RAMPS type stuff has largely been abandoned years ago. There is better firmware out there for the job for sure. Marlin is certainly not the one I would start with if I was going to build anything except a 3d printer. Others may disagree.
How does this channel not have at least a million subs???
Add a temperature controlled preheating plate below the PCB so that when you use the heatgun it only needs to go above heating limit of components for a short time
I have used a Melzi board with Martin for a while. One recurring issue is glitching and renumeration on the serial during printing. Separating USB from the rest in two isolated circuits should avoid the issue, and all it takes is a few optocouplers between CH340G and the mega.
The way you approach electronic is awesome! Amazing bro
If you're going to use RS485, consider using CAN bus instead
Love CANBUS but it's quite expensive, needs lots of extra components compared to serial ports
Duet3 uses it too. I'm waiting to see how the community embraces it
Just had a look at the schematics and layout. As someone who does industrial electronics designs for a living, there are A LOT of things i would improve on the design to make it better. Too much to write a comment about actually, as that would just take up my entire weekend... And i'm not even sure if you would listen and wanted to improve the design that deeply, or what kind of feedback you're looking for.
Anyway, good luck with what you made so far, you got a long way to go, but it's a good start i guess.
@Stephen Hawes - will there be a way to order populated boards?
And, how will we know when you have finished debugging the board?
Looks great so far.
I'd suggest using I2C or CAN over RS485 to talk to feeders. I2C would be a good choice as 1 I2C bus would support up to 128 devices, would use fewer IO pins on the microcontroller. On the feeder, I'd suggest using any of the cheap microcontrollers.
Awesome job man. Keep up the good work. Love the editing style and enthusiasm
Great video! What is the big black box on the pcb? Is it a AC 110/220V to DC converter? Feel like there should be a encloser around it to be safer :D I guess you will do that in the future :)
Im curious if the usb ports have a dedicated power and a opto isolator to protect the computer and the plunged in devices in case something gets shorted. The reason i mentioned dedicated usb powered hubs is that some USB cameras have built in Ir blasters.
I recommend on the next iteration you add isolation. You don't want high current power flowing through your data cables. The PC is the most expensive part of the system and you don't want to kill it. Don't ask me how I know! Remember, ground is not ground, it's a wire leading to ground.
Next time you should pickup a stencil with your PCB, saves a lot of time hand soldering :)
Awesome video! I love your quick soldering snippets and your enthusiasm when things work.
Quick question: why go with a USB type B for the interface between the PC? Why not Type A or C?
- Should I prefer Type B for (reasons hopefully a maker further down the track will inform me of)
- Is it a matter of personal preference?
Look forward to your next video, and enjoyed your chat on The Contextual Electronics Podcast
You should go with a 32bit processor, if not for the raw power, at least for the features (integrated USB, multiple serial ports, more memory, etc) and long term support. Something like the STM32F103 should be plenty and may actually enjoy cheaper than the ATMEGA.
Hello ..... you are very good!
Where can I find the schematic of the card you show in the video?
The link on Github shows another tab
Good job! A genius is a person who does obvious things that no one noticed before. ;) I had same reaction when my first FT232 JTAG programmer become to life :)
Please add some more general IO pins, for example to connect SPI to Trinamic stepper drivers (SPI or UART)
You could also go for a STM32 (Marlin 2.0 is compatible) instead of the crappy slow Mega. People with servo motors on their PNP would love the higher pulserate.
I like the USB hub controller and I can see a board based around that as really useful, but I wouldn't reinvent the wheel by creating a whole CNC controller. You can get "bigtreetech skr v1.3" controller for $20. That has space for 5 motor drivers and has built in support for TMC Drivers in UART and SPI modes. There are 3 small and 1 large mosfet. Loads of endstops, LCD & touchscreen support. Neopixels and other breakout stuff etc etc.
I would use 1 board for your cartesian motion (X0, (X1?) Y0, Y1, Optional Gantry Z), and I would add another board mounted to the head for pick head control (even if you only needed 5 channels) for a fully independent and scalable nozzle solution (Nozzle0 Z, Nozzle0 Theta, Nozzle1 Z, Nozzle1 Theta) if you wanted a 3rd nozzle you could pick a 6 channel board here (eg skr pro v1.1), or have another separate X carriage on your gantry. You break it into modules and keep stepper wire runs and limit switch runs shorter, and allow for easier upgrades. More people can follow along reusing code without having to build a big board up. It's a 32bit board running marlin 2 so a bit more future proof.
OpenPnP doesn't mind having multiple controllers, and you've just solved a big issue with the hub controller. A single power and data distribution point where you can connect USB and 12/24V and spread it out to multiple points across the machine without it getting messy or hard to understand.
Yeah, I agree with you. Yet doing something this magnitude by oneself it's a great satisfaction. Just look at his excitement! I love his passion on it
Great job ! keep an eye on HEAT. with all those drivers packed up easy to heat up quick, especially in summer \long runs. small heatsinks with thermo douple tape and eventually small fans will keep your board cool !
Video: Sponsored by PCBWay
JLCPCB: *Sad PCB Noises*
I'm loving this. So fun!
Does it really stream 2 high quality cameras? I always had problems with that on openPnP and had to buy another hub for the 2nd camera so that the throughput got enough for those cameras.
the Envy is real! awesome job!
Whats the name of this cool pcb holder?
Since you have tuns of unused pins, leave a pin header to attach stuff to it.
hey Stephen, congratulations on this project. Will you use a heat pistol to sold the components in the future project?
nice work, RS485 is a logic levels not a communication protocol. the serial port in the MCU use universal asyncrance receiver/transmitter (UART). the output from the MCU is TTL logic levels which is 0 volt for logic zero and 5 volt for logic one. you can convert it to RS485 logic levels if you want to send the data to distance up to 1200 meter. in this case the the logic levels are represented with a differential voltage between two lines. if more than 200mv this it logic one if more than -200mv this logic zero
your design now is fine I think, just use the TTL from the MCU to send the data to the CH340G
Great Job in the pnp so far . I would add more limit switches (12 total, so you can do min and max on all motors), also at least one fan (for board case), some LED headers progamable as needed. If this is all possible.
cool very good your work congratulations ... this plate is for a cnc milling machine? can I connect a control panel splint for use without the computer ... not writing the list of people on the board? sorry i'm sweet to ria cnc
Great, but why you have switched from JLCPCB to PCBWAY ? All things around pcb interrest me.
I haven't even seen a pick n place in person. it was a basically a folklore legend or something unattainable before watching this series.
I been working with electronics & design since my tech center class in 2009 - 2010. i only recently had a PCB made professionally. its a pretty sweet feeling when they work.
i use fusion 360 for my electronic designs since i already use it for cad.
This is great work Stephen!
I HAVE A REQUEST! Could you try like... a soldering ASMR video for you next mobo? Hahaha I just imagine the sound of the plastic being removed from the component packaging and the bubbling of the flux in the solder... yeah, that would be so quirky and cool! Haha
Great job on the motherboard WITH USBBBB!
Many webacams don't play nice, when you connect two to the same USB root HUB. In this cases two USB connections to the PC will be necessary.
I would go for trinamic stepper drivers, for x and y maybe even one of the more powerful chips. For good results it is very important that the microstepping on x and y works rock solid.
Also I would prefer a 32bit controller, Marlin for 8Bit uCs is pretty much a dead end.
Otherwise a pretty cool design!
How do you plan on using the RS-485?
On channel per feeder or all feeders in parallel?
Do you have an existing protocol in mind or do you plan to design your own?
Friedrich K maybe a usb 3 connector that way there is bandwidth
Did you included optical encoders for close loop feedback ?
I've been integrating every device I have, including my 3D printer with an open source program called "Home Assistant". I'm not sure if the software you're using supports MQTT, but any supoort for ESP/Wifi would be A+
Also: I decided I want to try building one of your INdexes. Looking at the github repo, it says electronics require you to purchase one of these boards and a bunch of parts on Digikey correct? Then you'd have to solder the board together by hand. I built a couple of Quin LED boards, but soldering some of those pads was very difficult I used some of that flux paste, but it was in a jar and I had to re-dip the thing constantly. What is that goo you're using to make the solder melt easier? I also see you're using alcohol to evaporate the excess off? Thanks for all the work you've done so far!
Nice build!! How much did the components cost??
Looking good! (it’s key-cad btw)
It's really cool if you make the IC control all of this 32 bit because it will be faster and can process the command much faster than atmega wich is 8bit processing IC
so good. hey that microscope with a screen and lights thing, do you have a link to it?
Essa placa, é software junto com os driver, e pra venda???
Nice, I hope the webcams works well on the fe1 chip , its a really bottom of the bin chip.I have only used it for serial coms
This is an amazing project thank you for sharing!
What is this "photobooth" software you are talking about ??
Congrats on the sponsorship!
Hi another great video :). Could you tell me the name of the microscope you are using and if you would recommend it. Also whats the name of your PCB stand as looks a bit more sturdy than the ones I usually use. Thanks
Ignore me just remembered you made a kit list about a year ago and its on there, for anyone else wondering the same it can be found here kit.co/stephentherobot/my-maker-essentials
Love the series and your enthusiasm! QQ: what is the cylindrical board holder you have - it looks great but I can’t find it.
It's called a Hakko Omnivise and sadly it's really expensive...
Thank! Time to save some pennies :)
Hey! Where do you buy your components from?
Why not make a little convection oven as a project?
I see the future steve jobs in you. Good work cant wait to buy that board soon. Thank you
I want to build a machine with 7 or more motor controllers and 32 bit for some complex kinematics it is not easy to find a mainboard with that many drivers and processor that doesn't cost 10 times more than a 5 or 6 motor controller mainboard
do you live stream when working on this stuff?
Saturday is saved XD
Awesome work man
I love kicad too 😍😍 i use it in my project
Can U tell me which firmware Can I use with openpnp??
Please I am a noob
It would be great if you add a network interface too
It isn't a Stephen Hawes without random wires bodged over fancy PCBs. Luckily it was only temporary.
Just to be safe, I would rather have all the GPIO laid out on the motherboard the way they do on those arduino boards so you can freely access any pin to add a function you need. IIC and SPI pins better be in separate breakouts for easiness of use. I might also use stm32 but if you don't like messing with new firmware, it's fine.
Smoothieware is the official system for the OpenPNP project, it's a bit odd you wouldn't at least mention it ( same for the Smoothieboard really ). What pushed you to do a derivative of out-of-date hardware, instead of pooling effotrs by contributing to one of the more modern controllers?
When will this be on the github page? Also love this page
instead of the fe1.1s you should consider an sl2.1s usb hub its smaller and cheaper
I would add a small oled and a memory function so you could save your g files and quickly load them back up for the next board
You use the webcams for optical alignment. therefore you need openpnp to take control of the machine. The controller alone cannot assemble boards reliably
Hey Stephen. Where did you get your FE1.1S chips? I tried designing usb hubs twice and failed both times. The second time I used the FE1.1S and followed somebody else's design religiously. One reason I can think why it wouldn't work is if I got bad chips.
lcsc.com
Sir I want to buy this pnp controller please send me purchase link
legal muito bom seu trabalho parabem ... essa placa serve para uma cnc fresadora? da para ligar uma tala painel de controle pra uso sem o conputador... nao to axando a lista de pessas da placa? desculpa sou meigo a ria cnc
You make so cool enthusiastic videos with great content! The wire you soldered to the board looks great to fix mistakes. You wouldn't have a link to where you bought it? I also really love the Hakko, sadly nobody ships to Norway. :(
This is commonly called "Magnet wire" and it's usually used for winding in electric motors (or any other time you're trying to create an EM field). It's just a wire coated with an insulator. If you search for magnet wire you should be able to find it pretty easily.
Haha, great idea. I really enjoy your enthusiasm. Would be great if most of my students were like you ;)