BTE1522 DRE2213 – Week 9 Dashboard Design

This week we ventured beyond traditional activities to integrate dashboard development. Building on earlier exercises involving Raspberry Pi for digital making and sensor control (Week 5 – 8), this module introduces students to creating interactive and visually appealing dashboards using Python and Streamlit.

By learning how to design and deploy dashboards, students are able to transform data into actionable insights, fostering creativity and problem-solving skills. This module highlights the potential of dashboards as versatile tools for displaying and interacting with data, especially in STEM-focused projects.

Bridging Digital Making and Dashboards

Earlier modules focused on digital making with Raspberry Pi, where students controlled sensors and engaged in hands-on programming. This practical experience focuses on understanding data collection and manipulation. The next logical step was to showcase this data meaningfully—enter dashboard development.

While third-party platforms like Blynk or Adafruit IO offer straightforward solutions for creating dashboards, their limitations in customization and scalability inspired us to introduce Streamlit. This open-source Python framework allows students to design dashboards with unmatched flexibility and creativity.

Activities in the Dashboard Development Module

  1. Adding Text
    Students learned how to add headings, subheadings, and descriptive text to their dashboards. This simple yet essential step helped them understand how to create user-friendly interfaces.
  2. Data Hunt
    Data is the backbone of any dashboard. Students explored various data sources, including:

    • Local files (e.g., CSVs)
    • URLs and APIs for real-time data
    • Google Sheets for collaborative data storage
      These activities taught students how to retrieve, clean, and prepare data for visualization.
  3. Layout Design
    Through hands-on exercises, students experimented with Streamlit’s layout tools, such as columns, containers, and sidebars. This activity emphasized the importance of designing intuitive dashboards.
  4. Exploring Input Widgets
    Students implemented interactive elements like sliders, checkboxes, and buttons to allow users to customize their experience. They discovered how these widgets make dashboards more dynamic and engaging.
  5. Data Visualization
    Using libraries like Plotly, students transformed raw data into compelling visualizations. From bar charts to interactive maps, they learned to communicate information effectively.
  6. Deployment
    In the final activity, students deployed their dashboards to Streamlit Cloud. This step not only showcased their projects but also reinforced their understanding of deployment pipelines and collaboration tools like GitHub.

Creative Potential with Streamlit

Streamlit’s ability to integrate seamlessly with Python makes it a good platform for fostering creativity. Students are no longer confined to pre-built templates, as they can create dashboards tailored to specific needs, whether it’s monitoring environmental sensors, visualizing IoT data, or developing educational tools.

For instance, a student could design a dashboard that tracks temperature and humidity data collected from Raspberry Pi sensors. The dashboard could display real-time graphs, provide historical comparisons, and even allow users to set alerts—all features that Blynk or Adafruit might limit due to platform constraints.

Expanding Horizons in STEM Education

This dashboard module aligns with the broader goal of empowering students to think critically and creatively in the digital age. By mastering tools like Streamlit, students can transition from passive consumers of technology to active creators, capable of solving real-world problems.

Dashboard development is more than just a technical skill – it’s a gateway to exploring how data shapes decisions in diverse fields, from agriculture to healthcare. Combined with their experience in digital making, students are well-equipped to lead the way in the era of IoT and data-driven solutions.

The integration of Streamlit in our educational modules bridges the gap between data collection and presentation, offering students the tools to develop bespoke dashboards. Unlike third-party platforms, Streamlit encourages limitless creativity, making it the ideal choice for empowering the next generation of innovators.

As you continue to explore these capabilities, take note on the impact of these creations can have—not just in the classroom but also in the communities and beyond. Through dashboard development, you’re not just learning coding; but also learning to turn ideas into impactful realities.

BTE1522 DRE2213 – Week 10 – Project

The Raspberry Pi is a versatile platform for learning, prototyping, and building solutions to real-world problems. These are  20 engaging project titles that you can choose for this semester. 3 students per group per title. Leverage the Raspberry Pi 4 or Raspberry Pi Pico in combination with sensors, LEDs, and camera modules. These projects not only enhance understanding of hardware-software integration but also inspire creativity in IoT, automation, and AI applications.

