ESP32 Automated Unloader: Arduino Programmer Needed - 12/11/2024 06:03 EST

Job ID: 38782258

Budget: $25 – $50 AUD

Subject: Request for Quotation: Arduino Programmer for ESP32 Automated Unloader Project
________________________________________
We are seeking a skilled Arduino programmer to assist with our ESP32-based automated unloader mechanism project. Below are the details of the project and the scope of work we require:

Project Overview
We have developed an automated unloader mechanism controlled by an ESP32 microcontroller. The primary codebase is largely complete and will be provided to qualified candidates upon request for quoting.

Scope of Work
• Code Organization & Housekeeping:
o Organize and group existing code lines for improved readability and maintenance.
o Add necessary comments and documentation to enhance code clarity.
o Identify and remove any redundant or unnecessary lines of code.
• Concurrency Management:
o Review and optimize the use of mutexes and critical sections to ensure thread-safe operations.
• Code Consistency & Review:
o Examine declarations and data types for consistency throughout the codebase.
o Ensure that all data structures defined in the separate header file are consistently used.
o Recommend and implement additional header files or modules as needed for better code management and development efficiency.

Technical Requirements
Development Environment:
• Proficiency in PlatformIO within the VSCode environment.
Version Control:
• Experience with GitHub for code management.
• Ability to create and manage Pull Requests for collaborative development and code reviews.
Code Quality:
• Ensure that the existing code compiles successfully without errors or compiler warnings.
• Maintain high coding standards for future scalability and maintenance.

Required Programming Skills
To amend the current code and implement the suggested work, a programmer should possess the following skills:
• Embedded Systems Programming:
o Proficiency in C/C++: An understanding of C++ for embedded systems, including pointers, memory management, and object-oriented principles.
o ESP32 Development: Experience with ESP32 microcontrollers, including the ESP-IDF or Arduino framework.
o FreeRTOS Knowledge: Familiarity with FreeRTOS, including task creation, scheduling, synchronization primitives (mutexes, semaphores), and inter-task communication.
o ESP-NOW Protocol: Understanding of the ESP-NOW wireless communication protocol for peer-to-peer networking.

Deliverables
• Organized and well-documented codebase.
• Optimized use of concurrency mechanisms.
• Reviewed and consistent data declarations.
• Enhanced code management structure with additional headers/files if necessary.
• Successful integration with GitHub repository through Pull Requests.


Quotation Requirements
Please provide the following in your quotation:
• Estimated Timeline: Time required to complete the initial housekeeping and review tasks.
• Cost Estimate: Detailed breakdown of your fees for the project.
• Relevant Experience: Examples of similar projects you have completed.
• Availability: Your current availability to start the project.
• Immediate start is desireable.
Related categories: Microcontroller C++ Programming Arduino RTOS