GitHub topics: pwm-driver
adafruit/Adafruit-PWM-Servo-Driver-Library
Adafruit PWM Servo Driver Library
Language: C++ - Size: 258 KB - Last synced at: 4 days ago - Pushed at: about 1 year ago - Stars: 498 - Forks: 317

MootSeeker/ICLED_STM32
STM32 Library for WL-ICLED LED from Würth Elektronik unsing PWM and DMA
Language: C - Size: 15.9 MB - Last synced at: 18 days ago - Pushed at: 23 days ago - Stars: 0 - Forks: 0

fortinsylvain/Robot
Raspberry Pi Pico-based two-wheel robot with ultrasonic detection
Language: C++ - Size: 2.5 MB - Last synced at: about 1 month ago - Pushed at: about 2 months ago - Stars: 0 - Forks: 0

berndporr/rpi_pwm
Hardware PWM C++ class for the Raspberry PI 5
Language: C++ - Size: 259 KB - Last synced at: 22 days ago - Pushed at: about 2 months ago - Stars: 2 - Forks: 2

LalitK-Space/Flight_Computer_Codebase
Drivers for on-board sensors and modules.
Language: C - Size: 1.04 MB - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 1 - Forks: 0

VanSilver/ShiftRegisterPWM595
Library Control PWM use 74HC595 for Arduino Framework
Language: C++ - Size: 10.7 KB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 0 - Forks: 0

vadrov/stm32g031f6p6-ws2812b-led-strips-screen-controller
LED controller for displaying graphic information on a screen consisting of strips connected in series with addressable LEDs on a ws2812b chip. The LED controller is assembled on a circuit board using a debug module based on the STM32G031F6P6 microcontroller. Displays information on the screen from an AVI file.
Language: C - Size: 10.8 MB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 0 - Forks: 1

DYK-Team/Shimming_coil
1D shimming coil design and optimisation algorithm
Language: Python - Size: 413 MB - Last synced at: about 1 month ago - Pushed at: 3 months ago - Stars: 1 - Forks: 1

RobTillaart/PCA9635
Arduino library for PCA9635 I2C 8 bit PWM LED driver - 16 channel.
Language: C++ - Size: 57.6 KB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 16 - Forks: 5

DmitriyMakhnovskiy/Programmable-DC-power-supply
Programmable DC power supply based on Arduino UNO WiFi Rev2
Language: C++ - Size: 337 MB - Last synced at: about 1 month ago - Pushed at: 5 months ago - Stars: 0 - Forks: 0

GitMoDu/TinyL298
L298 H-Bridge motor driver using an ATtiny85 .
Language: C++ - Size: 365 KB - Last synced at: 5 months ago - Pushed at: 5 months ago - Stars: 2 - Forks: 0

DYK-Team/Robot_navigation_Kalmus_guidance_method
Implementation of Kalmus’ guidance method for robot navigation
Size: 98.5 MB - Last synced at: 2 months ago - Pushed at: 6 months ago - Stars: 2 - Forks: 0

neoxic/ATmega-RC-Dual-Motor-Driver
RC Dual Motor Driver firmware for ATmega MCUs
Language: C - Size: 20.5 KB - Last synced at: 2 months ago - Pushed at: almost 2 years ago - Stars: 2 - Forks: 0

neoxic/STM8-RC-Dual-Motor-Driver
RC Dual Motor Driver firmware for STM8 MCUs
Language: C - Size: 4.03 MB - Last synced at: 2 months ago - Pushed at: almost 2 years ago - Stars: 3 - Forks: 0

F33RNI/ilet-103-motor-controller
Digital speed controller for ILET 103 reel-to-reel deck | Цифровой контроллер скорости ленты катушечного магнитофона ИЛЕТЬ 103
Language: C++ - Size: 1.28 MB - Last synced at: 2 months ago - Pushed at: 8 months ago - Stars: 2 - Forks: 0

lily-osp/analog-system-controll
This project aims to implement an ESP32-based control system using 3 buttons and 2 LEDs with various operating modes and state transitions. The system will produce an analog output with a range of 0 to 2048 (12-bit) and provide visual feedback through LEDs based on the system's status.
Language: Python - Size: 443 KB - Last synced at: 2 months ago - Pushed at: 8 months ago - Stars: 0 - Forks: 0

naomai/avrleddriver
LED lights driver with radio support, built with ATMega328P and shift registers
Language: C++ - Size: 156 KB - Last synced at: 10 months ago - Pushed at: about 5 years ago - Stars: 0 - Forks: 0

