https://github.com/coderarjob/signal.echo
Demo board which generates sample signals experimenting/checking oscilloscope features
https://github.com/coderarjob/signal.echo
c demo-board electronics kicad oscilloscope signal-generator ziglang
Last synced: 10 months ago
JSON representation
Demo board which generates sample signals experimenting/checking oscilloscope features
- Host: GitHub
- URL: https://github.com/coderarjob/signal.echo
- Owner: coderarjob
- License: other
- Created: 2025-05-30T19:39:23.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-09-02T20:25:18.000Z (10 months ago)
- Last Synced: 2025-09-02T22:18:01.659Z (10 months ago)
- Topics: c, demo-board, electronics, kicad, oscilloscope, signal-generator, ziglang
- Language: C
- Homepage:
- Size: 13.5 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## About
This is a hardware project based on Atmega8A microcontroller. This project came about from a
personal need for a demo board to test my new oscilloscope. I plan to create a complete PCB
along with firmware in this repo.
### Screenshots
##### 1. Serial RS232 (TTL Level) decoding test

##### 2. Serial I2C decoding test

##### 3. Positive & negative Runt detection pulse


##### 4. Burst mode pulses

##### 5. Sine wave



##### 5. Amplitude Modulation wave


##### 6. Triangle wave



##### 7. Sawtooth wave



### Goals
- [X] Firmware: RS232 sample output (positive)
- [X] Firmware: I2C sample output
- [X] Firmware: Runt pulse (+ve & -ve runt pulses)
- [X] Firmware: Sine wave pattern
- [X] Firmware: Amplitude Modulation wave pattern
- [X] Firmware: Triangle wave pattern
- [X] Firmware: Sawtooth wave pattern
- [X] Firmware: Burst data in two lines
- [X] Firmware: Separate arch independent codes
- [X] Unittests: Add unittests for utils
- [X] Unittests: Add unittests for existing tests
## Building prerequisites
1. Requires Linux environment for building.
2. GNU Make
3. avr-gcc
4. avr-libc
### Firmware
```
BUILD_DIR=out make
```
Firmware is the `./out/firmware.hex` file. To program micro with avrdude, we can do `make program`.
### Unittests
We can build every unittests and run them using the `run` target.
```
BUILD=ut BUILD_DIR=out/ut make run
```
### Tools
Some tools which are used exclusively in this project are/will be put into the `tools` folder. Each
may have different prerequisites and build procedures. For information see `Readme.md` of each
tool.
# Feedback
Open a GitHub issue or drop a email at arjobmukherjee@gmail.com. I would love to hear your
suggestions and feedbacks.