From register-level AVR control to server telemetry

An ATmega328PB stack built up step by step, from register-level control to server telemetry.

Origin
Academic R&D project
Areas
FPGA & Digital

ATmega328PB firmware that integrates interrupts, PWM/ADC, I2C peripherals, keypad/LCD interfaces, 1-Wire sensing, UART and ESP8266-assisted telemetry.

The problem

Embedded systems must coordinate timing, physical sensors, peripheral buses, local interfaces and network delivery, all under tight hardware constraints.

What was built

A sequence of laboratory exercises that ends in an integrated sensor-to-server application on the ATmega328PB, built on lower-level AVR assembly and peripheral-control foundations.

Technical approach

  • Direct control of GPIO, timers, interrupts, PWM and ADC
  • Circular-buffer averaging over recent ADC samples
  • TWI/I2C integration with a PCA9555 expander
  • Keypad, LCD and direct 1-Wire temperature sensing
  • UART link to an ESP8266 for HTTP/JSON telemetry

Engineering decisions

  • Implement timing-sensitive protocols directly in firmware.
  • Use interrupt-driven behaviour and input debouncing for asynchronous controls.
  • Bridge raw sensor acquisition to both the local display and network delivery.
  • Present the work as a progressive stack, without claiming that every lab peripheral appears in one final build.

How it was checked

  • The repository supports ATmega328PB at 16 MHz, AVR assembly and embedded C.
  • The verified work covers interrupts, Fast PWM, ADC, I2C/TWI, PCA9555, 1-Wire and USART/UART.
  • The final laboratory exercise builds JSON and communicates with an HTTP server through ESP8266-assisted connectivity.

What it shows

Firmware engineering across register programming, real-time acquisition, protocols, human interfaces and the device-to-server path.

About the source

Academic embedded-systems engineering and R&D. No commercial deployment, certified accuracy or industrial safety claim is made.

Tell us what you want to build.

A product, a website, a search problem or a system that should work better. We reply with a plain answer and the first step.

Email
[email protected]
Phone
+30 698 179 8240

A few sentences are enough (at least 20 characters).

We use your details only to answer your inquiry. See our privacy policy.