bonk-dev/xeonpwm-api
XEON PWM is an application which I developed to control my server fans using my makeshift controller.
Language: C# - Size: 126 KB - Last synced at: 3 months ago - Pushed at: 12 months ago - Stars: 0 - Forks: 0

yorenschriever/Hyperion
Language: C - Size: 4.74 MB - Last synced at: 12 months ago - Pushed at: about 2 years ago - Stars: 7 - Forks: 2

sromerotech/pca9685-golang 📦
A Pca9685 golang library.
Language: Go - Size: 875 KB - Last synced at: 12 months ago - Pushed at: over 7 years ago - Stars: 10 - Forks: 6

Yujie-Zhao/Shimming_Coil
1D shimming coil design and optimisation algorithm
Language: Python - Size: 144 MB - Last synced at: 2 months ago - Pushed at: over 1 year ago - Stars: 2 - Forks: 0

kimsniper/ros2_pca9685
This reposotory contains the PCA9685 C++ package dedicated for ROS2.
Language: C++ - Size: 14.6 KB - Last synced at: about 1 year ago - Pushed at: about 1 year ago - Stars: 0 - Forks: 0

vittorioexp/J1850-Arduino-Transceiver-Library
HIGH SCHOOL PROJECT - Simple Arduino library that allows you to communicate in J1850-PWM mode.
Language: C++ - Size: 42 KB - Last synced at: about 1 year ago - Pushed at: over 4 years ago - Stars: 10 - Forks: 4

umaarmorshed/AURIX_Tricore_Dev_Repo
Welcome to the Infineon AURIX TC375 Firmware Repository! Explore firmware projects tailored for Infineon's AURIX TriCore TC375 microcontroller platform. With versatile projects, comprehensive peripheral support, and detailed documentation, this repository is your go-to for embedded systems development for AURIX TriCore based Development.
Language: C - Size: 433 MB - Last synced at: 4 months ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 3

CreepyMemes/SimplePCA9685
Simple library API for the PCA9685 PWM Board module to control servos. Made for the Esp32 with Arduino as component.
Language: C++ - Size: 8.79 KB - Last synced at: 3 months ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

KatelynLam97/-Digital-Systems-Project-Microwave
Size: 84 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

skajer/slidingtable
Sliding Table - psuedo CNC thing. Project for school
Language: C++ - Size: 3.03 MB - Last synced at: over 1 year ago - Pushed at: about 2 years ago - Stars: 0 - Forks: 0

pawel2000pl/VerilogLedDriver
Led RGB driver written in verilog, implemented for Mimas A7 Mini FPGA Development Board
Language: Tcl - Size: 1.91 MB - Last synced at: about 2 months ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

bolderflight/pwm
PWM actuator library.
Language: C++ - Size: 2.76 MB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 3 - Forks: 2

NelsonBordin/controladoramosfet50A
Placa controladora para motor DC com Mosfet
Size: 641 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

HallaRaafat/Embedded-AVR-
Language: C - Size: 11.7 MB - Last synced at: over 1 year ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 0

kelceydamage/AV00
An embedded robotics project using C# and the Nvidia Xavier NX.
Language: C# - Size: 214 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 1 - Forks: 0

grzesiek2201/Adafruit-Servo-Driver-Library-Pi-Pico
Adafruit 16-channel PWM & Servo driver library for Raspberry Pi Pico.
Language: C++ - Size: 219 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

