
Closed
Posted
Paid on delivery
I have a microcontroller-based board that will sit in the field and quietly record temperature readings from one or more digital sensors. Your job is to write the embedded firmware that pulls those readings at set intervals, time-stamps them, and stores everything persistently in a neat, easily downloadable file (CSV or similar). Core needs • Reliable polling of the attached temperature sensors (currently using a standard one-wire digital device, but code should be abstract enough to swap to I²C if required later). • Configurable sample rate—default 1 Hz but changeable over a simple serial menu or compile-time constant. • Local, non-volatile storage on the board’s microSD slot; automatic file rollover when a maximum size is reached so nothing is ever overwritten. • Basic health checks: log a line whenever power is cycled, storage is almost full, or a read error occurs. Nice-to-have (not required for first milestone) • Option to stream live values out of the UART while still logging. • Simple checksum at the end of each line for downstream integrity checks. Deliverables 1. Well-commented source code (C / C++ or MicroPython—your choice, so long as it is portable). 2. A brief README explaining hardware pinout assumptions, compile steps, and how to change the sample rate. 3. A binary ready to flash and a quick test log proving correct operation over at least 10 minutes. Acceptance criteria • No missed samples over an uninterrupted 24-hour run at 1 Hz. • Reboots (simulated by power cycling) do not corrupt existing log files. • Downloaded CSV parses cleanly and shows monotonically increasing time stamps. If you enjoy squeezing the most out of limited flash and RAM, this will be fun work. Let me know wh Embedded System Working Program An embedded system is a computer system designed to perform a specific task. It combines hardware and software to control a device. Working of an Embedded System Input: The system receives input from sensors, switches, or a keypad. Processing: The microcontroller or microprocessor executes the embedded program stored in memory. Decision: The program processes the input and decides what action to take. Output: The system sends signals to output devices such as LEDs, displays, motors, or buzzers. Flow: Input → Microcontroller (Embedded Program) → Processing → Output Example Program (LED Blinking in Embedded C) C #include <LPC17xx.h> int main(void) { LPC_GPIO1->FIODIR |= (1 << 18); // Set P1.18 as output while(1) { LPC_GPIO1->FIOSET = (1 << 18); // LED ON for(int i = 0; i < 1000000; i++); LPC_GPIO1->FIOCLR = (1 << 18); // LED OFF for(int i = 0; i < 1000000; i++); } } Explanation: FIODIR configures the pin as an output. FIOSET turns the LED ON. FIOCLR turns the LED OFF. The while(1) loop repeats the process continuously, making the LED blink. This is a basic embedded systems program commonly used with the ARM Cortex-M3 (LPC1768) microcontroller.
Project ID: 40565407
43 proposals
Remote project
Active 57 yrs ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs