ATSAMD21 Firmware Development & Support

Job ID: 40239313

Budget: $250 – $750 USD

I have the following project with 4 deliverables. The cost of the first deliverable is $ 100. The cost of the second deliverable is $ 300. The third deliverable is $ 200 and the fourth deliverable is $ 100. Here is a description of the project " Project Overview
I am migrating a thermal sensor system from an ATtiny861 to an ATSAMD21 (ARM Cortex-M0+). I am looking for a professional who can not only build a modular C++ firmware architecture but also provide full technical support in setting up my local development environment and debugging tools.
Phase 0: Infrastructure & Environment Setup (Priority)
Before the firmware tasks begin, you will guide me through the following:
• IDE Installation: Direct me to the correct version of Microchip Studio (Atmel Studio) or a modern equivalent (e.g., VS Code + PlatformIO) and ensure it is configured correctly on my machine.
• Debugger Configuration: Provide step-by-step guidance on connecting and configuring the hardware debugger (e.g., Atmel-ICE or EDBG).
• Connection Test: Verify that the SAMD21 target is correctly detected and that we can perform a "Blinky" test to confirm the hardware/software link.
Phase 1: Core Modular Firmware Development
Once the environment is stable, you will develop the following:
1. Hardware Abstraction Layer (HAL): Create board_pins.h/cpp to manage all GPIO, 2x PWM, and ADC. No direct register access is allowed in the main application logic.
2. Live Parameter Interface: Design an ASCII protocol via USB CDC (e.g., SET PWM 1200) to update parameters live without recompiling.
3. Data Transmission & Visualization: Implement a routine to send stored test data (20 rows of 15 thermocouple values) to a PC and provide a Python script to plot these curves in real-time.
Technical Requirements
• Expertise: Deep knowledge of ATSAMD21 peripherals and ARM Cortex-M0+ architecture.
• Architecture: Proven experience in designing modular, scalable Embedded C++ (No Arduino framework unless strictly necessary).
• Communication: Ability to explain technical setup steps to a non-expert and document a clear serial protocol.
• Tools: Proficiency in Microchip Studio, Python (for plotting), and serial terminal software like Tera Term.
Deliverables
• Fully configured local development and debugging environment.
• Modular SAMD21 source code (Clean, commented C++).
• Python plotting script for data verification.
• Simple "How-to" guide for updating parameters via the serial interface.