Having build BambooFeeder, BingFeeder and looked into PhotonFeeder I decided to design my own partly to solve issues I observed, partly to save space and partly to save cost! This was a proof of concept experience and it turned out very good. The 3D model of the 8mm Feeder is shown below. It is not 100% complete as I will need several rounds with printing, adjusting & testing, but results look promissing so far. I seldom show the full FreeCAD app, but in this case I do so for a reason.
Specification
- 12 mm wide for 8mm tape.
- Smart Feeder with intelligence/memory
- Automatic configuration.
- ESD/EMI safe.
- 130 by 101mm – very small by accident.
- Low cost – ca 10.- USD per feeder + control system.
- Mounted on 2 x 2020 or 2040 frames.
Cost
- Plastic PETG print ca 2.- USD
- 2 x N10 motors ca 5.- USD
- Bearings and screws ca 3.- USD
- Control system – TBD
Reference to parts and where to get them will be given on github later.
To hell and back with FreeCAD
I use FreeCAD because it is the only open source CAD system I know. This is not a complex model IMO, but using FreeCAD 1.0 I started getting problems as the model became a slug on a i7 Windows10 with 16Gb RAM. At one point I got a “out of ram” message as I tried to save and even small changes took close to 10 minutes to execute. Imagine sitting and entering a single parameter and waiting 5-10 minutes to see the effect? That was me 2 days ago and I basically decided to to remove FreeCAD from my computer as useless, sluggish, junk! The model was 605Mb on disk (WTF?) and took some 12Gb in RAM. It was no way I could continue with that, but a friend urged me to test FreeCAD 1.1 and I did.
Loading with FreeCAD 1.1 and saving again the model shrinked from 605Mb to 62Mb on disk and “only” used 3,7Gb RAM – the difference allowed me to continue and finish the model. It is still slow to work with, but 5 sec waiting is nothing compared to 5 minutes. FreeCAD 1.1 is a big improvement over the earlier versions. Well done to those working on this release. Since the feeder model is in FreeCAD it also means it will be available open source.
Sprocket & Tape Feeding
I use a plastic sprocket with encoder holes and merged that with a gear. My first test was to 3D print this and it did to my surprice come out nice and strong. The sprocket (red gear on drawing) is only 1mm thick, but I could not break those tags with my hands so I think they will do ok. Early testing of tape feeding is very promissing. Using plastic gears is a big cost saver, and my take is that if I need to swap them out after some time, so what – they are still dead cheap to print in PETG.
Wormgear
I use two workmears on N20 motors and those are complex to 3D print. I have the option to change to brass versions, but that cost ca 2.- USD each. For now I want to stick with PETG and see how it goes.
Sprocket Decoder
I use IR decoders to read the sprocket position, but I could not find any pre-made sensor fitting, so I decided to use two 0603 components and make my own PCB’s forming a very narrow sensor around the sprocket wheel (Yellow parts at right) and I also made a cable gate from right to left to avoid that sensor cables got close to motor/gears.
Wheel Bearings
One of the decitions I made was that I wantet proper wheel bearings on every gear. They only cost ca 10.- cent, so 5 bearings is a total of 0,5.- USD. Well spent money in my book. With bearings also comes special screws that probably is another 1.- USD in total.
Peeler Mechanism
The peeler mechanism is the 2nd N20 motor (top left) with 2 gears to drag the tape between them exiting it at left and a classic end-switch to verify if tape is tight. I have no idea if this will work as the tape is thin and slippy, but we will see.
Control System
To operate the feeder I need a small control system and this is currently the green plate located at left. The control system fold into the lid so that it also is the wires from left to right over the tape track. That saved me from having wires on the sides. This drawing still lack the proper PCB with mounting holes, but PCB is fixed to the main part and lid will have a hole for it. I can also increase the size of the control system as it needs to hold a MCU, two H-bridges and CAN. MCU will be STM32H503 because I get those as low as 1,5 USD. They are a complete overkill for this task, but they have 128Kb Flash. I started coding on a smaller 32Kb MCU costing 1.- USD, but was in fear of running out of flash. I also use H5 for everything else due to cost/performance so it makes sence. I will return to control system design later.
Issolated communication
I will be using CAN with 3,7KV isolation on the control system. The reasons is that it only cost ca 2.- USD extra and with 50 to 100 Feeders on a machine I will be operating 100 to 200 DC motors and lot of wires with ESD/EMI challenges. One Feeder is not a problem, but 50 to 100 of them is a large system to destroy, so I preffer to do it properly!
CAN can operate 1 – 32 nodes easely so I need a USB/Ethernet/CAN GW capable of Ethernet (USB) and multiple CAN networks – and guess what – I accidentally have that ready as other articles describes ECU with multiple IO capabilities – CAN and Ethernet is on the list, but so is also RS485 and GPIO pins so I can easely create an advanced automation machine and integrate a mix of BambooFeeders, BingFeeders, T-2, Photon as well as my own.
That said I would like to think about that a bit because while my ECU’s are perfect for this task they also come with a cost… I can however accept a single cost in ca 200.- USD region if that enable low cost, intelligent feeders.
Intelligent Feeder – what is it?
Firsly I want to put persistent memory on the feeder, so that once you mount a reel you also configure the feeder. And once you put that in the machine OpenPnP will automatically recognise that you have 10K 0402 (example) in position xxx. Minimum config work needed. The next job is then for OpenPnP to execute auto-calibration and start running.
But, it is more – as we start/stop motors we send PWM pulses and the “normal” way is to start fast and break hard creating small “bumps” in the feeder – I want soft start and soft stop to avoid those twitches. I have a IR sensor for position, but the reality is that this is inaccurate so I want to use software average to make it more accurate by predicting timing of next position and adjusting. Once I have run adry run I should have data to compute this more accurate.
I have the option to add a 2nd IR sensor directly on the tape itself – I am still considering if this is worth it.
A last option is wherever I need a “break” on the tape itself. I have an option ready, but I have so far decided against it. The tape follows the track perfectly and is very tight (not to tight), but this is one thing I need to test and adjust.
Since we have memory we can as well count components on the reels.
I will add a vibration sensor on the dev kits for my own usage, but they will not be on the final product.
Noise/Vibrations
This is work in progress, but as soon as I start a N20 motor on a Bing Feeder I notice that sound and vibration is amplified through the plastic. I will have the same challenge, so I need to deal with that. I have an idea to isolate the motors, but lets see. This is the reason I want a vibration sensor on the feeder for testing.
To be continued…
I have so far only drafted a proof of concept on a new, small, low cost feeder. I have yet to set it into system and link it up with OpenPnP.
This is an open source project so I will put it on github later.