A. Sensor-Based Projects

  1. Smart Distance Meter
    Use an ultrasonic sensor to measure distances and display the readings on an OLED screen. This project introduces students to proximity sensing and visual data representation.

    • Expected Outcome: Real-time distance measurements displayed on the OLED.
  2. Environmental Monitoring Station
    Monitor temperature, humidity, and pressure using the BME280 sensor, with LED alerts for extreme conditions.

    • Expected Outcome: Environmental data displayed on an OLED with LED alerts for threshold breaches.
  3. Motion Tracker
    Detect motion and orientation using the MPU6050 accelerometer/gyroscope sensor, with LEDs providing visual feedback.

    • Expected Outcome: LEDs blink in response to detected motion or tilts.
  4. GPS Navigation Logger
    Log and display real-time GPS location data on an OLED screen for easy navigation.

    • Expected Outcome: Real-time location displayed on the OLED and saved for later use.
  5. Home Automation Starter
    Detect objects using an ultrasonic sensor and trigger LED alerts, ideal for a basic home automation system.

    • Expected Outcome: LEDs light up when an object is detected within a specific range.

B. Camera-Enhanced Projects

  1. Smart Surveillance System
    Integrate a camera and ultrasonic sensor for motion detection, triggering video recording and LED feedback.

    • Expected Outcome: Video recordings and LED alerts activated by motion or proximity.
  2. Time-Lapse Photography System
    Capture periodic images with a camera module, embed location metadata from a GPS module, and create a time-lapse video.

    • Expected Outcome: A location-aware time-lapse video.
  3. Facial Recognition Attendance System
    Combine facial recognition with an ultrasonic sensor to detect proximity, improving efficiency in logging attendance.

    • Expected Outcome: Faces logged into an attendance system with proximity-triggered scans.
  4. Real-Time Video Streaming System
    Stream live video to a web interface, augmented by GPS integration for location-aware feeds.

    • Expected Outcome: Live video streaming with embedded real-time location updates.
  5. AI Object Detection System
    Leverage AI to identify objects via a camera module, with ultrasonic sensors enhancing accuracy by triggering object detection mode.

    • Expected Outcome: Proximity-triggered AI object detection with visual alerts or logs.

C. IoT and Data Processing Projects

  1. Real-Time Data Logger
    Use multiple sensors to collect data (e.g., GPS, BME280, MPU6050) and log it into a database for analysis.

    • Expected Outcome: Comprehensive environmental and positional data logged into a file.
  2. Interactive Weather Station
    Combine the BME280 sensor with LEDs and an OLED for dynamic weather monitoring.

    • Expected Outcome: Visualized weather data with LED alerts for extreme conditions.
  3. Portable Weather Companion
    Pair a GPS and BME280 with an OLED to create a portable device that displays weather and location data.

    • Expected Outcome: Weather and location data accessible on the go.
  4. Path Mapping Device
    Integrate GPS and ultrasonic sensors to navigate terrain, with LEDs indicating obstacle proximity.

    • Expected Outcome: Real-time GPS display and LED alerts for obstacles.
  5. Fitness Tracker Prototype
    Use the MPU6050 to track motion and display activity data on an OLED screen.

    • Expected Outcome: Activity levels or step counts visualized on the OLED.

Hands-On Learning Outcomes

These projects are crafted with the aim to:

    1. Develop a solid understanding of hardware-software integration.
    2. Enhance programming skills in Python for IoT applications.
    3. Build expertise in data collection, processing, and visualization.
    4. Foster creativity by applying technology to real-world scenarios.

submit you project in KALAM 🙂

 Submission Requirement

  1. Python Code
    1. Submit the Python code with clear comments explaining the project you have made.
  2.  Report
      1. Include a report that consists of
        1. A README file with instructions on how the system works.
        2. An overview of the circuit construction (diagram/block diagram)
        3. Flowcharts or pseudocode to explain your work.
  3. 3-Minute Video
          1. Record a 3-minute video demonstrating your project.
          2. Explain the circuit, functions and how the system work.
          3. Upload the video to YouTube and provide the link.

BTE1522 DRE2213 – Week 9 Rasp Pi – Camera Module and Dashboard Design

