I'm a new member of the raspberry pi community and I have problems with starting my first project. I want to be able to create a data signal using pulse width modulation with the gpio headers. The duty cycle would determine the value of a bit. so for example 75% duty cycle would represent a 1 and a 25% duty cycle would represent a 0. So I have to be able to control the amplitude of the signal very precicely since I want the frequency of the signal to be around 10000 hertz. The data signal would be used to control a LED strip. I want to write the software from the ground up. How would one go about this? I know python and a little bit of c++.


2 Answers 2


Choose a GPIO library.

See https://elinux.org/RPi_GPIO_Code_Samples

Write the code.


"I want to write the software from the ground up."

  1. Read the Peripheral documentation https://www.raspberrypi.com/documentation/computers/processors.html
  2. Choose a language
  3. Write the code.

"I have problems with starting my first project."
There are a few caveats; I would NOT start with PWM which is involved and has limited support.

You might like to read the survey of available libraries I wrote a couple of years ago https://raspberrypi.stackexchange.com/a/117592/8697

Your Answer

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

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