Xploray
Embedded CContact

Xploray • Beginner Course

Bare-Metal Arduino

Skip the Arduino libraries. Learn to program the ATMega32 directly — registers, timers, interrupts and protocols — the way real embedded engineers work.

Arduino Uno • ATMega32 • AVR

Hardware you'll actually use

12 Weeks • In-person

Anantapur, AP

₹10,000₹8,000

Per student

Contact Us

What you'll be able to do

  • Read a microcontroller datasheet and program registers directly
  • Write C for embedded targets without relying on Arduino libraries
  • Build, flash & debug firmware using avr-gcc and avrdude
  • Use timers, interrupts, ADC, UART, I2C & SPI from first principles
  • Ship a working hardware project you built end-to-end

Curriculum

Week 1 – 3

C Programming for Embedded Systems

  • — Variables, data types, pointers & pointer arithmetic
  • — Structs, unions, bitwise operators & bit-masking
  • — Memory layout, volatile, const, and static qualifiers
  • — Functions, header files, and the avr-gcc toolchain

Week 4

Inside the Microcontroller

  • — ATMega32 architecture, memory map & clock system
  • — Datasheets: registers, fuses & the Arduino Uno board
  • — Setting up avr-gcc, avrdude & Makefiles (no Arduino IDE)

Week 5

Bare-Metal GPIO

  • — DDRx, PORTx & PINx registers — no digitalWrite()
  • — LEDs, push-buttons & debouncing in C
  • — Building your own pinMode/digitalWrite from scratch

Week 6

Timers & PWM

  • — Timer0/1/2 modes: Normal, CTC & Fast PWM
  • — Generating delays without delay()
  • — Software-driven LED dimming & motor speed control

Week 7

Interrupts

  • — External interrupts (INT0/INT1) & the vector table
  • — Timer & pin-change interrupts
  • — Writing safe, minimal ISRs

Week 8

Analog I/O

  • — ADC registers & conversion in bare-metal C
  • — Reading sensors: LDR, potentiometer, temperature

Week 9

UART Communication

  • — Configuring baud rate & registers by hand
  • — Sending/receiving data — building your own printf

Week 10

I2C & SPI Protocols

  • — Bare-metal I2C: addressing, ACK/NACK
  • — SPI for sensors & displays

Week 11

Project Build

  • — Combining GPIO, timers, ADC & UART into one system
  • — Sensor + actuator integration on real hardware

Week 12

Capstone & Demo Day

  • — Final project build, debugging & polish
  • — Present your bare-metal project to the cohort

Hardware provided

  • — Arduino Uno (ATMega32 / AVR)
  • — USBasp / USB-Serial programmer
  • — Breadboard, jumper wires & basic components
  • — LEDs, push-buttons, potentiometer & sensors

Who this is for

  • — ECE / EEE students, beginners welcome
  • — No prior programming experience required
  • — A laptop & curiosity about how hardware works

Ready to build something real?

Contact Us