Tangat Baktybergen
Lead maintainer
This plugin provides automatic pre-checking and validation of student submissions for microcontroller lab assignments using ATmega devices. It enforces file naming conventions, validates ZIP structure, checks compilation status, and improves feedback — making the grading process smoother and more secure.
Designed for embedded systems or C-based lab courses, this plugin helps instructors ensure students submit correct, compiled .hex files along with their reports.
One ZIP + One PDF per Submission
Students must submit:
A PDF lab report (≤ 5MB)
A ZIP archive of code files (≤ 50MB)
Automatic Filename Handling
Both PDF and ZIP are auto-renamed to:LabX_studentID_WS20XX.pdf and LabX_studentID_WS20XX.zip
ZIP Content Validation
No nested ZIPs or folder structures deeper than 1 level
Max 50 folders/subfolders allowed
Forbidden file types (e.g. .exe) are blocked
.hex File Verification
Checks for empty .hex files
Detects if student ID (00000) was not replaced
Verifies presence of student ID in binary
Configurable minimum .hex file count
Source File Compilation Checks
If .c/.h files are newer than .hex, submission is blocked
If .hex is too new (over 1 hour newer than source), shows a warning
Missing Compiled Files Detection
Flags folders that contain source code but no compiled .hex or .elf files
Teacher-Only Cheating Warnings
Detects mismatches between expected and actual student IDs inside .hex
Flags suspicious cases (e.g., reused or borrowed .hex)
Color-Coded Feedback and Validation Report
Students see " errors and ⚠️ warnings instantly
Detailed .txt validation report generated on failed submission
Submissions with blocking errors are rejected; files are not saved
Embedded systems or microcontroller lab courses using AVR/ATmega
Auto-evaluation of .c, .h, .hex, and .elf files
Secure submission environments for student-generated code
Grading support in large classes with repeated code submission
Instructor sets up an assignment with ATmega plugin enabled.
Students upload 1 PDF + 1 ZIP.
The plugin:
Validates the file structure and size
Checks .hex compilation and ID embedding
Flags any violations or suspicious content
Students receive instant feedback (with download option for report).
Teachers can view extra cheating-related warnings during grading.
.c, .h, .elf, .hex, Makefile
Nested .zip files or .exe are rejected
Ivan Volosyak
Tangat Baktybergen
Includes code examples inspired by:
"Microchip AVR Programming using ATmega Microcontrollers"
Volosyak, Ivan. ISBN: 978-3-8440-8015-5
Published by: Shaker Verlag, Germany, 2021
' Free suplemental material
Rhine-Waal University of Applied Sciences (HSRW), Kleve, Germany
GNU GPL v3 or later