diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..71b1667 --- /dev/null +++ b/.gitignore @@ -0,0 +1,184 @@ +# ---> MicrosoftOffice +*.tmp + +# Word temporary +~$*.doc* + +# Word Auto Backup File +Backup of *.doc* + +# Excel temporary +~$*.xls* + +# Excel Backup File +*.xlk + +# PowerPoint temporary +~$*.ppt* + +# Visio autosave temporary files +*.~vsd* + +# ---> Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +.idea/ +.DS_Store + diff --git a/AVAILABLEPARTS.md b/AVAILABLEPARTS.md new file mode 100644 index 0000000..fa493b3 --- /dev/null +++ b/AVAILABLEPARTS.md @@ -0,0 +1,29 @@ +# Parts in the Lab + +You are not limited to using parts available in the lab. +This list is intended to help you select a project where all or most of +the parts are already available in the lab or in one of Ed's projects. + +### Parts in no Specific Order + + +ESP32 + +ESP8266 (Older versin of the ESP32) + +BME280 (Qwiic) Precision temperature, humidity, and pressure sensor (https://www.sparkfun.com/sparkfun-atmospheric-sensor-breakout-bme280-qwiic.html) +This may be easier to interface with a Raspberry Pi Zero or an Arduino R4. + +Micro SD Card Reader Module Memory Storage Mini TF Card Adapter SPI + +Interface Breakout Board for Arduino for Raspberry Pi (https://www.amazon.com/dp/B07MTTLF75) + +HiLetgo 5pcs DS3231 AT24C32 Clock Module Real Time Clock Module IIC RTC Module (https://www.amazon.com/dp/B00LX3V7F0) + +OLED 0.96 Inch I2C IIC Display Module, 128x64 Pixel Serial Display Board(https://www.amazon.com/dp/B0DK3J9543) + +RFID Kit Mifare RC522 RF IC Card Sensor Module MFRC-522 RFID Reader Module + S50 White Card + Key Ring (https://www.amazon.com/dp/B09MQC93W1) + +Relays for higher power loads. + +Stepper motors. diff --git a/ProjectIdeas.md b/ProjectIdeas.md new file mode 100644 index 0000000..9dd51dd --- /dev/null +++ b/ProjectIdeas.md @@ -0,0 +1,49 @@ +# General Project Ideas + +# Possible projects: + +- Add to the capability of the existing labs. For example, +- Add a real time clock (RTC) to any lab and local storage (microSD) +- Use a more accurate sensor (BME680) +- Add an OLED or LCD display +- Use a sensor or display with a Qwiic interface + +## Use an ESP32 +Move an existing lab to a new micro board. For example create a temperature and humidity sensor that updates the dashboard using a different MCU. +The ESP32 is a popular alternative to the Pico W. The ESP32 is the successor to the ESP8266 so any ESP32 or ESP8266 project documents can be adapted to the ESP32. + +There are a number of interesting variants to the base ESP32 platform. For example, + +I may have limited quantities of some of these on hand, but they are available on Amazon. + +ESP32 Development Board Integrated 0.96 Inch OLED Display +https://www.amazon.com/ideaspark-Development-Integrated-Wireless-Micropython/dp/B0CN4F354N/ref=sr_1_8 + +Waveshare ESP32-C6 1.47inch Display Development Board +https://www.amazon.com/Waveshare-Development-Frequency-Single-Core-Processor/dp/B0DHTMYTCY/ref=sr_1_3 + +2.8'' ESP32 Display Resistive Touch Screen with WiFi+BT +https://www.amazon.com/Hosyond-Display-Resistive-ILI9341-240x320/dp/B0D92C9MMH/ref=sr_1_4 + +ideaspark® ESP32 Development Board Integrated 1.14 inch ST7789 135x240 TFT LCD Display,WiFi+BL +https://www.amazon.com/ESP32-1-14-inch-LCD-Solder/dp/B0D7S7YQMC/ref=sr_1_10 + +HiLetgo 0.96" ESP32 OLED ESP32 ESP-32 OLED WiFi Bluetooth Development OLED Display +https://www.amazon.com/HiLetgo-ESP-WROOM-32-Bluetooth-Development-Display/dp/B072HBW53G/ref=sr_1_20 + + +## Other ideas + +### Contest theme: Smart Pet Gadgets with Arduino +https://www.printables.com/contest/468-smart-pet-gadgets-with-arduino + +### Ultrasonic "Radar" +I saw this on an ad in one of my feeds. + +https://www.casetifys.com/products/arduino-ultrasonic-radar-scanning-student-technology-production-diy-creative-toys-handmade-children-programming-science-and-technology + +It is a bit more ambitious than a simple project, but can you mount the ultrasonic scanner on something to use a servo motor to scan a limited area? +The graphing of the display will not be necessary. + +### Article on IOT Projects +https://www.simplilearn.com/internet-of-things-iot-projects-article diff --git a/ProjectTutorialSites.md b/ProjectTutorialSites.md new file mode 100644 index 0000000..7948e73 --- /dev/null +++ b/ProjectTutorialSites.md @@ -0,0 +1,28 @@ +# Sources for Project Ideas + +## Random Nerd Tutorials +60+ Raspberry Pi Projects, Tutorials and Guides +This is a good site with plenty of god examples. + +https://randomnerdtutorials.com/projects-raspberry-pi-pico/ + +## Sparkfun Tutorials Pages +https://learn.sparkfun.com/tutorials + +### Adafruit Tutorials +https://learn.adafruit.com/guides/latest + +### Instructables +https://www.instructables.com/search/?q=pico%20w&projects=featured + +### Hackster.io +https://www.hackster.io/iot/projects + +### Hackaday +https://hackaday.com/ + +### 100+ DIY IoT Projects with Code and Schematics +https://circuitdigest.com/internet-of-things-iot-projects + +### Arduino Gallery of IoT Projects +https://forum.arduino.cc/t/gallery-of-iot-projects-share-yours/1101609 diff --git a/QwiicResouces.md b/QwiicResouces.md new file mode 100644 index 0000000..88c5ae4 --- /dev/null +++ b/QwiicResouces.md @@ -0,0 +1,25 @@ +# Qwiic Guide + +Qwiic is a simple conector and wiring system to connect I2C sensors to a system. +The I2C bus is a short range network for sensors and other devices. Just plug in the sensor to the bus and start using it. + +## Qwiic Overview + +### Sparkfun Qwiic Tutorial +https://www.sparkfun.com/qwiic + +### Qwiic Overview and FAQ +https://forum.digikey.com/t/qwiic-overview-and-faq/44944 + + +## I2C + +### I2C Tutorial at Sparkfun +https://learn.sparkfun.com/tutorials/i2c/all + + +### Qwiic Sensors +https://www.sparkfun.com/catalogsearch/result/?q=qwiic + +We may have some of these in the lab. + diff --git a/README.md b/README.md index febf68d..b37084f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,20 @@ -# 2026ELE128Project +# 2026 ELE128 Project + +Project resources for the 2026SP semester. + +This git repository is a central location for resources and ideas for the ELE-128 Projects. + +### The project should have these characteristics. + +- All parts must be <= $300.00. This target is flexible. +- Must be completed and documented before the end of finals week. +- Must use communications to or from the device. Cloud is best. + +When in doubt review your plans with the instructor. + +### Project Ideas +See the ProjectIdeas.md file. +### Websites With Tutorials and Technical Advice +See the ProjectTutorialSites.md +