The sample projects repository contains complete, working test implementations for various hardware testing scenarios. Use these as references when building your own test suites or as starting points for similar projects.
Available Samples#
arduino-uno-test#
Functional tests for Arduino Uno boards. Demonstrates:
- USB serial communication testing
- Digital I/O verification
- Analog input measurement
- Basic firmware interaction
Good starting point for embedded board testing.
power-supply-validation#
Test suite for validating power supply units. Covers:
- Output voltage accuracy across load range
- Current limit behavior
- Line/load regulation measurements
- Protection feature verification
Demonstrates parametric testing with tight tolerances.
iot-sensor-board#
Tests for a WiFi-enabled sensor board. Shows:
- Multi-interface testing (serial, I2C, SPI)
- Wireless connectivity validation
- Sensor calibration routines
- Production test organization
Complex example with multiple test phases.
motor-controller#
Functional tests for motor control boards. Includes:
- Power stage verification
- PWM output testing
- Feedback loop validation
- Safety interlock testing
Demonstrates timing-sensitive hardware testing.
Using the Samples#
Each sample is a complete project you can use as a starting point:
Each sample is a complete project:
f3ts-sample-projects/
├── arduino-uno-test/
│ ├── tests/
│ ├── config/
│ ├── pyproject.toml
│ └── README.md
├── power-supply-validation/
│ └── ...
└── ...
To run a sample (with appropriate hardware connected):
cd arduino-uno-test
pip install -e .
pytest tests/ --hardware-config=config/dev.yamlLearning Path#
If you're new to pytest-f3ts, we suggest this order:
- arduino-uno-test - Simple, accessible hardware
- power-supply-validation - Parametric testing patterns
- iot-sensor-board - Multi-interface complexity
- motor-controller - Advanced timing and safety
Contributing#
Sample project contributions are welcome. If you have a well-structured test project that demonstrates pytest-f3ts usage, consider submitting it:
- Fork the repository
- Add your sample following the existing structure
- Include a README explaining the hardware and test approach
- Submit a pull request
Requirements for submissions:
- Working tests with real hardware
- Clear documentation
- No proprietary dependencies
- Educational value for the community