Skip to content

About This Textbook

This intelligent textbook was created to provide students with a hands-on, interactive introduction to embedded systems programming using the PIC24FJ64GA002 microcontroller by Microchip.

The book blends traditional explanations with modern tools like Markdown, interactive prompts, and MicroSims to reinforce deep learning and experimentation.


Learning Objectives

By the end of this textbook, learners should be able to:

  • Understand the architecture of the PIC24FJ64GA002 microcontroller
  • Write and debug assembly code for core operations (branching, loops, stack management)
  • Use timers, interrupts, and peripheral modules (UART, SPI, I2C, ADC)
  • Read datasheets and configure registers for real-time control
  • Translate embedded concepts into working C/assembly implementations

Intended Audience

This resource is designed for:

  • Undergraduate students in Computer Engineering, Electrical Engineering, or Embedded Systems
  • Makers, hobbyists, and developers interested in microcontrollers
  • Anyone learning real-time programming with resource-constrained devices

Approach

The structure of this book mirrors a lab-based embedded systems course. Each chapter builds incrementally:

  • Assembly concepts and syntax
  • Control structures and memory
  • Peripherals, interrupts, and real-world interfacing

Interactive elements such as quizzes, prompt challenges, and simulations are embedded to reinforce key ideas.


Author & Acknowledgements

This project was developed by Irving Garcia as part of a university-level embedded systems curriculum.

Special thanks to:

  • Dan McCreary who inspired this structure
  • Microchip for documentation and tools
  • Open-source developers of MkDocs and Material for MkDocs

This book is open to future contributions and improvements. If you'd like to help, check the GitHub repository for open issues or submit your suggestions.