nick8055/DIY-CNC-Winding-Machine
I have created a PYTHON program (around 1000 lines of code) for my Raspberry Pi 4 to automate an old, purely mechanical winding machine for winding coils using copper wire, mainly used for the purpose of motors/generators, etc. Initially, you would have to manually wind your coils mechanically by using your right hand to turn the spindle, which rotates the attached bobbin, and the wire fed through the wire guide gets wound over the bobbin. The rotation of the main spindle would also result in the horizontal movement of the wire guide, since the gear of the spindle is mechanically linked to that of the wire guide, through a series of pulleys , rubber bushes, gears, etc. The issue is that, its not all that precise, since you could still encounter overlappings, or gap formations, while winding. Therefore, you would have to carefully wind coils to ensure no gaps or overlaps occur by slowly rotating the spindle with your hand, while paying attention to the winding process, which would take eons to wind one coil, as well as a lot of tiresome and stress. But with retrofitting, most of the above mentioned issues have been nullified. With a pair of stepper motors, stepper drivers, frequency generators, encoders, and a single-board computer to command all these components, it is a BREEZE. One stepper motor connected to the main spindle which rotates the bobbin, another stepper motor which controls the wire guide horizontal travel (right or left). Respective stepper drivers are connected to drive these motors, so that input is given to these drivers, which would drive the motors. Using these drivers, we can alter the speed of the motors, the direction (clockwise or anti-clockwise), as well as enable/disable the motors. A frequency input is given to the driver to spin the motor at desired RPMS. Initially, I generated the frequency from the Raspberry Pi , but found out to be unstable and erratic. Therefore, separate digital frequency oscillators had to be used to produce the frequency steadily. These oscillators support UART protocol, so I was able to interface them with the Raspberry Pi via the Serial communication bus. The Raspberry Pi sends commands under a certain format to these frequency oscillators to change the frequency as well as the duty cycle of their outputs, which are given as inputs to the respective motor drivers. This way, Raspberry Pi can act as the Brain, while the donkey work is done by those oscillators. These two oscillators are mathematically linked using a formula based on the wire thickness used for the winding, which is specified in the PYTHON script. This way, depending on what speed was set for the main spindle motor, the speed motor of the wire-guide goes at a ratio, thereby reducing the chance of overlaps or gap formations while winding. With this setup, you don't have to use your hand to rotate the spindle. It does everything automatically, although you have to keep an eye while the process is going on, incase something happens. You can pause in between in order to sort any kind of issue. The wire guide direction changes automatically after covering each layer, from left to right, and vice-versa. A coil which would normally take 2 hours to be wound precisely, would just take 30 minutes to be wound on a retrofitted machine like this.
Language: Python - Size: 10.3 MB - Last synced at: over 1 year ago - Pushed at: about 4 years ago - Stars: 1 - Forks: 1

omaralwakeel/smart-home-projects
first try in making real smart home
Language: C - Size: 170 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

rneurink/LT8500
Arduino library for driving the LT8500 48-channel 12-bit PWM generator from analog
Language: C++ - Size: 1.21 MB - Last synced at: almost 2 years ago - Pushed at: almost 3 years ago - Stars: 1 - Forks: 1

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++ - Size: 206 KB - Last synced at: almost 2 years ago - Pushed at: over 2 years ago - Stars: 38 - Forks: 9

epsilonrt/eFlexPwm
Arduino eFlexPwm for Teensy 4.x
Language: C - Size: 2.72 MB - Last synced at: almost 2 years ago - Pushed at: about 2 years ago - Stars: 3 - Forks: 0

hannahvsawiuk/3-Phase-PWM
A variable frequency three phase PWM generation code for an AVR ATMEGA328P/-PU microcontroller
Language: C - Size: 12.8 MB - Last synced at: almost 2 years ago - Pushed at: almost 5 years ago - Stars: 21 - Forks: 10

ComboWave/RGB-controlled-by-PWM
Language: C - Size: 18.6 KB - Last synced at: about 1 year ago - Pushed at: almost 3 years ago - Stars: 0 - Forks: 0

rubinsteina13/C_SVPWM_LIB
C-library with implementation of the Space-Vector PWM generation technique
Language: C - Size: 21.5 KB - Last synced at: about 2 years ago - Pushed at: almost 5 years ago - Stars: 12 - Forks: 6

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++ - Size: 117 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 5 - Forks: 0

pstoaks/esp_projects
A small collection of ESP8266 and ESP32 projects.
Language: C++ - Size: 10.5 MB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 2 - Forks: 2

khoih-prog/megaAVR_Slow_PWM 📦
This library enables you to use ISR-based PWM channels on Arduino megaAVR boards, such as UNO WiFi Rev2, AVR_Nano_Every, 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. Now supporting MegaCoreX.
Language: C - Size: 129 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

khoih-prog/ATmega_Slow_PWM 📦
This library enables you to use ISR-based PWM channels on AVR ATmega164, ATmega324, ATmega644, ATmega1284 with MCUdude MightyCore, 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. Now you can change the PWM settings on-the-fly
Language: C - Size: 74.2 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

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++ - Size: 352 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 1

Mennah-ae/Fan-Speed-Controller-with-Temperature
Design a temperature-controlled fan using ATmega16 microcontroller, in which the fan is automatically turned ON or OFF according to the temperature.
Language: C - Size: 86.9 KB - Last synced at: about 2 years ago - Pushed at: about 3 years ago - Stars: 1 - Forks: 1

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: C - Size: 166 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 13 - Forks: 5

KElsayyad/AVR_Drivers
This repo has most common drivers with basic application and their simulations on Proteus.
Language: C - Size: 288 KB - Last synced at: 7 months ago - Pushed at: about 4 years ago - Stars: 1 - Forks: 0

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: C - Size: 45.9 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 0

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: C - Size: 132 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 4 - Forks: 1

