DFRobot Wheel Encoders for DFRobot 3PA and 4WD Rovers (2pk)

DFRobotSKU: RB-Dfr-46
Manufacturer #: SEN0038

Price  :
Sale price £12.43

Tax included Shipping calculated at checkout

Stock  :
Only 2 units left

Payments and Security

Apple Pay Mastercard PayPal Visa

Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.


  • Voltage:+5V
  • Encoders are designed for DFRobot 3PA and 4WD Rovers
  • Can give you the rotation degree of the wheels
  • Includes encoders, plastic tube, paper-mediated gasket etc

The DFRobot Wheel Encoders for DFRobot 3PA and 4WD Rovers (2pk)are designed for manufacturer 3PA and AWD Rovers. It can give you the rotation degree of the wheels. Encoder uses non-contact method to convert the angular displacement signals. Best fit with Micro DC Geared Motor. It includes encoders, plastic tube, paper-mediated gasket etc.

DFRobot Wheel Encoders for DFRobot 3PA and 4WD Rovers (2pk)- Click to Enlarge

  • Voltage: +5V
  • Current: <20mA
  • Resolution: 20 PPR
  • Weight: 20g

Customer Reviews

Based on 3 reviews
Medium resolution but easy to set up

Install requires some work to space the encoder wheels with the plethora of washers and spacers provided. I have a different take on the discussion by another reviewer on the interrupts. You do get different counts based on the pin you connect to, but that is due to the Atmega interrupt scheme. Different chips have different interrupt architectures. Leonardo boards use the 32U4 chip, which have a dedicated interrupt signal on pins 2 and 3, while the UNO uses the 328 chip, which does not. If a pin does not have a dedicated interrupt, it gets lumped into a 'pin-change' interrupt with all the other digital pins that don't have dedicated interrupts. When I used a UNO board and pins 2 and 3, I would get 'cross-talk' between the wheels. It seems that the Arduino library gets the interrupt and tries to decide which registered callbacks should be invoked base on the pin states. If there are more than one 'pin-change' interrupt callback, it seems to be able to get confused. I solved this by manually checking for a pin change-of-state in the interrupt handlers. After doing this (and adding some debounce code as well), I got very consistent count numbers.

Encoders work great but there is some confusing output

These are a little tricky to install on an assembled robot but the instructions are perfect. Once you try to use encoders comes the confusion, at least when using an Arduino mega. I found different readings per wheel and thought there was an encoder problem until I ran an experiment with different intercepts. Someone should write a tutorial on using encoders and intercepts. Here is what I found when using the same encoder at the same speed on different intercept pins: right encoder on intercept 0 (pin 2) Count = 148 right encoder on intercept 3 (pin 20) Count = 28 right encoder on intercept 2 (pin 21) CountA= 28 right encoder on intercept 4 (pin 19) Count = 1276 right encoder on intercept 5 (pin 18) Count = 908 Once you understand this you can make use of whatever formulas per encoder you need to achieve speed or distance results for the wheel pairs.

inexpensive but effective

Seem to do the job. Gives 5v signal when photo interrupter is blocked by the disk. So far they seem to work reliably. Does not mount on RB-Sbo-02 GM3 - Gear Motor 3 - 90 degree Shaft without modification.

Estimate shipping

You may also like