Skip to content

Releases: dunknowcoding/RoboServo

v0.5.0 - UNO R4, UNO Q, Mbed, nRF5340

Choose a tag to compare

@dunknowcoding dunknowcoding released this 22 Jun 16:14

Summary

  • UNO R4 (Renesas FSP PWM, 20 ms frame in microseconds)
  • UNO Q (Zephyr counter_servo scheduler)
  • Mbed Nano 33 BLE (20 ms Ticker + GPIO pulse)
  • nRF5340 detection via ARDUINO_ARCH_NRF53 / NRF5340_XXAA macros

Test plan

  • arduino:renesas_uno:minima PlatformSmoke compile
  • arduino:zephyr:unoq PlatformSmoke compile (with Arduino_RouterBridge)
  • arduino:mbed_nano:nano33ble BasicServo compile
  • ESP32 / AVR regression compile

v0.4.0 - AVR servo support (UNO/Nano/Mega)

Choose a tag to compare

@dunknowcoding dunknowcoding released this 22 Jun 15:57

Summary

  • Add AVR Timer1 ISR backend (UNO/Nano: 6 servos, Mega: 12 servos)
  • RoboMotor not supported on AVR (servo-only tier)
  • ESP32 and other platform paths unchanged

Test plan

  • arduino:avr:uno BasicServo compile
  • arduino:avr:nano BasicServo compile
  • arduino:avr:mega BasicServo compile
  • ESP32 / ArduinoNRF / RP2040 / STM32 regression compile

v0.3.0 - Multi-platform PWM (nRF52, RP2040, STM32)

Choose a tag to compare

@dunknowcoding dunknowcoding released this 22 Jun 15:48

Summary

  • Add tiered PWM backend: ArduinoNRF per-pin frequency, generic nRF52/RP2040/STM32 analogWrite
  • Centralize platform detection in RoboPlatform.h
  • ESP32 LEDC paths unchanged

Test plan

  • ESP32 (esp32:esp32:esp32) BasicServo compile
  • ArduinoNRF (promicro_nrf52840) BasicServo compile
  • RP2040 (rp2040:rp2040:rpipico) BasicServo compile
  • STM32 (STMicroelectronics:stm32:Nucleo_64) BasicServo compile

v1.1.2

Choose a tag to compare

@dunknowcoding dunknowcoding released this 27 May 19:39

Library Manager fix

  • Library.properties url now points to https://github.com/dunknowcoding/RoboServo (was
    oboservo/RoboServo\ in v1.1.0, 404).
  • Version matches this release tag (v1.1.1 tag incorrectly still declared 1.1.0, so the indexer skipped it).

After this release is indexed (usually within 24h), Arduino IDE Library Manager will offer RoboServo 1.1.2. Select an ESP32 or ESP8266 board before searching.

v0.2.0 — Major Improvement: High-Speed PWM & Bug Fixes

Choose a tag to compare

@dunknowcoding dunknowcoding released this 27 May 20:15

Major Improvements

This release extends RoboServo beyond standard 50Hz positional servos with high-speed PWM support, while keeping the existing RoboServo / RoboServoGroup API fully backward compatible.

New Features

  • RoboMotor / RoboMotorGroup — kHz-range PWM motor control (default 20 kHz, 1–40 kHz) with duty-cycle API (write(0–100), writeRaw())
  • RoboServoHighSpeed — helper presets for 333 Hz high refresh-rate digital servos using the standard RoboServo API
  • RoboPwmBackend — internal shared PWM layer with GPIO ownership tracking and separate LEDC channel pools for servo vs. motor outputs on ESP32
  • New examples: HighSpeedServo, MotorPwm, MotorGroup, ServoAndMotor
  • Documentation — README and keywords updated; ESP32/ESP8266 platform notes for mixed servo + motor usage

Bug Fixes

  • setFrequency() — fixed re-attach failure after detach() cleared _pin to -1, leaving PWM detached
  • Duplicate GPIO attach — prevent two RoboServo instances from attaching to the same pin (returns 255)
  • ESP8266 build — fixed RoboPwmBackend platform macro ordering and frequency setup
  • ExamplesADCServoControl and ServoWithPWM now compile on ESP8266 with platform-appropriate ADC/PWM code

Verified

All 12 examples compile successfully on ESP32 (esp32:esp32:esp32) and ESP8266 (esp8266:esp8266:generic) via arduino-cli.

Platform Notes

  • ESP32: 50 Hz servos and 20 kHz motors can coexist (isolated LEDC timer groups)
  • ESP8266: global single PWM frequency — use RoboServo or RoboMotor per sketch, not both

First Release of RoboServo

Choose a tag to compare

@dunknowcoding dunknowcoding released this 04 Feb 16:02

This lib is specially designed for my robot project - Project ARMSmart, I think it could be useful to you. For more of my project, please support my YT channel @NiusRobotLab.