Today’s class focused on integrating a camera module with the Raspberry Pi, providing students hands-on experience in capturing images, recording videos, and setting up real-time video streaming. This session was a step forward in understanding how Raspberry Pi can be used for imaging and streaming applications, which is essential for more advanced projects like surveillance systems and AI-based object detection.

BTE1522 DRE2213 – Week 8 Rasp Pi – GPIOs, Sensors, and Data Management

Today’s class introduced students to the versatile capabilities of the Raspberry Pi 4 as a single-board computer (SBC). The activities were structured in two sessions to progressively explore its features, bridging concepts from physical computing to data management.

Session 1: Getting Started with GPIOs and Programming Tools

The session began with an overview of the Raspberry Pi 4, highlighting the differences between an SBC and a microcontroller. While microcontrollers like the Raspberry Pi Pico are designed for running simple, specific tasks, SBCs like the Raspberry Pi 4 function as compact computers capable of multitasking, running a full Linux operating system, and supporting a wide range of applications.

Students set up their Raspberry Pi 4 devices, delving into the Linux-based desktop environment. They explored built-in programming tools such as Thonny IDE and Geany, experimenting with writing and running Python scripts.

Key activities included:

    1. Printing “Hello, World!” to the terminal as a warm-up to Python programming.
    2. Controlling LEDs: Students learned to light up an LED and control its state (on/off) using the GPIO pins.
    3. Keyboard-Controlled LEDs: Building on the basics, students wrote scripts to control an LED’s behavior using their computer keyboards, bridging hardware interaction and software logic.

Session 2: Playing with Sensors and Managing Data

The second session focused on the BME280 sensor, an I2C component capable of measuring temperature, pressure, and humidity. Students connected the sensor to the Raspberry Pi, read data from it, and explored ways to handle this information.

The main objectives included:

    1. Understanding how to communicate with I2C devices using Python libraries.
    2. Writing sensor data to a simple text file (.txt) as a database. This exercise demonstrated basic data logging, an essential concept in IoT and data-driven projects.

Crafting the Learning Journey

This week’s exercises were designed to expose students to the diverse features of the Raspberry Pi 4, an exposure in both hardware and software aspects. By the end of the session, students gained hands-on experience in programming, sensor integration, and data management.

Next week, students will build on these concepts by designing a real-time dashboard using Python, incorporating the skills acquired in today’s class to visualize and interact with data. Stay tuned as we continue our journey into the world of Raspberry Pi and digital making!

 

BTE1522 DRE2213 – Week 6 Pi Pico – Digital Input Output

 

Today’s Raspberry Pi class focused on hands-on exercises using the UMPSA STEM Cube, a picosatellite powered by a Raspberry Pi Pico. Students completed Activities 1, 2, and 3, where they explored digital output and input by turning LEDs on and off, blinking them, and reading inputs from switches and sliders.

The objective of these activities is to transition students from learning Python in a simulated environment, where they developed a slider game, to implementing Python in physical computing. Through the exercises, students practiced applying delay functions, making circuit connections, and importing MicroPython libraries into the Thonny IDE. The UMPSA STEM Cube serves as an introductory picosatellite equipped with basic sensors, providing a practical platform for students to apply their knowledge in physical computing.

 

DRE2213

BTE1522

BTE1522 DRE2213 – Week 6 Assignment Progress

Well done everyone for your progress in completing your Assignment.

Assignment Gallery Walk on Slider Game Modifications

In today’s class, each group took part in a gallery walk where you showcased your progress on the assignment of modifying the slider game. This interactive session allowed each group to present their unique game modifications and learn from their classmates. Every group, composed of three students, was assigned a unique title that guided specific aspects of their game’s development.

Python Concepts Covered

Through this assignment, you have applied several Python programming concepts, including:

  • Control Statements
    • Utilizing if, for, and while statements to create game dynamics and interactions.
  • Data Handling
    • Managing and updating game data, such as player scores and item positions, in real-time.
  • Data Types
    • Leveraging various data types like integers for scores, lists for storing object positions, and strings for in-game messages.
  • Functions and Modularity
    • Structuring code into functions for better organization and reusability.
  • Error Handling
    • Implementing try and except blocks to manage unexpected inputs or errors gracefully.

Kudos to everyone for their hard work and creativity!

