Classroom Project Ideas

+ Show more on all
+ Show more


A simple GPS module can be used to improve programming skills by developing algorithms that range from simple data parsing to complex mathematics converting lat/long to feet. The basic interface is an excellent opportunity to develop a robust data communications module to issue commands and gather data. GPS Module

Example projects:
  • Clock to show accurate date/time from a satellite.
  • Logging program to save locations traveled over time. Dump data in a CSV format to view on Google maps.
  • Calculate distance in feet between two points identified by pressing a button.
  • Monitor the Lat/Long for a fixed position GPS. Over time calculate amount the location drifts. Figure out if a more stable reading can be obtained averaging over time and calculate accuracy vs sample time. Continue the analysis of the GPS capabilities by determining the reliable resolution of the data.
  • Use two GPS units and two Zigbee™ transceivers to create a differential system. One GPS remains fixed and sends drift numbers to the other GPS to correct the position. Figure out how much this improves accuracy and resolution.
Things to learn:
  • Asynchronous communication protocol
  • Checksumming
  • Complex floating point math
  • Data logging
  • Systems analysis
+ Show more


The CCS RFID modules have an RS-485 bus on them. This opens the units up for some great projects. One unit can be used to build a simple access control (key-card type) system or a logging system. Multiple units can be used to construct a system with multiple access points or to designate units and entry, exit and a master unit to learn or delete new key-cards. PC programming can also be added to the system by interfacing the RS485 bus to the PC where the system can be monitored or controlled. RFID Development Kit

Example projects:
  • Design an inventory control system. One button is used to indicate a item is removed and another an item is returned. A RFID tag is used to log who.
  • Construct a multi-point access control system that has a method to add/delete new users and authorize and log user access.
Things to learn:
  • RFID
  • RS-485 networks
  • PC interfacing
+ Show more

Complete Software Engineering Project

CCS can provide a kit (the sump kit) that is a complete software engineering project. The goal is to design a controller for a sump pump. Included is a formal software development specification like would come from an appliance manufacture. Guidelines are provided for software documentation, reviews, coding standards and special considerations. The initial specification is for a software base that works for two models plus two change request specifications are included for additional features to be added on to the project. To test the project in a classroom environment a PC based sump pump simulator is used and connected to the PIC® hardware.

Things to learn:
  • Motor control
  • Level sensing
  • Timing
  • Safety control
  • Documentation
+ Show more

DC Power Monitor/Control

CCS has a DC power monitor/control platform with a PIC® processor as the controller. This can be used as the basis for a large variety of programming projects. To use you will need a bench power supply that can vary the output voltage (at least 9-15V) and some 12V loads such as automobile lights.

Example projects:
  • Simple program to show alternating voltage/current on an LED display. Use the push-button to turn the power on and off. Require a longer downtime to turn off.
  • Enhance the program to to shut the power off if it is out of a specified range. Include hysteresis.
  • Enhance the program to allow the user to set the LED brightness using the push-button. For example hold down the button on power on for 10 seconds to enter the adjust mode. Modulate the LED on time to control brightness.
Things to learn:
  • Voltage reading
  • Current reading
  • 7-Segment LED's
  • Power control
  • Using a single push button for multiple functions
+ Show more

Message Fan

A spinning fan blade with a line of LED's can be used to display messages and patterns if the firmware can precisely light the individual LED's at the right time. This makes a great embedded programming project. Contact CCS for hardware.

Things to learn:
  • Critical timing
+ Show more

Data Logging

Data logging can be used to develop a number of useful algorithms. For example compressing data to save memory when the input data is not changing, rotating NVM usage so the usage of all memory cells is evenly distributed and dealing with unexpected power fails.

Things to learn:
  • EEPROM management
  • FLASH management
+ Show more

Digital Audio

CCS has several development boards that can be used to input analog audio, digitize the audio and output it as analog audio. This can be used as a basis to learn about audio processing including digital filtering, record/playback, and tone generation.

Example projects:
  • Process audio to pass only 300hz to 3Khz to provide a standard voice filter.
  • Process audio to add an echo effect while a button is pressed.
  • Design a program to play a recorded message when you clap three times within 4 seconds.
  • Make a simple 1200 baud modem. Use 4 tones, 0 and 1, unit A and B so the two units can talk to one another acoustically in full duplex.
Things to learn:
  • Digital audio processing
+ Show more

Smartphone Interface

The CCS EZ App Lynx development kit can be used to interface a PIC® program to a smartphone or tablet via Bluetooth®. This presents a number of good opportunities for embedded programming. EZ App Lynx w/ RN4020 Development Kit

Example projects:
  • Create a chamber with a light bulb (for heat) and temperature sensor. From the smart device set a target temperature and then the PIC® MCU should maintain the desired temperature by turning the light on and off. The smart device should also display the current temperature.
Things to learn:
  • Bluetooth® Wireless Technology
  • Smart device interfacing
  • Using packaged libraries
+ Show more

Advanced Co-processing

CCS has a 4" x 4" PCB with a PIC® MCU, 64 LED's and connectors on each of the 4 PCB sides. These boards can be plugged into one another to make a larger LED matrix. The programming challenge comes in by coordinating the processors on each board to perform a common task. 810 MIPS Multi-Processor Demonstration

Example projects:
  • Designate one processor as the master. That processor on power up starts a 6x6 square moving to the right, as the square reached the edge it migrates to the next processor and so on. When there is no processor to pass the square to the square moves up 6 pixels and reverses direction.
  • Implement the popular computer exercise "The game of life".
Things to learn:
  • Multi-processor communication
+ Show more


CCS has documented a project that uses an inexpensive digital caliper and adds a USB interface to it to show the data at a PC. A number of techniques and technologies can be learned form this experience. CCS can provide hardware in addition to the detailed methodology used. CALHACK

Example projects:
  • Recreate the CCS program and add to it logic that allows the user to close the caliper for 3 seconds to reset it, then take three measurements. A Pass or Fail is indicated depending on if the measurements are within a specified tolerance or out of range.
  • Find another brand of caliper and reverse engineer it to provide the same USB interface.
Things to learn:
  • SPI
  • USB
  • Reverse engineering
+ Show more

RF Networking

The CCS Zigbee™ modules can be used to establish a local RF mesh network.

Simple GPS modules can be used to improve programming skills by developing algorithms that range from simple data parsing to complex mathematics converting lat/long to feet. The basic interface is an excellent opportunity to develop a robust data communications module to issue commands and gather data. CCS Wireless - Ember ZigBee™ Edition

Example projects:
  • Set up a system where a master node collects data from all the other nodes and sends that data over a USB port to a PC screen. Establish a method for a new node to enter the network.
Things to learn:
  • RF Zigbee™
  • Mesh network
+ Show more

Ultrasonic Distance Measurement

A 50khz ultrasonic transducer can be used to generate a short burst from the PIC® MCU. The PIC® MCU can then time the gap until a echo is heard the distance can be calculated. This is simple in concept however presents some excellent embedded programming opportunities.

Things to learn:
  • Precision timing
  • Noise filtering
  • Systems analysis
+ Show more


Use the CCS WiFi development board to create a number of Internet projects. The PIC® MCU can be a web server or any number of clients.

Example projects:
  • Design a web server to show current temperature at the remote location.
  • Design a unit that sends an e-mail out every time the temperature changes by more than 2 degrees.
  • Design a unit that on power up downloads via FTP a file with part numbers and bin locations (inventory). The user can then enter a part number at the remote unit and it will show the bin location for the part.
Things to learn:
  • TCP/IP
  • WiFi
  • LCD
  • Keypad
  • I2C