Skip to content

coderarjob/signal.echo

Repository files navigation



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.

Caution: The master branch contains changes for the upcoming version and may not always be stable. If you wish to manufacture, use the latest release/version_x.x branch or one of the released versions.

See LICENCE for terms under which this project is released and developed.

Screenshots

1. Serial RS232 (TTL Level) decoding test

rs232

2. Serial I2C decoding test

rs232

3. Positive & negative Runt detection pulse

Positive runt pulse

Negative runt pulse

4. Burst mode pulses

Negative runt pulse

5. Sine wave

Sine wave Sine wave Sine wave

5. Amplitude Modulation wave

Sine wave Sine wave

6. Triangle wave

Triangle wave Triangle wave Triangle wave

7. Sawtooth wave

Sawtooth wave Sawtooth wave Sawtooth wave

Goals

  • Firmware: RS232 sample output (positive)
  • Firmware: I2C sample output
  • Firmware: Runt pulse (+ve & -ve runt pulses)
  • Firmware: Sine wave pattern
  • Firmware: Amplitude Modulation wave pattern
  • Firmware: Triangle wave pattern
  • Firmware: Sawtooth wave pattern
  • Firmware: Burst data in two lines
  • Firmware: Separate arch independent codes
  • Unittests: Add unittests for utils
  • Unittests: Add unittests for existing tests
  • Manufacturing: Build the PCB board

Building prerequisites

  1. Requires Linux environment for building.
  2. GNU Make
  3. avr-gcc
  4. avr-libc

Firmware

Build the firmware using the following command. Firmware binary is the ./out/firmware.hex file.

BUILD_DIR=out make

To program using avrdude we run the following command.

make program

When programming a new microcontroller, we also need to program the required fuse bits. This can be using the following command

make program_fuses

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.

About

Demo board which generates sample signals experimenting/checking oscilloscope features

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •