Filament Width Sensor


Has anyone done this yet on a PICA revB board yet. I bought one for my I3 Pursa but it has taken so long to get here.

I just sold my I3 yesterday… so I might try it on my Wilson II but unsure about connection to the PICA, as it is not on the supported list.


I believe you could use the fourth thermistor input connection on the pica board for this (assuming you don’t have a fourth thermistor). The T inputs are just routed to the ADC on the arduino, so it would be just a matter of telling the filament sensor code where the T3 input is located (TEMP_3_PIN).


Cool thanks for that… I’ll have a play on the weekend and see how it goes.


Last night was a pain but I assembled the unit and got it calibrated… after the power went off a few times due to storms I gave up.

I have it working but I am getting 2.19v with the calibration rod in when connected to the PICA board. If I connect the multimeter alone (or remove the pin T3) I get the correct 1.55v which is close the calibration rod and when I stick filament in I got 1.73v which is close of filament I had… it seems to be about 0.05 out to be exact.

In Pin.h I added:

// #define TEMP_3_PIN 12

  //added pin for Filament sensor analog input 
  #define FILWIDTH_PIN       12

Should I comment out the #define TEMP_3_PIN 12 line? seems to work with the line commented out anyway.

No matter how, I see it when I connect to pin 12 I get 2.19v with the rod and about 2.35 with filament. I can see the size vary s the filament pases through but the percentage change is just on 100% but I assume this is because it is out side the parameters as the firmware is looking for a Max of 2.0 and a Min of 1.5.


I explained the same as above to the maker of the filament sensor and this is his reply.

         - in reply to ant0ny

It sounds like either the pin on the PICA is not configured as an input or it has too low input impedance. The sensor board expects an input impedance greater than 5k ohm or so.

Does this shine any light on the problem as “electronics speak” is like a foreign language to me.


Ok I have been slack in following this up. I have setup a RAMPS board at the moment which fixed the issue of what seems to be a input impedance difference between the PICA and RAMPS boards.

I have been chatting to the maker of the filament width sensor and he pointed me to the fact that it’s probably in the fork of Marlin.

Your branch of Marlin is not the official one.  It looks like it does not have this change in it:
This change ensures the display is working correctly on a graphical LCD.
If you have a graphical LCD this might be the cause for your issue.


I have done a hack and changed the complete dogm_lcd_implementation.h file for the one we are using and it complied without an error so later when this print finishes I see it it works or not.


I am not sure sometimes I swear Arduino software hates me.

There where 4 other files missing and pages of errors… I thought it was too easy.

How hard is it to have the Rack and Pinion Z moved into the latest Marlin? Has anyone got a version they have done?


Any progress on the sensor front? I have been struggling with the print quality on a new spool I am using and I have found it varies between 1.68 and 1.74 - which is enough to make some big differences. I have ordered the electronics for the filament width sensor - because being a tight arse I am likely to keep buying cheap filament!

I am running RAMPS not PICA tho, so hopefully it should be a smooth path.

Have you mounted your sensor, or do you leave it floating just before the extruder?


Lol yeah it’s sitting in a box. It works with Ramps and it seemed to be doing the job.

Worth it… not sure?

If you like I could send it to you and you can have a play with it. They are a bit expensive just to try out.

One thing I am going to test is the filament run out sensor… think that is a handy thing to have.


I found a guy on Tindie selling the full sensor for $33 USD - and he has excellent reviews, so I jumped on it :slight_smile:

I figure this could be used as a run out sensor as well? I assume 0v will register as no more filament!


Cool… yeah true maybe it would double as a run out sensor.

Ah yeah mounting is a pain. it’s a bit big and when I changed to the titan I made a… well like a funnel that sat over the lead in piece of teflon tube and the sensor nestled into the top of that but it was a bit heavy and wanted to bend the teflon tube.

I think a bracket off the filament roll or frame near the filament roll would be better. once it is fixed you just need to add the distance from sensor to hotend.


Problem I see having it mounted so far from the hot end - how long would it take to get the right value at the start of a print?

Ideally, I’d have thought that re-designing the extruder such that it sat in that space between the drive and the hot end? Obviously that’d be quite a complex design :frowning:


Yes the distance will lead to error to a degree as the maths will expect a perfect distance so closer would be the better. It just gets in the way a bit when you have a direct drive extruder.