Ecosyste.ms: Repos

An open API service providing repository metadata for many open source software ecosystems.

GitHub topics: pwm-driver

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: 3 days ago - Pushed: 3 days ago - Stars: 0 - Forks: 0

LalitK-Space/Flight_Computer_Codebase

Drivers for on-board sensors and modules.

Language: C - Size: 1.01 MB - Last synced: 4 days ago - Pushed: 13 days ago - Stars: 1 - Forks: 0

sromerotech/pca9685-golang πŸ“¦

A Pca9685 golang library.

Language: Go - Size: 875 KB - Last synced: 6 days ago - Pushed: over 6 years ago - Stars: 10 - Forks: 6

kimsniper/ros2_pca9685

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

Language: C++ - Size: 14.6 KB - Last synced: 13 days ago - Pushed: 14 days ago - Stars: 0 - Forks: 0

vadrov/stm32g031f6p6-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.6 MB - Last synced: about 1 month ago - Pushed: about 1 month ago - Stars: 0 - Forks: 0

adafruit/Adafruit-PWM-Servo-Driver-Library

Adafruit PWM Servo Driver Library

Language: C++ - Size: 258 KB - Last synced: about 1 month ago - Pushed: about 2 months ago - Stars: 457 - Forks: 303

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: about 1 month ago - Pushed: over 3 years ago - Stars: 10 - Forks: 4

DYK-Team/Shimming_coil

1D shimming coil design and optimisation algorithm

Language: Python - Size: 409 MB - Last synced: 3 months ago - Pushed: 3 months ago - Stars: 1 - Forks: 1

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: 4 months ago - Pushed: 4 months ago - Stars: 0 - Forks: 0

KatelynLam97/-Digital-Systems-Project-Microwave

Size: 84 KB - Last synced: 5 months ago - Pushed: 5 months ago - Stars: 0 - Forks: 0

skajer/slidingtable

Sliding Table - psuedo CNC thing. Project for school

Language: C++ - Size: 3.03 MB - Last synced: 5 months ago - Pushed: about 1 year 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: 5 months ago - Pushed: 5 months ago - Stars: 0 - Forks: 0

bolderflight/pwm

PWM actuator library.

Language: C++ - Size: 2.76 MB - Last synced: 5 months ago - Pushed: 5 months ago - Stars: 3 - Forks: 2

NelsonBordin/controladoramosfet50A

Placa controladora para motor DC com Mosfet

Size: 641 KB - Last synced: 5 months ago - Pushed: 5 months ago - Stars: 0 - Forks: 0

HallaRaafat/Embedded-AVR-

Language: C - Size: 11.7 MB - Last synced: 6 months ago - Pushed: over 1 year 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: 6 months ago - Pushed: 6 months ago - Stars: 0 - Forks: 0

Yujie-Zhao/Shimming_Coil

1D shimming coil design and optimisation algorithm

Language: Python - Size: 144 MB - Last synced: 6 months ago - Pushed: 6 months ago - Stars: 1 - Forks: 0

kelceydamage/AV00

An embedded robotics project using C# and the Nvidia Xavier NX.

Language: C# - Size: 214 KB - Last synced: 7 months ago - Pushed: 7 months 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: 7 months ago - Pushed: 7 months 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: 7 months ago - Pushed: about 3 years ago - Stars: 1 - Forks: 1

RobTillaart/PCA9635

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

Language: C++ - Size: 51.8 KB - Last synced: 21 days ago - Pushed: about 1 month ago - Stars: 12 - Forks: 5

omaralwakeel/smart-home-projects

first try in making real smart home

Language: C - Size: 170 KB - Last synced: 8 months ago - Pushed: 8 months ago - Stars: 0 - Forks: 0

GitMoDu/TinyL298

L298 H-Bridge motor driver using an ATtiny85 .

Language: C++ - Size: 365 KB - Last synced: 9 months ago - Pushed: 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: 10 months ago - Pushed: 10 months ago - Stars: 1 - Forks: 0

neoxic/ATmega-RC-Dual-Motor-Driver

RC Dual Motor Driver firmware for ATmega MCUs

Language: C - Size: 19.5 KB - Last synced: 10 months ago - Pushed: 10 months ago - Stars: 1 - 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: 10 months ago - Pushed: almost 2 years ago - Stars: 1 - Forks: 1

yorenschriever/Hyperion

Language: C - Size: 4.74 MB - Last synced: 4 months ago - Pushed: about 1 year ago - Stars: 7 - Forks: 2

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: about 1 year ago - Pushed: over 1 year ago - Stars: 38 - Forks: 9

epsilonrt/eFlexPwm

Arduino eFlexPwm for Teensy 4.x

Language: C - Size: 2.72 MB - Last synced: 11 months ago - Pushed: about 1 year 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: about 1 year ago - Pushed: almost 4 years ago - Stars: 21 - Forks: 10

ComboWave/RGB-controlled-by-PWM

Language: C - Size: 18.6 KB - Last synced: 12 days ago - Pushed: almost 2 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: about 1 year ago - Pushed: almost 4 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: about 1 year ago - Pushed: over 1 year ago - Stars: 5 - Forks: 0

pstoaks/esp_projects

A small collection of ESP8266 and ESP32 projects.

Language: C++ - Size: 10.5 MB - Last synced: 6 months ago - Pushed: 6 months 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: about 2 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: about 1 year ago - Pushed: over 1 year ago - Stars: 13 - Forks: 5

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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: almost 4 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: about 1 year ago - Pushed: over 1 year ago - Stars: 0 - Forks: 0

eta-systems/MAX7313-Arduino

Arduino Library for the MAX7313 Port Expander

Language: C++ - Size: 20.5 KB - Last synced: about 1 year ago - Pushed: almost 2 years ago - Stars: 1 - Forks: 1

codemercs-com/lw18

Control of the LED-Warrior18 via different platforms

Language: C++ - Size: 158 KB - Last synced: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 1 year 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: about 1 year ago - Pushed: over 5 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: about 1 year ago - Pushed: over 1 year 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: 11 months ago - Pushed: over 1 year ago - Stars: 0 - Forks: 0

dpm76/Gimbal

Camera's gimbal stabilizer for BeagleBone using PWM signals

Language: Python - Size: 69.3 KB - Last synced: about 1 year ago - Pushed: over 1 year 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: 11 days ago - Pushed: over 2 years ago - Stars: 8 - Forks: 0

thejbte/soft_pwm

software pwm driver

Language: C - Size: 7.81 KB - Last synced: about 1 year ago - Pushed: about 3 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: about 1 year ago - Pushed: over 3 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: about 1 year ago - Pushed: almost 5 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: about 1 year ago - Pushed: almost 4 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: about 1 year ago - Pushed: over 5 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: about 1 year ago - Pushed: about 5 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: about 1 year ago - Pushed: almost 5 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: 7 months ago - Pushed: over 5 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: about 1 year ago - Pushed: over 5 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: about 1 year ago - Pushed: over 5 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: about 1 month ago - Pushed: over 6 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: about 1 year ago - Pushed: about 7 years ago - Stars: 0 - Forks: 0