Please submit your assignment report in KALAM. Upload the following:-

  1. Python codes
  2. Youtube links
  3. Assignment reports

 

DRE2213

ARIF FAHMI RE23320 HAZIQ RE23120 AIMAN RE23163
Danieal RE23281 Mahi RE23174 Izdihar RE23392
Izzat RE23157 Aizad RE23147 Lutfy RE23161

RAJA RE23313, SKANTHANESSH RE23028, ARIFF DANIEL RE22197

RE23297 Choo RE23057 Fong RE23294 Zunaizah

BTE1522

BTE1522 DRE2213 – Week 5 Global Classroom

In the latest session of the Global Classroom Initiative for DRE2213 Programming and Data Structure and BTE1522 Innovation (Python Programming) students were privileged to attend a talk by Prof. Ansgar Meroth from Helbron University. Prof. Ansgar delivered a comprehensive overview of IoT networks, particularly as applied to agriculture. This talk aligned perfectly with our BTE1522 and DRE2213 course’s focus, as students in the DRE course gain hands-on experience in Python programming, Raspberry Pi programming, and embedded systems.

Prof. Ansgar’s lecture began with the foundational elements of IoT, including sensors, network architecture, and the various considerations in building robust IoT solutions. Moving deeper, he shared insights on the types of sensors used, architecture design choices, and a project demonstration from his own classes. The talk’s focus on agricultural IoT applications illustrated the immense potential of these technologies to transform farming through precision monitoring and automation.

Key Points Covered in the Session

  1. Overview of IoT Systems
    • Prof. Ansgar began with an introduction to IoT, discussing its growth and role in various sectors, especially in agriculture.
  2. Sensors and Embedded Systems
    • He highlighted the importance of selecting appropriate sensors and embedded devices, considering factors like power consumption, accuracy, and environmental durability.
  3. Network Architecture
    • Prof. Ansgar explained the architecture of IoT networks, emphasizing the role of gateways, cloud systems, and edge devices in enabling data processing and analysis closer to the source.
  4. Class Project Showcase
    • Prof. Ansgar concluded with a detailed example of an agricultural IoT project from his own students, demonstrating the integration of real-time monitoring and data analysis to optimize resource use in farming.

Q&A Session with Prof. Ansgar

The session concluded with an engaging Q&A, where Prof. A addressed various thoughtful questions from students, demonstrating his deep expertise and providing practical guidance. Here are some of the key questions asked and the responses-

1. What are the critical components in developing a reliable and quality IoT solution?

There is a critical need for high-quality sensors, a robust network architecture, and efficient data handling techniques. Reliability can often hinge on the durability of sensors in harsh environments, as well as on efficient protocols for data transmission.

2. What are the considerations for choosing the right sensor in IoT solutions if cost isn’t an issue?

Prioritizing sensor accuracy, durability, and compatibility with other IoT components are recommended. Environmental factors, such as weather and soil conditions, also play a role in sensor selection for agricultural applications.

3. How can we optimize performance in IoT systems with limited power on Raspberry Pi?

Sleep modes and power-efficient protocols, such as MQTT, which is designed for minimal data transfer could be considered. Edge processing can also reduce energy usage by minimizing the amount of data sent to the cloud.

4. How do you ensure reliable data transmission and handling in IoT systems that operate on edge devices?

Using reliable networking protocols and setting up redundant systems to handle transmission errors is a good option, especially in remote areas where network stability may be an issue.

Additional Questions from the Class

1. What is the difference between IoT and IIoT?

While IoT focuses on general applications (e.g., smart homes, agriculture), Industrial IoT (IIoT) emphasizes industrial and manufacturing applications, where the systems must adhere to stringent standards for reliability and security.

2. In hazardous environments, what role does IoT play in monitoring and managing assets safely, and how reliable are these systems?

IoT can monitor environmental conditions and equipment status in real-time, alerting managers to unsafe conditions instantly. With proper system design, these systems can achieve high reliability.

3. What are the potential environmental benefits of using IoT for precision farming?

IoT enables precision resource management, reducing waste and minimizing environmental impact by providing data-driven insights into irrigation, fertilizer use, and crop health.

4. How can data security and privacy be ensured in an IIoT network?

