pwm-driver

There are 101 repositories under pwm-driver topic.

  • adafruit/Adafruit-PWM-Servo-Driver-Library

    Adafruit PWM Servo Driver Library

    Language:C++4764651311
  • khoih-prog/RP2040_PWM

    This library enables you to use Hardware-based PWM channels on RP2040-based boards, such as Nano_RP2040_Connect, RASPBERRY_PI_PICO, with either Arduino-mbed (mbed_nano or mbed_rp2040) or arduino-pico core to create and output PWM any GPIO pin. The most important feature is they're purely hardware-based PWM channels, supporting very high PWM frequencies. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using ISR, millis() or micros(). That's necessary if you need to control devices requiring high precision. New efficient setPWM_manual function to facilitate waveform creation using PWM

    Language:C++7371119
  • besp9510/dma_pwm

    Pulse width modulation (PWM) via direct memory transfer (DMA) on the Raspberry PI

    Language:C29266
  • rubinsteina13/C_SVPWM_LIB

    C-library with implementation of the Space-Vector PWM generation technique

    Language:C283110
  • hannahvsawiuk/3-Phase-PWM

    A variable frequency three phase PWM generation code for an AVR ATMEGA328P/-PU microcontroller

    Language:C255210
  • khoih-prog/ESP32_PWM

    This library enables you to use Interrupt from Hardware Timers on an ESP32, ESP32_S2 or ESP32_C3-based board to create and output PWM to pins. It now supports 16 ISR-based synchronized PWM channels, while consuming only 1 Hardware Timer. PWM interval can be very long (uint32_t millisecs). The most important feature is they're ISR-based PWM channels. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware PWM channels, using interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's necessary if you need to measure some data requiring better accuracy.

    Language:C224510
  • khoih-prog/ESP32_FastPWM

    This library, a wrapper around ESP32 ledc library, enables you to use Hardware-based PWM channels on ESP32, ESP32_S2, ESP32_S3 or ESP32_C3-based boards to create and output PWM to pins. Using similar functions as some other FastPWM libraries, it enables you to port PWM code easily between platforms.

    Language:C++21308
  • khoih-prog/AVR_PWM

    This library enables you to use Hardware-based PWM channels on AVR-based boards, such as Nano, UNO, Mega, Leonardo, 32u4, etc., to create and output PWM. Using the same functions as other FastPWM libraries to enable you to port PWM code easily between platforms.

    Language:C++19312
  • khoih-prog/ESP8266_PWM

    This library enables you to use Interrupt from Hardware Timers on an ESP8266-based board to create and output PWM to pins. It now supports 16 ISR-based synchronized PWM channels, while consuming only 1 Hardware Timer. PWM interval can be very long (uint32_t millisecs). The most important feature is they're ISR-based PWM channels. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware PWM channels, using interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's necessary if you need to measure some data requiring better accuracy

    Language:C17432
  • RobTillaart/PCA9635

    Arduino library for PCA9635 I2C 8 bit PWM LED driver - 16 channel.

    Language:C++152125
  • khoih-prog/STM32_PWM

    This wrapper library enables you to use Hardware-based PWM on STM32F/L/H/G/WB/MP1 boards to create and output PWM to pins. The most important feature is they're purely hardware-based PWM channels. Therefore, their executions are very precise and not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware PWM channels still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other ISR-based or software-based PWM using millis() or micros(). That's necessary if you need to measure some data requiring very high frequency and much better accuracy. PWM feature can now be used.

    Language:C12303
  • sromerotech/pca9685-golang

    A Pca9685 golang library.

    Language:Go10206
  • vittorioexp/J1850-Arduino-Transceiver-Library

    HIGH SCHOOL PROJECT - Simple Arduino library that allows you to communicate in J1850-PWM mode.

    Language:C++10225
  • khoih-prog/ATtiny_PWM

    This library enables you to use Hardware-based PWM channels on Arduino AVR ATtiny-based boards (ATtiny3217, etc.), using megaTinyCore, to create and output PWM to pins. Using the same functions as other FastPWM libraries to enable you to port PWM code easily between platforms

    Language:C++9201
  • khoih-prog/RP2040_Slow_PWM

    This library enables you to use ISR-based PWM channels on RP2040-based boards, such as ADAFRUIT_FEATHER_RP2040, RASPBERRY_PI_PICO, with arduino-pico core to create and output PWM any GPIO pin. The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision

    Language:C9201
  • Kaiede/RPiLight

    24-Hour LED Controller for Raspberry Pi. Aimed at Aquarium Use.

    Language:Swift84460
  • khoih-prog/AVR_Slow_PWM

    This library enables you to use ISR-based PWM channels on AVR-based boards, such as Mega-2560, UNO,Nano, Leonardo, etc., to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision

    Language:C8202
  • kimsniper/ros2_pca9685

    This repository contains the PCA9685 C++ package dedicated for ROS2.

    Language:C++7104
  • codemercs-com/lw18

    Control of the LED-Warrior18 via different platforms

    Language:C++6200
  • khoih-prog/nRF52_PWM

    This library enables you to use Hardware-based PWM channels on nRF52-based boards to create and output PWM to pins. Using the same functions as other FastPWM libraries to enable you to port PWM code easily between platforms.

    Language:C++6201
  • bolderflight/pwm

    PWM actuator library.

    Language:C++5312
  • Elijas/arduino-motor-control-library

    Arduino library that allows DC motors to gradually reach their new power level, within allowed PWM ranges

    Language:C++5200
  • epsilonrt/eFlexPwm

    Arduino eFlexPwm for Teensy 4.x

    Language:C5251
  • GTAeberhard/pwm_motor_control

    Simple C++ to control PWM motors from devices such as the Raspberry Pi using a GPIO interface.

    Language:C++5002
  • khoih-prog/ContinuousStepper_Generic

    This library enables you to use Hardware-based PWM channels on Generic boards to use PWM to control continuous Stepper Motor. The most important feature is they're purely hardware-based PWM channels, supporting very high PWM frequencies. Therefore, their executions are not blocked by bad-behaving functions or tasks

    Language:C510
  • khoih-prog/Portenta_H7_PWM

    This library enables you to use Hardware Timers on an STM32H7-based Portenta_H7 board to create and output PWM to pins. These PWM channels, using Portenta_H7 Hardware Timers, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software or ISR-based PWM, using millis(), micros() or Timer Interrupt. This important feature is absolutely necessary for mission-critical tasks. You can start, stop, change and restore the settings of any PWM channel on-the-fly.

    Language:C5222
  • mcagriaksoy/DegreeAdjustableRadar

    Zynq ZedBoard SoC Lecture Final Project, degree adjustable ultrasonic sensor application

    Language:VHDL5200
  • dpm76/Gimbal

    Camera's gimbal stabilizer for BeagleBone using PWM signals

    Language:Python4213
  • CraigSanchez47/Arduino_Due_PWM_Signal_Generator

    The goal of this project is to advance the wireless charging capabilities at Oregon Tech by charging lower power devices to high power such as Electric Vehicles. Our project involves designing a working wireless power transfer prototype that meets the desired specifications and can be utilized by students for research purposes at Oregon Tech.

    Language:C++3200
  • khoih-prog/MBED_RP2040_PWM

    This library enables you to use Hardware Timers on RP2040-based RP2040 board to create and output PWM to pins. These PWM channels, using RP2040 Hardware-PWM channels, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software ISR-based PWM, using millis(), micros() or Timer Interrupt. This important feature is absolutely necessary for mission-critical tasks. You can start, stop, change and restore the settings of any PWM channel on-the-fly

    Language:C3201
  • khoih-prog/MBED_RP2040_Slow_PWM

    This library enables you to use ISR-based PWM channels on RP2040-based boards, such as Nano_RP2040_Connect, RASPBERRY_PI_PICO, with Arduino-mbed (mbed_nano or mbed_rp2040) core to create and output PWM any GPIO pin. The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision

    Language:C3301
  • khoih-prog/nRF52_MBED_PWM

    This library enables you to use Hardware Timers on nRF52840-based Nano_33_BLE or Nano_33_BLE_Sense board to create and output PWM to pins. These PWM channels, using nRF52840 Hardware Timers, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software ir ISR-based PWM, using millis(), micros() or Timer Interrupt. This important feature is absolutely necessary for mission-critical tasks. You can start, stop, change and restore the settings of any PWM channel on-the-fly.

    Language:C3211
  • khoih-prog/SAMD_PWM

    This library enables you to use Hardware-based PWM channels on SAMD21/SAMD51-based boards to create and output PWM to pins. Using the same functions as other FastPWM libraries to enable you to port PWM code easily between platforms.

    Language:C++3301
  • khoih-prog/SAMD_Slow_PWM

    This library enables you to use Hardware Timers on SAMD21/SAMD51 boards to create and output PWM to pins. These PWM channels, using SAMD21/SAMD51 Hardware Timers, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's mandatory if you need to measure some data requiring better accuracy. It now supports 16 ISR-based Timers, while consuming only 1 Hardware Timer. Timers interval is very long (ulong millisecs). The most important feature is they're ISR-based Timers. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. Max PWM frequency is limited at 1000Hz

    Language:C++3341
  • khoih-prog/Teensy_Slow_PWM

    This library enables you to use ISR-based PWM channels on Teensy boards, such as Teensy 2.x, Teensy LC, Teensy 3.x, Teensy 4.x, Teensy MicroMod, etc., to create and output PWM any GPIO pin. It now supports 16 ISR-based PWM channels, while consuming only 1 Hardware Timer. PWM channel interval can be very long (ulong microsecs / millisecs). The most important feature is they're ISR-based PWM channels, supporting lower PWM frequencies with suitable accuracy. Their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These ISR-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using millis() or micros(). That's necessary if you need to control devices requiring high precision

    Language:C++331