Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
55360af
v0.6.0 initial commit with my changes
TheDIYGuy999 Feb 11, 2023
015404b
v0.7.0: multi language and more menu options
TheDIYGuy999 Feb 15, 2023
834fb09
v0.7.1: serious EEPROM bug solved
TheDIYGuy999 Feb 15, 2023
6cc85f5
v0.8.0: French added, battery monitoring improved
TheDIYGuy999 Feb 17, 2023
0ef07c9
v0.9.0: faster servo oscillation, stable Multiswitch readings
TheDIYGuy999 Feb 18, 2023
118b8c4
v0.10.0: Encoder acceleration makes servo movements easy!
TheDIYGuy999 Feb 19, 2023
aeff6a7
v0.11.0: Pong game added
TheDIYGuy999 Feb 21, 2023
8aa8849
Delete .DS_Store
TheDIYGuy999 Feb 24, 2023
85a7c1f
Delete .DS_Store
TheDIYGuy999 Feb 24, 2023
de1c5c9
Create FUNDING.yml
TheDIYGuy999 Feb 24, 2023
248cda2
v0.12.0: Flappy Birds Game
TheDIYGuy999 Feb 24, 2023
9075ce6
v0.12.0: Flappy Birds Game
TheDIYGuy999 Feb 24, 2023
8bf7484
v0.13.0: servo frequency improvements, calculator
TheDIYGuy999 Mar 1, 2023
62edf7d
0.14-beta.0: a lot of changes, see change log
TheDIYGuy999 Mar 6, 2023
8e19c81
v0.14-beta.1: oscilloscope added, servo modes bugfixes
TheDIYGuy999 Mar 10, 2023
d8d05d1
v0.14.0: Oscilloscope, frequency counter and much more
TheDIYGuy999 Mar 11, 2023
b3d650a
typo fixed
TheDIYGuy999 Mar 11, 2023
9099a36
v0.15-beta.0: adjustable servo positions are back, EEPROM reset
TheDIYGuy999 Mar 12, 2023
2d72513
v0.15-beta.1: battery calibration bug fixed
TheDIYGuy999 Mar 12, 2023
a97d9c8
v0.15-beta.2: encoder acceleration & servo stroke enlarged
TheDIYGuy999 Mar 13, 2023
dbbfcd5
v0.15-beta.3: Oscilloscope is about 8 times faster now
TheDIYGuy999 Mar 15, 2023
dc65d39
Update oscilloscope.h
TheDIYGuy999 Mar 15, 2023
3d121a2
v0.15-beta.4: scope crash fix & linearity compensation
TheDIYGuy999 Mar 17, 2023
3ab1543
v0.15.0: Oscilloscope optimized, adjustable servo positions
TheDIYGuy999 Mar 18, 2023
16c0c48
v0.16-beta.0: first signal generator implementation
TheDIYGuy999 Mar 19, 2023
5244811
v0.16-beta.1: see readme.md
TheDIYGuy999 Mar 21, 2023
acac944
v0.16-beta.2: see readme.md
TheDIYGuy999 Mar 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: TheDIYGuy999
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: "https://paypal.me/thediyguy999"
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.pio
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/ipch
**/.DS_Store
10 changes: 10 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}
9 changes: 9 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"files.associations": {
"array": "cpp"
},
"githubPullRequests.ignoredPullRequestBranches": [
"main"
],
"cmake.configureOnOpen": false
}
151 changes: 150 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,150 @@
# Servotester_Deluxe
# Servotester_Deluxe (with improved software)

The original autor is "Der RC Modellbauer": https://www.youtube.com/@DerRCModellbauer

forked from his GitHub: https://github.com/Ziege-One/Servotester_Deluxe

PCB, schematic and more details: https://www.pcbway.com/project/shareproject/Servotester_Deluxe_62a3f47c.html

Support thread (in German and English): https://www.rc-modellbau-portal.de/index.php?threads/servotester-deluxe-von-der-rc-modellbauer-mit-meiner-erweiterten-software.17383/

## How to program it
- With Arduino IDE
- With Visual Studio Code (recommended)
- With ESPHome-Flasher (for pre compiled .bin files, depending on your display)

## Schematic
![](documentation/pictures/schematic.png)

![](documentation/pictures/resistorValues.JPG)

![](documentation/pictures/capacitor.JPG)

## Menu
![](documentation/pictures/menu.png)

## Oscilloscope 0 - 3.3V
![](documentation/pictures/scope.jpg)

![](documentation/pictures/ppm_scope.jpg)

## Calculator
![](documentation/pictures/calculator.jpg)