khoih-prog/Dx_PWM 📦
This library enables you to use Hardware-based PWM channels on Arduino AVRDx-based boards (AVR128Dx, AVR64Dx, AVR32Dx, etc.), using DxCore, to create and output PWM. Using similar functions as many other FastPWM libraries, it enables you to port PWM code easily between platforms.
Language: C++ - Size: 790 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

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: C - Size: 51.8 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 1

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++ - Size: 92.8 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

khoih-prog/SAMDUE_PWM 📦
This library, a wrapper around SAM DUE analogWrite() function, enables you to use Hardware-based PWM channels on SAM_DUE 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++ - Size: 56.6 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

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++ - Size: 97.7 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

khoih-prog/megaAVR_PWM 📦
This library enables you to use Hardware-based PWM channels on megaAVR-based boards, such as UNO WiFi Rev2, AVR_Nano_Every, 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++ - Size: 53.7 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 1

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++ - Size: 185 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 6 - Forks: 0

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: C - Size: 48.8 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 3 - Forks: 1

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: C - Size: 134 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 0

khoih-prog/Teensy_PWM 📦
This library enables you to use Hardware-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 to pins. Using the same functions as other FastPWM libraries to enable you to port PWM code easily between platforms.
Language: C++ - Size: 68.4 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

khoih-prog/Dx_Slow_PWM 📦
This library enables you to use ISR-based PWM channels on Arduino AVRDx-based boards (AVR128Dx, AVR64Dx, AVR32Dx, etc.), using DxCore, to create and output PWM any GPIO pin. It now supports up to 64 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. Now you can change the PWM settings on-the-fly.
Language: C - Size: 784 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

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++ - Size: 241 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 1

khoih-prog/STM32_Slow_PWM 📦
This library enables you to use Hardware Timers 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 not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware timers, 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. PWM feature can now be used. Max PWM frequency is limited at 1000Hz
Language: C - Size: 129 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 0

khoih-prog/SAMDUE_Slow_PWM 📦
This library enables you to use ISR-based PWM channels on an Arduino SAM_DUE board 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 - Size: 119 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

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++ - Size: 111 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 0

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: C - Size: 148 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 2 - Forks: 1

khoih-prog/nRF52_Slow_PWM 📦
This library enables you to use ISR-based PWM channels on an nRF52-based board using Adafruit_nRF52_Arduino core such as Itsy-Bitsy nRF52840 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++ - Size: 189 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

khoih-prog/nRF52_MBED_Slow_PWM 📦
This library enables you to use ISR-based PWM channels on an nRF52-based board using Arduino-mbed mbed_nano core such as Nano-33-BLE 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 - Size: 135 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

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: C - Size: 78.1 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 4 - Forks: 1

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: C - Size: 138 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 4 - Forks: 1

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: C - Size: 108 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 11 - Forks: 2

khoih-prog/Portenta_H7_Slow_PWM 📦
This library enables you to use Hardware Timers on an STM32H7-based Portenta_H7 board to create and output PWM to pins. It now supports 16 ISR-based PWM-channels, while consuming only 1 Hardware Timer. They are much more precise (certainly depending on clock frequency accuracy) than other software PWM using millis() or micros(). That's mandatory if you need to use in applications requiring better accuracy. PWM-channel interval can very long (ulong 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. Max PWM frequency is limited at 1000Hz
Language: C - Size: 142 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

besp9510/dma_pwm
Pulse width modulation (PWM) via direct memory transfer (DMA) on the Raspberry PI
Language: C - Size: 96.2 MB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 15 - Forks: 5

cdcme/libpca9685
Driver for the NXP Semiconductors PCA9685 16-channel 12-bit PWM I2C-bus LED Controller
Language: C - Size: 354 KB - Last synced at: 6 days ago - Pushed at: almost 5 years ago - Stars: 2 - Forks: 0

malikalhack/Dual_channel_dimmer
Firmware for a two-channel dimmer with LCD. Allows you to separately control the channels of LED strips and store PWM values in non-volatile memory, which (values) are restored at startup.
Language: C - Size: 849 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

eta-systems/MAX7313-Arduino
Arduino Library for the MAX7313 Port Expander
Language: C++ - Size: 20.5 KB - Last synced at: almost 2 years ago - Pushed at: almost 3 years ago - Stars: 1 - Forks: 1

codemercs-com/lw18
Control of the LED-Warrior18 via different platforms
Language: C++ - Size: 158 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 5 - Forks: 0

wiwinhartini/spwm_fpga
Time shifted PWM on FPGA. for my MS thesis
Language: Verilog - Size: 35.2 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

