I am on a project in which I need to make bicycle dynamo frequency meter. The power generator’s output should vary with the speed of the wheel.

Which parts do I need to make it work?

The project should look like: : http://www.lanzo.se/experiments/dynamo/dynamo.html or http://practicalphysics.org/bicycle-dynamo-and-oscilloscope.html

-->without oscilloscope ( which is replaced with Arduino and panel )

  • The power generator’s output WILL vary with the speed of the wheel, and the frequency / amplitude of the signal will vary as well. Are you attempting to measure and display the frequency of the bicycle dynamo "pulses" or do something else?
    – VE7JRO
    Dec 8, 2017 at 1:40
  • I want to measure period where voltage is measured along the y axis and time along the x.
    – Iosephus
    Dec 8, 2017 at 9:06

2 Answers 2


The first thing to look at before you connect the bicycle dynamo to an Arduino is what type of signal / voltage it generates. The link you've provided: http://www.lanzo.se/experiments/dynamo/dynamo.html gives you the answer. It's an AC signal which varies between +4V and -4V (It could be much higher if you spin it faster). On the Atmega328P data sheet under "Absolute Maximum Ratings" it says "Voltage on any Pin except RESET with respect to Ground -0.5V to VCC +0.5V". Obviously, -4V exceeds the -0.5V maximum so don't connect it directly to an Arduino.

The signal from the dynamo to Arduino must be limited to between 0V and 5V (for an Arduino operating at 5V). The answer on how to accomplish this is a general electronics question and should be asked on a different forum e.g. https://electronics.stackexchange.com/questions/132330/8v-ac-signal-into-3-3v-digital-input-pin

The "frequency meter" part of your question is easy to build with an Arduino. You could use an Uno or something smaller like a Pro Mini with a 16 x 2 LCD display and this library: https://github.com/k3ng/k3ng_antenna_tuner/tree/master/libraries/FreqCounter. An I2C backpack for the LCD is only a dollar more and makes the wiring much easier. To use the backpack you'll need this library: https://github.com/marcoschwartz/LiquidCrystal_I2C.


It al depends on what is the maximum output of the dynamo.

  • less than 5V (not likely): great just connect it directly with the Analog measuring pin of the Arduino (A1- A7)
  • more than 5V: we got different options here
    • Make a simple voltage divder to measure the output
    • use an external ADC
  • I have old bicycle with dynamo but not sure what the dynamo voltage actually is. I'm prefering "more than 5V".
    – Iosephus
    Dec 8, 2017 at 10:16
  • Also, I'm beginner in this and describing the process would help me the most.
    – Iosephus
    Dec 8, 2017 at 10:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.