EmbeddedRelated.com
Books
The 2026 Embedded Online Conference

Embedded Software Development for the Internet Of Things: The Basics, the Technologies and Best Practices

Klaus Elk 2016

Details can be found on the web - when you know what to look for
The aim of this book is to help you understand the technologies behind the devices used in the Internet Of Things. This is done with a mixture of theory, examples and 'war-stories'. This book may be read by senior students, but it is more likely to be read by programmers and developers, who have done some programming of PC's in Windows or Linux, and are now faced with developing devices for the Internet Of Things. Basic programming skills are thus assumed, whereas no prior knowledge on TCP/IP and Digital Signal Processing is needed. Based on many years of experience as developer, university-teacher and manager, the author's personal view on best practices in the embedded world is offered.

  • Part I introduces the main features of Embedded Operating Systems and modern highly integrated CPU's and thus builds the foundation for part II.
  • Part II - on Internet Protocols and Digital Filters - is the main 'textbook'. It provides a lot of facts, backed up by examples. The many network cases are illustrated with the help of WireShark Captures. The chapter on digital filters is focused on making the reader understand the basics, without getting lost in formulas.
  • Part III describes the authors experience with best practices when working with embedded networking. The author's experience as a developer, combined with his overview as manager, results in a pragmatic and highly usable set of guidelines.
One of the strongest features of this book is the many figures. They make the book inviting and helps the reader remember the knowledge given.


Why Read This Book

You will learn the practical fundamentals that connect low-level firmware, RTOS design, and embedded Linux to real-world IoT product needs, illustrated with examples and practitioner "war stories." The book emphasizes pragmatic best practices — architecture, testing, security, and maintainability — so you can move from PC or server programming to building reliable connected devices.

Who Will Benefit

Programmers and developers with basic programming experience (PC/Linux/Windows) who are transitioning to embedded/IoT product development and need a broad, applied survey of technologies and best practices.

Level: Intermediate — Prerequisites: Basic programming skills (C or higher-level language) and familiarity with working on a PC in Windows or Linux; no prior TCP/IP or DSP knowledge required.

Get This Book

Key Takeaways

  • Design firmware architectures that separate concerns and scale from prototypes to deployed IoT devices
  • Use RTOS features and patterns to build responsive, deterministic embedded software
  • Integrate networking stacks and IoT protocols (basic TCP/IP, MQTT/CoAP) into constrained devices
  • Implement robust hardware–software interfaces and device drivers for sensors and peripherals
  • Apply security, OTA update, and power-management best practices for connected products

Topics Covered

  1. Part I — Foundations: What the IoT is and how embedded software fits in
  2. Hardware primer: microcontroller families, SoCs, and selecting the right platform
  3. Programming embedded systems: toolchains, build systems, and coding practices
  4. Real-time systems and RTOS concepts: tasks, scheduling, synchronization, and common patterns
  5. Networking for embedded devices: TCP/IP essentials, IPv6, and lightweight application protocols
  6. Embedded Linux vs bare-metal/RTOS: when to use which and hybrid approaches
  7. Hardware–software interface: buses, ADC/DAC, interrupts, DMA, and device drivers
  8. Security, secure boot, and OTA/firmware update strategies
  9. Power management and low-power design techniques
  10. Testing, debugging, and deployment: unit tests, integration tests, logging, and monitoring
  11. Case studies and war stories: practical project examples and lessons learned
  12. Appendices: tools, reference material, and recommended further reading

Languages, Platforms & Tools

CC++PythonShellARM Cortex-MARM Cortex-A (embedded Linux)RISC-VGeneric 8/32-bit microcontrollersEmbedded Linux systemsGCC toolchainGDB/OpenOCDMake/CMakeFreeRTOS (and other RTOS examples)Buildroot/YoctoWiresharkJTAG/SWD debuggers

How It Compares

Covers similar practical ground to Elecia White's "Making Embedded Systems" but places more emphasis on IoT networking, architecture and managerial best practices; compared with "Embedded Linux Primer," Elk's book spans both microcontroller/RTOS workflows and embedded Linux rather than focusing solely on Linux systems.

Related Books

Bryant, Randal, O'Hallaron,...
The 2026 Embedded Online Conference