GTAeberhard/pwm_motor_control_ros
ROS wrapper for the control of PWM motors and servos.
Language: C++ - Size: 55.7 KB - Last synced at: about 2 years ago - Pushed at: over 6 years ago - Stars: 2 - Forks: 2

malikalhack/Light_box
The firmware for the lightbox of a commercial refrigerator
Language: C - Size: 13.6 MB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 1

alexBeslic/rpi_gimbal
Single axis gimbal using Raspberry Pi 2 model Band 6DOF IMU 5 CLICK(ICM-20789).
Language: C - Size: 3.05 MB - Last synced at: almost 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

dpm76/Gimbal
Camera's gimbal stabilizer for BeagleBone using PWM signals
Language: Python - Size: 69.3 KB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 5 - Forks: 2

Kaiede/RPiLight
24-Hour LED Controller for Raspberry Pi. Aimed at Aquarium Use.
Language: Swift - Size: 491 KB - Last synced at: 20 days ago - Pushed at: over 3 years ago - Stars: 8 - Forks: 0

yepedraza/microSTM-learn
Some useful codes for the STM32F7xx card series
Language: C++ - Size: 8.79 KB - Last synced at: 3 months ago - Pushed at: over 3 years ago - Stars: 0 - Forks: 0

thejbte/soft_pwm
software pwm driver
Language: C - Size: 7.81 KB - Last synced at: about 2 years ago - Pushed at: about 4 years ago - Stars: 0 - Forks: 0

Hossam-Elbahrawy/Motor-Driver
Motor driver for Atmega32 controlling the direction and the speed using PWM
Language: C - Size: 201 KB - Last synced at: about 2 years ago - Pushed at: over 4 years ago - Stars: 1 - Forks: 0

abobija/dc-motor-pwm-regulation
DC Motor PWM speed regulation and IR tachometer
Language: C - Size: 196 KB - Last synced at: about 2 years ago - Pushed at: almost 6 years ago - Stars: 1 - Forks: 0

Elijas/arduino-motor-control-library
Arduino library that allows DC motors to gradually reach their new power level, within allowed PWM ranges
Language: C++ - Size: 78.1 KB - Last synced at: 23 days ago - Pushed at: almost 5 years ago - Stars: 5 - Forks: 0

GTAeberhard/pwm_motor_control
Simple C++ to control PWM motors from devices such as the Raspberry Pi using a GPIO interface.
Language: C++ - Size: 34.2 KB - Last synced at: about 2 years ago - Pushed at: over 6 years ago - Stars: 1 - Forks: 2

mcagriaksoy/DegreeAdjustableRadar
Zynq ZedBoard SoC Lecture Final Project, degree adjustable ultrasonic sensor application
Language: VHDL - Size: 219 KB - Last synced at: about 2 years ago - Pushed at: almost 6 years ago - Stars: 2 - Forks: 0

LASER-UD/Control-Mercury
En este repositorio se realizara el control del robot para el reto mercury, el cual se controla por medio de interface serial asincrona. Su funcionamiento consiste en conducir a atrapar una bola, subirla por un ascensor y lanzarla.
Language: C - Size: 18.7 MB - Last synced at: about 2 years ago - Pushed at: almost 6 years ago - Stars: 0 - Forks: 0

dpm76/eaglebone
[Still unstable] Open-source modular flight controller for quadcopters based on BeagleBone
Language: Python - Size: 204 KB - Last synced at: over 1 year ago - Pushed at: over 6 years ago - Stars: 0 - Forks: 2

lancewalk87/CLM-Stepper-Motor-UniBi-Polar-Breakout
Hardware/Software | GPIO Out is Uni/Bi Coil Compatible, MCU/ADC/TTL, VSense over Darlington Transistor Array
Language: C++ - Size: 342 KB - Last synced at: 2 months ago - Pushed at: over 6 years ago - Stars: 0 - Forks: 0

use-your-hands/yrobot
:robot: YRobot's source code will live here. I just hope it will too ;)
Language: C++ - Size: 14.6 KB - Last synced at: about 2 years ago - Pushed at: over 6 years ago - Stars: 0 - Forks: 0

lmatula/PCA9635-Arduino-Library Fork of eraticus/PCA9635-Arduino-Library
Arduino driver for NXP PCA9635 16 LED driver
Language: C++ - Size: 152 KB - Last synced at: about 1 year ago - Pushed at: over 7 years ago - Stars: 0 - Forks: 0

bbkbarbar/Serial_PWM_Driver_with_OLED
Use arduino as a 6 channel pwm driver with optional oled display
Language: Python - Size: 13.1 MB - Last synced at: about 2 years ago - Pushed at: about 8 years ago - Stars: 0 - Forks: 0