Security is critical in IIoT, where implementing encryption, secure authentication protocols, and regular system audits could be implemented to mitigate risks.

5. How can organizations ensure a successful IIoT implementation without facing cybersecurity risks?

A layered security approach, including firewalls, intrusion detection systems, and ongoing employee training to protect against cybersecurity threats.

6. Are there devices beyond sensors or GPS that can accomplish tasks within IoT or IIoT?

Actuators and drones as examples of devices that can not only sense but also act on data, allowing IoT systems to respond autonomously to changing conditions.

7. What about the durability of sensors used in IoT farming systems? Are they different in quality or sensitivity compared to similar sensors in everyday devices?

In agricultural IoT, sensors are often designed to be more rugged, with higher sensitivity and protective casings to withstand outdoor environments. These are tailored for extended use in tough conditions, unlike everyday consumer electronics.

 

It was both an honor and an incredible experience to host Prof. Ansgar from Helbron University. His insights into the intersection of IoT, embedded systems, and agriculture were inspiring, providing our students with a glimpse into the future of technology-driven farming. Listening to fellow educators motivates me to creating opportunities for global collaboration and learning. As someone who believes deeply in breaking down barriers in education, I look forward to inviting more professors from around the world.

Engaging with international experts not only enriches our knowledge but also motivates us to strive for higher standards in our projects and activities.

Kudos to the students who actively engaged with Prof. Ansgar and asked thoughtful questions during the session. Their curiosity and commitment to learning demonstrated the high standards they are reaching for, making this session even more impactful.

Thank you, Prof. Ansgar, for sharing your expertise and inspiring us to innovate!

BTE1522 DRE2213 – Week 5 Assignments

This week, students from the BTE 1522 and DRE 2213 courses are given assignment that are designed to develop their programming skills in Python. Each group of three students is tasked with choosing one of the 20 game modification options available and implementing it as a team project. This assignment is all about creativity, problem-solving, and teamwork as students work to modify an existing Python game and showcase their programming concepts.

In this assignment, each group will:

  1. Select a Game Modification
    1. Out of 20 different modification options, each group chooses one that they’ll use to enhance a basic game written in Python.
    2. Modifications can range from adding new features, changing game mechanics, enhancing visuals, to incorporating user-friendly elements.
  2. Implement the Code Changes
    1. Using Python, students will modify the codebase to create the enhancement they selected. As they work through these changes, they’ll encounter new programming concepts, which they can build upon for future projects.
    2. This assignment offers students a chance to solidify their coding skills while adding their creative touch.
  3. Submit the Project Components

Each group will submit:

    1. The modified Python code, clearly commented to explain the changes made.
    2. A written report detailing the modifications, gameplay instructions, and the coding process.
    3. A 3-minute video demonstrating the game, explaining the code changes, and showcasing the impact of the modifications.

Reporting

To complete this assignment, please:

  1. Review the Game’s Base Code
    1. Understand the game’s original code before making any changes.
    2. Each student in the group should be familiar with how the code works to effectively contribute to the modification.
  2. Plan the Modification
    1. After selecting a modification, map out the changes needed.
    2. This could include adding new variables, adjusting functions, or integrating additional modules. Using flowcharts or pseudocode can be especially helpful to visualize how the new feature will work within the existing game structure.
  3. Divide and Conquer
    1. With three members in each group, teamwork will be key!
    2. Students should divide tasks based on each member’s strengths and collaborate to implement the modification efficiently.
  4. Test the Changes
    1. Test the game thoroughly to ensure that the new feature or modification works as intended and doesn’t disrupt existing functionality.
    2. Debugging is an important skill in programming, so encountering and fixing errors will be a valuable part of this process.

Upload these in KALAM (https://kalam.ump.edu.my/)

Showcase and Reflect

As part of the final submission, you are encouraged to be creative with their 3-minute video, which should highlight –

  1. Gameplay
    • Show the modification in action and explain how it enhances the game.
  2. Code Explanation
    • Walk viewers through the code changes made, highlighting key additions and adjustments.
  3. Reflection
    • Share insights into the challenges and learning experiences encountered during the project.

Good luck to all the groups, and I look forward to seeing your creativity come to life in your games!