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.
- 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
- Requires Linux environment for building.
- GNU Make
- avr-gcc
- avr-libc
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
We can build every unittests and run them using the run
target.
BUILD=ut BUILD_DIR=out/ut make run
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.
Open a GitHub issue or drop a email at arjobmukherjee@gmail.com. I would love to hear your suggestions and feedbacks.