CSCI 327: Embedded Systems Design

Based on Silicon Labs BGM22 Bluetooth module

Tentative Course Outline

Topics  Class Projects
BGM22 Architecture Overview 

Installing course software
First steps with Simplicity Studio   Installing bootloader
Blink-a-LED
Terminal I/O
Printing chip die temperature
I/O ports setup and interrupts   Toggling LED by button press
Working with button interrupt
Configuring Sleeptimer interrupt
Processing LETIMER interrupts
Processing RTCC interrupts
Working with timers and PWM   Dimming LED with PWM
Controlling servo with 50Hz PWM
Reaction game;     Signal flow
Analog to Digital Convertor (ADC)   Dimming LED with potentiometer
Serial communication (I2C)   Measuring temperature and humidity
Working with OLED display
Serial communication (SPI)   Reading accelerometer data
Working with Bluetooth   Bluetooth Beacon and My_Beacon projects
My_Server project
Advertizing control and OTA DFU
Custom profile and connection control
Sending notifications and indications
Bluetooth LED project
Bluetooth Scanner
Temperature and Humidity Server
Temperature and Humidity Client
Working with Security Manager
Bluetooth HID mouse
Bluetooth HID keyboard
Mentoring student projects   Project ideas