## Features
- 5 channel PWM Signal generator for the following modes: STD, NOR, SHR, SSR, SUR, SXR
- manual or automatic movement modes
- PWM read function with pulsewidth and frequency display
- PPM, SBUS and IBUS read function
- Oscilloscope for 3.3V RC signals, PWM and PPM signals can be visualized well
- Signal generator on GPIO 26
- Calculator
- P O N G game
- Flappy Birds game
- Settings menu, parameters are stored in EEPROM
- Operation via rotary encoder with push button
- Supply via USB (for small servos) or XT-60 plug
- 0.96 or 1.3 Inch OLED display
- Some functions can be controlled via the built in website


## TODO Software ****************************************
- remove PPM menu delay
- Menu: Add beep on / off
- Add servo output in signal read mode (decoder)
- Improve Signal generator

## TODO Hardware ****************************************
- Capacitor for 5V rail
- Capacitor for smooth upload
- Anti backfeed diode
- Room for buzzer
- I2C Connector for gyro sensor
- Reset button

## ******************************************************

## Changelog

## New in v0.16-beta.2:
- No very long beep during WiFi enable / disable anymore
- WiFi symbol shown, if enabled

## New in v0.16-beta.1:
- Wifi can be enabled and disabled without reboot
- Oscilloscope crashing, if WiFi off: no fix so far, leave WiFi enabled...
- Temporary fix: #define FAST_ADC in 0_general settings.h (only use it, if WiFi is always on)
- Web interface enhanced

## New in v0.16-beta.0:
- Signal generator added on GPIO 26 (frequency setting still buggy, triangle not working)
- Oscilloscope potentially crashing on some devices: bugfix attempt

## New in v0.15.0:
- Much nicer sine curves on the oscilloscope thanks to the new ADC_LINEARITY_COMPENSATION option in "0_generalSettings.h"
- Oscilloscope sampling delay up to 300 µs
- Oscilloscope is about 8 times faster now. Allows to analyze 1600 Hz SXR siganls way better
- Frequency and duty cycle averaging in oscilloscope
- Encoder acceleration enlarged
- Battery voltage not actualized during power scale adjustment: bug fixed
- EEPROM factory reset option in settings menu
- Servo endpoints and centerpoint are adjustable in 2 groups: STD, NOR, SHR and SSR, SUR, SXR and saved in EEPROM
- Software version is displayed earlier (after logo)

## New in v0.14.0:
- Oscilloscope added
- BUS & oscilloscope input is on CH 5 now
- Precise frequency counter in PWM impulse read mode added
- fixed PWM impulse read bargraph issues
- SSL servo mode removed, because it was useless
- SSR, SUR and SXR frequencies changed, now working with Sanwa PGS-CL II servo
- Added support for active 3V buzzer on GPIO 4
- Calculator: added power of
- ESP32Servo library removed, repaced with native MCPWM ESP32 functionality. Allows way faster servo timings
- A lot of new servo modes added, names are displayed on screen

## New in v0.13.0:
- Servo Hz setting effective on all servo channels and in automatic mode
- Bug fixed: Automatic mode not working in 560 Hz mode
- Bug fixed: Servo angle wrong in 560 Hz mode
- Bug fixed: progress bar out of range in impulse read mode
- Cleaned up frequency selection code
- Microseconds servo range is now displayed in the servo frequency settings menu
- A little calculator was added

## New in v0.12.0:
- Added a Flappy Birds Game
- Alternative logo optimized

## New in v0.11.0:
- Added a Pong game ;-)
- Ball speed is adjustable in settings

## New in v0.10.0:
- Added encoder acceleration in servo tester mode. Makes the operation very handy. If you want to make bigger servo movements, just rotate the encoder faster!
- Unstable Multiswitch issues because of incompatible espressif 32 board solved, see comments in src.ino

## New in v0.9.0:
- Servo is able to oscillate way faster in automatic mode, speed adjustability improved
- Made sure, there is no language string array pointer overflow, if EEPROM was deleted before
- There are still issues with unstable Multiswitch readings. Solution for now: use the pre compiled bin files or use Arduino IDE 2.0.3 with espressif 32 board 2.0.5 (which is unfortunately incompatible with VS Code)

## New in v0.8.0:
- Support for calibrated analogRead, using the ESP32AnalogRead library is improving battery monitoring
- Number of LiPo battery cells is displayed
- Message, if no valid battery is detected
- Support for French language added

## New in v0.7.1:
- ESPHome-Flasher discovered a serious EEMPOM bug, because flash is erased before upload. It should now be fixed.

## New in v0.7.0:
- It is now compatible with VS Code / Platformio. This makes board and library version management way easier, because all is defined in platformio.ini and downloaded automatically. Of course it is still compatible with Arduino IDE
- No external SBUS library required anymore
- Adjustable WiFi power
- Support for alternative logo
- New menu options:
-- Encoder direction inversed or not
-- SBUS inversed or not
-- Language English or German (others could easily be added)
-- Help text is displayed during start
Loading