Advanced Search
Search Results
108 total results found
Course Material
Tutorial
Template Book
Internet of Things
Basic Programming
Alprog - Elektro KKI
This course introduces the fundamental concepts of algorithms and programming using the C language. Students will learn how to analyze problems, design step-by-step solutions, and implement them in C. The course covers essential programming topics such as vari...
Algorithm Programming
This book contains the theoretical foundations for programming algorithm practicum for the Computer Engineering department at UI.
Laboratorium
Digital Sistem Design (PSD/DSG)
Fundamentals Digital Systems (DSD/FDS)
Module 1 - Example
Module 2 - Example
Module 6 - Bluetooth & BLE
Module 4 - Deadlock & Synchronization
Module 7 - MQTT, HTTP, WIFI
Module 5 - Software Timer
Module 10 - Mesh
Module 1 - Introduction to SMP with RTOS
Module 2 - Basics of C
Module 3 - If & While Statements
Module 4 - Do While, For, & Switch Statements
Module 5 - Functions
Module 7 - Arrays
Module 8 - Pointers
Module 9 - Structs, Unions, & Enums
Module 10 - Git & GitHub
Module 1 : Introduction to C
Learning Objectives By the end of this module, students will be able to: - Understand the fundamental differences between Python and C programming languages - Implement basic input/output operations in C - Declare and use variables with appropriate data ty...
Module 1 - Linked List
Theoretical basics of Linked Lists, their types, benefits, and example code.
Module 2 - Example
Persiapan Praktikum Semester Baru
Part 1 - Example
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc consectetur, mauris ut condimentum porta, lorem massa placerat orci, vel condimentum lacus tortor eget quam. Nam scelerisque a arcu et dapibus. Sed ornare mi quis leo euismod ornare. Curabitur tempu...
Part 2 - Example
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc consectetur, mauris ut condimentum porta, lorem massa placerat orci, vel condimentum lacus tortor eget quam. Nam scelerisque a arcu et dapibus. Sed ornare mi quis leo euismod ornare. Curabitur tempu...
Part 1 - Example
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc consectetur, mauris ut condimentum porta, lorem massa placerat orci, vel condimentum lacus tortor eget quam. Nam scelerisque a arcu et dapibus. Sed ornare mi quis leo euismod ornare. Curabitur tempu...
6.1 Introduction to Bluetooth Technology
What is Bluetooth? Bluetooth is a global wireless technology standard for exchanging data over short distances. Its primary purpose is to replace the cables connecting electronic devices, allowing for communication in a clean, efficient manner. It operates in ...
6.2 Core Specifications and Evolution
Bluetooth technology is not static; it has evolved through numerous versions, each adding new capabilities, increasing speed, and reducing power consumption. Bluetooth 1.0 (1999): The initial release. It laid the groundwork but had significant issues with ...
6.3 Core Technology Architectures
Modern Bluetooth is not a single technology but a combination of three distinct architectures designed for different use cases. A device can implement one or more of these. Bluetooth Classic (BR/EDR) This is the original Bluetooth protocol, designed for cont...
6.4 Bluetooth Audio: From Classic to Auracast™ (Optional)
Legacy Audio (Classic Profiles) For over two decades, Bluetooth audio has been powered by profiles running on the Bluetooth Classic radio. These profiles are the foundation of the wireless audio market. A2DP (Advanced Audio Distribution Profile): This is...
6.5 High-Accuracy Location Services (Optional)
Proximity Solutions (Beacons & RSSI) The simplest form of Bluetooth location services is based on proximity. This is typically implemented using beacons, which are small BLE devices that continuously broadcast advertising packets. A receiver, such as a smart...
6.6 Bluetooth and the Internet of Things (IoT)
Bluetooth Mesh Networking in Detail Bluetooth Mesh is a software-based networking solution that runs on top of the BLE physical radio. It is designed to support large-scale, many-to-many device communication, making it ideal for smart buildings and industrial...
6.7 Bluetooth Security
Legacy Pairing vs. LE Secure Connections Pairing is the process of creating a trusted relationship between two devices by generating and storing shared secret keys. Legacy Pairing: Used in Bluetooth versions prior to 4.2. While it provided security, cert...
6.8 The Bluetooth Protocol Stack
The Bluetooth protocol stack is a software framework that defines how Bluetooth devices communicate. It is structured in layers, where each layer provides services to the layer above it and uses services from the layer below it. The stack is divided into two m...
6.9 Practical Implementation with ESP32
This chapter provides a hands-on project to demonstrate the core concepts of a BLE peripheral device using an ESP32. We will move beyond a simple serial example and create a simulated BLE Heart Rate Sensor. This is a standard profile that teaches the essential...
6.10 Real-World Applications and The Future
Modern Case Studies Bluetooth is now a foundational technology in nearly every major tech domain: Wearables and Personal Health: This is a classic BLE use case. Devices like fitness trackers, smartwatches, and Continuous Glucose Monitors (CGMs) rely on B...
5.1 Introduction to Real-Time Multitasking
What is an RTOS? Tasks and Scheduling A Real-Time Operating System (RTOS) is a specialized operating system designed for embedded systems that must process data and events within a strict, predictable timeframe. Unlike a desktop OS (like Windows or macOS) whi...
5.2 An Overview of Asynchronous Tools in FreeRTOS
Software Timers: For Application-Scheduled Events A FreeRTOS Software Timer is a tool used to schedule the execution of a function at a future time. It's like setting an alarm clock within your software. When the timer expires, the RTOS automatically calls a ...
5.3 Deep Dive: FreeRTOS Software Timers
Creating, Starting, and Stopping Timers Interacting with FreeRTOS software timers is done through a standard set of API functions. The core steps are to create a timer, start it, and, if needed, stop, reset, or delete it. Creating a Timer A software timer i...
5.4 Deep Dive: ESP32 Hardware Interrupts
Configuring Hardware Timers on the ESP32 The ESP32 microcontroller comes with four general-purpose 64-bit hardware timers. These timers are highly precise and can be used to generate interrupts at specific intervals, independent of the RTOS scheduler. The co...
5.5 The Core Challenge: ISRs and Tasks Synchronization
Understanding the Problem: Shared Data and Race Conditions When a hardware interrupt occurs, the CPU immediately stops executing the current task and jumps to the ISR. This can happen at any time, even in the middle of a single line of C code that takes multi...
5.6 Synchronization Mechanisms: A Comparative Guide
FreeRTOS provides three primary mechanisms for safely managing shared resources between tasks and ISRs. Critical Sections: The "Big Hammer" for Protection A critical section is a section of code that is guaranteed to run to completion without being preempted...
5.7 Choosing the Right Tool: A Practical Comparison
Deciding which synchronization mechanism to use is a key skill in embedded programming. Use the following table and questions as a guide. Mechanism Purpose Transfers Data? When to Use Primary Risk Critical Section Mutual Exclusion No Protect...