https://github.com/martonmiklos/stm8_servotester
STM8S003 based RC servo tester firmware
https://github.com/martonmiklos/stm8_servotester
rc-servo reverse-engineering servo-tester stm8 stm8s003
Last synced: 8 months ago
JSON representation
STM8S003 based RC servo tester firmware
- Host: GitHub
- URL: https://github.com/martonmiklos/stm8_servotester
- Owner: martonmiklos
- License: lgpl-3.0
- Created: 2018-04-27T14:04:20.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-01-04T10:53:31.000Z (over 6 years ago)
- Last Synced: 2025-10-11T01:35:13.044Z (9 months ago)
- Topics: rc-servo, reverse-engineering, servo-tester, stm8, stm8s003
- Language: C
- Homepage:
- Size: 11.1 MB
- Stars: 7
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# STM8S003F3 Firmware for a "brain transplanted" HJ digital servo tester
I got a "fried" a digital servo tester from my friends with "take it or throw it" motto.
I cracked it up (it has 4 screws in the corners under the front vinyl), and then I thought I saw a familiar part (STM8S0003F3) but it turned out it is powered by a Nuvouton MCU which is pin compatible with the STM8.
Since I have a quite few STM8s I have replaced the MCU, soldered the SWIM connector and populated the VCAP 100nF cap (marked with 104 on the silkscreen)
After a few hours and some STM8 development related rediscoveries I managed to get it rolling:

I have included an STM8 CubeMX project as a reference for the pinout:

## Features
At the moment two modes supported, you can switch between them by pressing the Select button:
- 700 us - 2300 us with 10 ms interval "standard servo mode"
- 1000us - 2000us with 2500 us interval "DJI mode"
### Adjusting limits:
* With Blank (0xFF filled) EEPROM the limits should be 1000us - 2000us respectively for the standard servo mode
* You can set separate limits for separate modes:
** To adjust the limits press the Pulse width button (type on the silkscreen) until the 'bot' text appear.
** Then push the PW button again and adjust the lower limit (500 us - 1500 us allowed).
** Once done with adjusting the minimum pulsewidth press the PW again and the 'toP' text will appear.
** Then push the PW button again and adjust the upper limit (1500 us - 3500 us allowed).
** Push the PW once again and your settings will be saved which is indicated with a blinking done text.
## Toolchain info
STM8 Standard peripherial lib from ST
STVP + Cosmic (planning to port SDCC and use openOCD and GDB for debugging)