Digital Lab Projects Design

The goal for this project is to integrate Amazon FreeRTOS into the ECE 443 lab and provide working code and documentation demonstrating the updated features. Discussed deliverables were TCP/IP, Ethernet/WiFi, and Bluetooth demos. Additions will be considered based on progression.

=Problem Definition=

Background
The ECE 443 lab uses the FreeRTOS software to teach concepts surrounding real-time computing, distributed processing, and control networks. Currently the lab uses version 8 of FreeRTOS. The most up to date release of FreeRTOS, which is now managed by Amazon, is version 10. Since version 8, new features have been added and it is possible dependencies have changed. Updating to Amazon FreeRTOS will require determining what changes are needed and acquiring the appropriate software and/or hardware.

Hardware
=Design Considerations=

Constraints
The primary concerns for this project are budget and time.This project may require updating to or investing in new hardware. New products and/or components should be carefully considered before purchase, especially from the standpoint of outfitting an entire lab space. Software changes will be subjected to the same considerations.

Amazon Web Services (AWS)
A cloud platform that is strongly recommended for use with the FreeRTOS kernel. It extends functionality with software libraries and various other tools.It was originally unclear if AWS was required to run FreeRTOS. Research revealed that the two were independent and as such AWS fell outside the scope of project and course requirements.

Harmony
An embedded software development framework for microcontrollers and microprocessors. It is intended to simplify development with software modules to help handle the challenges that arise with porting an application to many different devices. Harmony was initially considered as a tool to help make development more efficient. Tests to assess performance found undesired overhead and other issues, so the software was set aside.

Development Boards
The Curiosity PIC32MZEF Development Board is a platform recommended by AWS for the FreeRTOS kernel. The Cerebot MX7cK development board is the platform currently being used in the class. Because the Curiosity boards lacked certain desired hardware features and would require a considerable cost to adopt, we decided to develop our projects for the Cerebot.

=Project Learning= 1.The first phase of this project involved becoming familiar with the different tools recommended for use by Amazon Web Services and assessing their relevance and effectiveness in achieving the specified goals. 2.The second stage required developing a sufficiently strong understanding of the architectures of the FreeRTOS kernel and the development board (the Digilent Cerebot 32MX7cK) to create the specified reference design projects.

=Project Testing=

MPLAB X IDE
Debugging software allowed for testing of the project’s execution.

Wireshark
Used to monitor network activity and look for attempted and successful network communication.

Putty
Open-source terminal emulator used to establish a TCP socket connection with the Cerebot.

=Project Design=

Existing Reference Design Projects
Built off of existing reference design projects offered on the Distributed Processing and Control Networks course website.

FreeRTOS Website
Tutorials used to draw basic implementations of TCP and UDP communication.

Existing HTTP Server Project
Incorporated and modified an existing HTTP project for our HTTP server example.

GitHub Projects
Used code from projects on GitHub using the FreeRTOS kernel.

=Deliverables= 1.The team successfully determined the hardware and software components most applicable to the needs and scopes of the project.

2.Provided code samples utilizing the FreeRTOS+UDP and FreeRTOS+TCP stacks, as well as an HTTP server example, giving a platform from which projects for the Distributed Processing and Control Networks course can be developed in the future.



=Validation=

Team Information
=Additional Documentation= Team Contract

Team Contract

Meeting Minutes

Meeting Minutes Folder

Design Review

Design Review