<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>data visualization | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/data-visualization/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/data-visualization/index.xml" rel="self" type="application/rss+xml"/><description>data visualization</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Fri, 30 Jan 2026 00:00:00 +0000</lastBuildDate><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/media/logo_hub6795c39d7c5d58c9535d13299c9651f_74810_300x300_fit_lanczos_3.png</url><title>data visualization</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/data-visualization/</link></image><item><title>Environmental NeTworked Sensor (ENTS)</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucsc/ents/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucsc/ents/</guid><description>&lt;h3 id="ents-i-usability-improvements-for-visualization-dashboard">ENTS I: Usability improvements for visualization dashboard&lt;/h3>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Data Visualization Dashboard" srcset="
/project/osre26/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_2d797937cbe25a879de96b44cb5c65b3.webp 400w,
/project/osre26/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_baae6484e015277af7b09e866b6869f5.webp 760w,
/project/osre26/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_2d797937cbe25a879de96b44cb5c65b3.webp"
width="760"
height="759"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Data Visualization, Backend, Frontend, UI/UX, Analytics&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong>
&lt;ul>
&lt;li>&lt;em>Required:&lt;/em> React, Javascript, Python, SQL, Git&lt;/li>
&lt;li>&lt;em>Nice to have:&lt;/em> Flask, Docker, CI/CD, AWS, Authentication&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/colleen-josephson/">Colleen Josephson&lt;/a>, &lt;a href="mailto:alevy1@ucsc.edu">Alec Levy&lt;/a>, &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Environmental NeTworked Sensor (ENTS) platform, formally Open Sensing Platform (OSP), implements data visualization website for monitoring microbial fuel cell sensors (see &lt;a href="https://github.com/jlab-sensing/ENTS-backend" target="_blank" rel="noopener">GitHub&lt;/a>). The mission is to scale up the current platform to support other researchers or citizen scientists in integrating their novel sensing hardware or microbial fuel cell sensors for monitoring and data analysis. Examples of the types of sensors currently deployed are sensors measuring soil moisture, temperature, current, and voltage in outdoor settings. The focus of the software half of the project involves building upon our existing visualization web platform, and adding additional features to support the mission. A live version of the website is available &lt;a href="https://dirtviz.jlab.ucsc.edu/" target="_blank" rel="noopener">here&lt;/a>.&lt;/p>
&lt;p>Below is a list of project ideas that would be beneficial to the ENTS project. You are not limited to the following projects, and encourage new ideas that enhance the platform:&lt;/p>
&lt;ul>
&lt;li>Drag and drop charts functionality&lt;/li>
&lt;li>Creation of unique charts by users (with unique equations)&lt;/li>
&lt;li>Customizable options of charts (color, line width, datapoint/line style, axis labels)&lt;/li>
&lt;li>Exportable charts (with customizable options)&lt;/li>
&lt;li>Saving layouts via url&lt;/li>
&lt;/ul>
&lt;h3 id="ents-ii-migration-to-tockos">ENTS II: Migration to TockOS&lt;/h3>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ENTS in the wild" srcset="
/project/osre26/ucsc/ents/flower_bed_hua65f08ca6bedf0f2d60c653056e1b3a7_800588_c34f23edec4789d86dcf04482fa38282.webp 400w,
/project/osre26/ucsc/ents/flower_bed_hua65f08ca6bedf0f2d60c653056e1b3a7_800588_8a4ed9b7cf50d0c7493779c714094459.webp 760w,
/project/osre26/ucsc/ents/flower_bed_hua65f08ca6bedf0f2d60c653056e1b3a7_800588_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucsc/ents/flower_bed_hua65f08ca6bedf0f2d60c653056e1b3a7_800588_c34f23edec4789d86dcf04482fa38282.webp"
width="760"
height="369"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Embedded system, operating system&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong>
&lt;ul>
&lt;li>&lt;em>Required:&lt;/em> Rust, C/C++, Git, Github&lt;/li>
&lt;li>&lt;em>Nice to have:&lt;/em> STM32 HAL, python&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Hard&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/colleen-josephson/">Colleen Josephson&lt;/a>, &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The current version of the hardware firmware is implemented in baremetal
through the use of STM hardware abstraction layer (HAL) drivers. We are
interested in porting the firmware implementation to an operating system (OS)
to allow for additional functionality to support environmental data logging.
&lt;a href="https://tockos.org/" target="_blank" rel="noopener">TockOS&lt;/a> is an embedded operating system designed for
running multiple concurrent, mutually distrustful applications on low-memory
and low-power microcontrollers that will be used. TockOS allows for OTA
updates, dynamic app loading, hardware multiplexing, and more. We envision
multiple users utilizing shared ENTS hardware that provides communication and
measurement capabilities. Thus, the initial cost of deploying wireless sensor
networks is reduced.&lt;/p>
&lt;p>The TockOS kernel is written in &lt;a href="https://rust-lang.org/" target="_blank" rel="noopener">Rust&lt;/a> to enhance
security. Userspace apps can be written in either C, C++, or Rust. Development
will be done through a remote development server to access the hardware. See
the following repos for the current status of the project:&lt;/p>
&lt;ul>
&lt;li>Userspace library: &lt;a href="https://github.com/jlab-sensing/libtock-c" target="_blank" rel="noopener">libtock-c&lt;/a>&lt;/li>
&lt;li>Kernel: &lt;a href="https://github.com/jlab-sensing/tock" target="_blank" rel="noopener">tock&lt;/a>&lt;/li>
&lt;li>Baremetal: &lt;a href="https://github.com/jlab-sensing/ENTS-node-firmware" target="_blank" rel="noopener">ENTS-node-firmware&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Scope of work:&lt;/p>
&lt;ul>
&lt;li>Writing kernel peripheral drivers.
&lt;ul>
&lt;li>Done entirely in Rust.&lt;/li>
&lt;li>Low-level understanding of microcontroller&lt;/li>
&lt;li>Basic kernel functionality knowledge.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Porting baremetal components to userland apps.
&lt;ul>
&lt;li>Involves porting STM HAL calls to TockOS syscalls.&lt;/li>
&lt;li>Primarily done in C.&lt;/li>
&lt;li>Understanding of syscalls.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>Midway Through GSoC: ENTS</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/ents/24-07-2025-devansh/</link><pubDate>Thu, 24 Jul 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/ents/24-07-2025-devansh/</guid><description>&lt;h1 id="midway-through-gsoc">Midway Through GSoC&lt;/h1>
&lt;p>Hi everyone! I’m &lt;strong>Devansh Kukreja&lt;/strong>, and I’m excited to share a midterm update on my &lt;a href="https://summerofcode.withgoogle.com/programs/2025/projects/OPlG0KHV" target="_blank" rel="noopener">Google Summer of Code 2025 project&lt;/a> with the &lt;strong>University of California, Santa Cruz Open Source Program Office (UC OSPO)&lt;/strong> under the &lt;strong>Open Source Research Experience (OSRE)&lt;/strong>. I&amp;rsquo;m contributing to &lt;a href="https://github.com/jlab-sensing/ENTS-backend" target="_blank" rel="noopener">&lt;strong>ENTS&lt;/strong>&lt;/a>, a platform that supports real-time monitoring and visualization of environmental sensor networks.&lt;/p>
&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>The &lt;strong>Environmental NeTworked Sensor (ENTS)&lt;/strong> platform is an open-source web portal designed to collect, visualize, and analyze data from distributed sensor networks. It’s used by researchers and citizen scientists to monitor field-deployed sensors measuring soil moisture, temperature, voltage, and current—supporting critical research on sustainability and environmental change.&lt;/p>
&lt;p>My project focuses on improving the platform’s &lt;strong>stability, usability, and extensibility&lt;/strong> through:&lt;/p>
&lt;ul>
&lt;li>Fixing bugs in the data visualization components.&lt;/li>
&lt;li>Enhancing real-time chart synchronization and data point selection.&lt;/li>
&lt;li>Improving overall system error handling and reliability.&lt;/li>
&lt;li>Building a &lt;strong>Logger Registration System&lt;/strong> that enables users to register and configure their logging devices.&lt;/li>
&lt;li>Exploring integration with &lt;strong>The Things Network (TTN)&lt;/strong> to support LoRaWAN-based wireless sensor connectivity.&lt;/li>
&lt;/ul>
&lt;h2 id="progress-so-far">Progress So Far&lt;/h2>
&lt;p>During the first half of the GSoC period, I focused on laying the groundwork for a more robust and user-friendly system. Highlights include:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Enhanced date range logic:&lt;/strong> Improved the way the dashboard selects time periods by automatically choosing a recent two-week window with valid sensor data. This ensures charts always display meaningful insights and avoids showing blank states.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Improved chart rendering:&lt;/strong> Refined how charts behave when there&amp;rsquo;s no data or when unusual values (like negatives) are present. This includes smoother axis alignment and fallback messaging when data is unavailable.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Refactored cell management UI:&lt;/strong> Cleaned up and improved the modals used to manage cells and sensors, fixing several UI/UX issues and bugs to make interactions more intuitive and consistent.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Enabled smart URL syncing:&lt;/strong> The dashboard state now stays in sync with the URL, making it easier to share specific views or navigate back to previous states without losing context.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="whats-next">What&amp;rsquo;s Next&lt;/h2>
&lt;p>In the second half of the program, I’ll be focusing on:&lt;/p>
&lt;ul>
&lt;li>Building out and polishing the &lt;strong>Logger Registration UI&lt;/strong> based on the backend schema and wireframes.&lt;/li>
&lt;li>Finalizing the onboarding flow for field loggers, linking registration data to ingestion and dashboard views.&lt;/li>
&lt;li>Continuing work on LoRaWAN support with &lt;strong>TTN&lt;/strong>, aiming to enable basic OTA provisioning for future deployments.&lt;/li>
&lt;li>Exploring an admin dashboard that helps visualize device health, sync status, and alert on any anomalies.&lt;/li>
&lt;/ul>
&lt;h2 id="final-thoughts">Final Thoughts&lt;/h2>
&lt;p>Working on ENTS has been incredibly rewarding—it’s more than just code. It’s about making tools that help scientists and conservationists understand our changing environment, and I’m honored to be a part of that.&lt;/p>
&lt;p>Big thanks to my mentors &lt;strong>Colleen Josephson&lt;/strong>, &lt;strong>John Madden&lt;/strong>, and &lt;strong>Alec Levy&lt;/strong> for their support and thoughtful feedback throughout. I’ve learned a ton already, and I can’t wait to keep building.&lt;/p></description></item><item><title>Scaling Sensor Networks for Environmental Research</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/ents/15-06-2025-devansh/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/ents/15-06-2025-devansh/</guid><description>&lt;p>Hi! I’m &lt;strong>Devansh Kukreja&lt;/strong>, a researcher, indie developer, and Computer Science undergrad. I&amp;rsquo;m interested in distributed systems, orchestration services, and real-time data platforms. I enjoy working on systems that help different components connect and run smoothly at scale.&lt;/p>
&lt;p>This summer, I’m contributing to the &lt;a href="https://github.com/jlab-sensing/ENTS-backend" target="_blank" rel="noopener">&lt;strong>ENTS&lt;/strong>&lt;/a> (Environmental NeTworked Sensor) platform with the &lt;strong>University of California, Santa Cruz Open Source Program Office&lt;/strong> as part of &lt;strong>Google Summer of Code 2025&lt;/strong>.&lt;/p>
&lt;p>&lt;strong>ENTS&lt;/strong> is an open-source web portal designed to collect, visualize, and analyze data from large-scale environmental sensor networks. It helps researchers and citizen scientists monitor sensors like soil moisture, temperature, current, and voltage supporting real-time environmental research in outdoor settings.&lt;/p>
&lt;p>My work this summer focuses on improving the platform’s reliability and usability. I’ll be fixing visualization bugs, enhancing chart synchronization, making data point selection more intuitive, and improving error handling. Alongside that, I’m building a &lt;strong>Logger Registration System&lt;/strong> that lets users easily add and configure their data loggers, with potential support for over-the-air provisioning via &lt;strong>The Things Network (TTN)&lt;/strong> for LoRaWAN-based devices.&lt;/p>
&lt;p>You can check out my full &lt;a href="https://drive.google.com/file/d/1CA1ZCTmh0NY0Yu3-ohsmJ3xgSm3ON7by/view?usp=sharing" target="_blank" rel="noopener">proposal here&lt;/a>. I’m grateful to be mentored by &lt;strong>Colleen Josephson&lt;/strong>, &lt;strong>John Madden&lt;/strong>, and &lt;strong>Alec Levy&lt;/strong>, who are guiding the project with incredible insight and support.&lt;/p>
&lt;p>By the end of the summer, ENTS will be a more stable, user-friendly, and extensible platform—better equipped to support environmental research at scale. I&amp;rsquo;m super excited to learn, build, and contribute to something meaningful!&lt;/p></description></item><item><title>Environmental NeTworked Sensor (ENTS)</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucsc/ents/</link><pubDate>Fri, 31 Jan 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucsc/ents/</guid><description>&lt;h3 id="ents-i-web-portal-for-large-scale-sensor-networks">ENTS I: Web portal for large-scale sensor networks&lt;/h3>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Data Visualization Dashboard" srcset="
/project/osre25/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_2d797937cbe25a879de96b44cb5c65b3.webp 400w,
/project/osre25/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_baae6484e015277af7b09e866b6869f5.webp 760w,
/project/osre25/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucsc/ents/osp1_huda3c1d46887767e16b865c47973b8288_360491_2d797937cbe25a879de96b44cb5c65b3.webp"
width="760"
height="759"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Data Visualization, Backend, Frontend, UI/UX, Analytics&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong>
&lt;ul>
&lt;li>&lt;em>Required:&lt;/em> React, Javascript, Python, SQL, Git&lt;/li>
&lt;li>&lt;em>Nice to have:&lt;/em> Flask, Docker, CI/CD, AWS, Authentication&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/colleen-josephson/">Colleen Josephson&lt;/a>, &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a>, &lt;a href="mailto:alevy1@ucsc.edu">Alec Levy&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Environmental NeTworked Sensor (ENTS) platform, formally Open Sensing Platform (OSP), implements data visualization website for monitoring microbial fuel cell sensors (see &lt;a href="https://github.com/jlab-sensing/DirtViz" target="_blank" rel="noopener">GitHub&lt;/a>). The mission is to scale up the current platform to support other researchers or citizen scientists in integrating their novel sensing hardware or microbial fuel cell sensors for monitoring and data analysis. Examples of the types of sensors currently deployed are sensors measuring soil moisture, temperature, current, and voltage in outdoor settings. The focus of the software half of the project involves building upon our existing visualization web platform, and adding additional features to support the mission. A live version of the website is available &lt;a href="https://dirtviz.jlab.ucsc.edu/" target="_blank" rel="noopener">here&lt;/a>.&lt;/p>
&lt;p>Below is a list of project ideas that would be beneficial to the ENTS project. You are not limited to the following projects, and encourage new ideas that enhance the platform:&lt;/p>
&lt;ul>
&lt;li>Improve streaming functionality&lt;/li>
&lt;li>Generic interface for sensor measurements&lt;/li>
&lt;li>Logger registration&lt;/li>
&lt;li>Over the air (OTA) configuration updates&lt;/li>
&lt;li>Implement unit tests and API documentation&lt;/li>
&lt;/ul>
&lt;h3 id="ents-ii-hardware-to-for-large-scale-field-sensor-networks">ENTS II: Hardware to for large-scale field sensor networks&lt;/h3>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Hardware" srcset="
/project/osre25/ucsc/ents/featured_huecd1356655ddd10d106d2d602a359510_6281233_b1317e5e84a756a1081cbeec0e17af86.webp 400w,
/project/osre25/ucsc/ents/featured_huecd1356655ddd10d106d2d602a359510_6281233_2fc59e21c5096f7f08aea36f5769242e.webp 760w,
/project/osre25/ucsc/ents/featured_huecd1356655ddd10d106d2d602a359510_6281233_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucsc/ents/featured_huecd1356655ddd10d106d2d602a359510_6281233_b1317e5e84a756a1081cbeec0e17af86.webp"
width="760"
height="460"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Embedded system, wireless communication, low-power remote sensing&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong>
&lt;ul>
&lt;li>&lt;em>Required:&lt;/em> C/C++, Git, Github, PlatformIO&lt;/li>
&lt;li>&lt;em>Nice to have:&lt;/em> STM32 HAL, ESP32 Arduino, protobuf, python, knowledge of standard communication protocols (I2C, SPI, and UART)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Hard&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/colleen-josephson/">Colleen Josephson&lt;/a>, &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a>, &lt;a href="mailto:jlin143@ucsc.edu">Jack Lin&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Environmental NeTworked Sensor (ENTS) node aims to be a general purpose hardware platform for outdoor sensing (e.g. agriculture, ecological monitoring, etc.). The typical use case involves a sensor deployment in an agricultural field, remotely uploading measurements without interfering with farming operations. The current hardware revision (&lt;a href="https://github.com/jlab-sensing/soil_power_sensor" target="_blank" rel="noopener">Soil Power Sensor&lt;/a> was originally designed for monitoring power output of microbial fuel cells using high fidelity voltage and current measurement channels, as well as auxiliary sensors such as the SDI-12 &lt;a href="https://metergroup.com/products/teros-21/" target="_blank" rel="noopener">TEROS-21 soil moisture sensor&lt;/a>. The primary activities of this project will involve low-level firmware design and implementation, but may also incorporate hardware design revisions if necessary. We are looking to expand functionality to other external sensors, as well as optimize for power consumption, via significant firmware design activities.&lt;/p>
&lt;p>Long-range, low-power wireless communication is achieved through a LoRa capable STM32 microcontroller with in-lab experiments using an ESP32 microcontroller to enable the simpler WiFi interface. Both wireless interfaces communicate upload measurements to our data visualization dashboard, &lt;strong>ENTS I&lt;/strong>. The combined goal across both of these projects is to create a system that enables researchers to test and evaluate novel sensing solutions. We are looking to make the device usable to a wide range of researchers which may not have a background in electronics, so are interested in design activities that enhance user friendliness.&lt;/p>
&lt;p>In total there will be 2-4 people working on the hardware with progress being tracked on GitHub. Broader project planning is tracked through a Jira board. We intend to have weekly meetings to provide updates on current issue progress along with assigning tasks. Please reach out to &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a> if there are any questions or specific ideas for the project.&lt;/p>
&lt;p>Below is a list of project ideas that would be beneficial to the ENTS project. You are not limited to the following projects, and encourage new ideas that enhance the platform:&lt;/p>
&lt;ul>
&lt;li>Backup logging via SD card&lt;/li>
&lt;li>I2C multiplexing for multiple of the same sensors&lt;/li>
&lt;li>Batch sensor measurement uploading&lt;/li>
&lt;/ul></description></item><item><title>Static and Interactive Visualization Capture</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20250301-aryas/</link><pubDate>Fri, 30 Aug 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20250301-aryas/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>Hello! My name is &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/arya-sarkar/">Arya Sarkar&lt;/a> a machine learning engineer and researcher based out of Kolkata, a city in Eastern India dubbed the City of Joy.
During summer of 2024, I worked closely with Professor &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/david-koop/">David Koop&lt;/a> on the project titled &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/niu/repro-vis/">Reproducibility in Data Visualization&lt;/a>.
We explored multiple existing solutions and tested different stratergies and made great progress in the capture of visualiations using a relatively less used method of embedding visualization meta-information into the final resultant visualizations jpg as a json object.&lt;/p>
&lt;h2 id="progress-and-challenges">Progress and Challenges&lt;/h2>
&lt;p>Static Visualization Capture&lt;/p>
&lt;p>We successfully developed a method to capture static visualizations as .png files along with embedded metadata in a JSON format.
This approach enables seamless reproducibility of the visualization by storing all necessary metadata within the image file itself.
Our method supports both Matplotlib and Bokeh libraries and demonstrated near-perfect reproducibility, with only a minimal 1-2% pixel difference in cases where jitter (randomness) was involved.&lt;/p>
&lt;p>Interactive Visualization Capture&lt;/p>
&lt;p>For interactive visualizations, our focus shifted to capturing state changes in Plotly visualizations on the web.
We developed a script that tracks user interactions (e.g., zoom, box, lasso, slider) using event listeners and automatically captures the visualization state as both image and metadata files.
This script also maintains a history of interactions to ensure reproducibility of all interaction states.&lt;/p>
&lt;p>The challenge of capturing web-based visualizations from platforms like ObservableHq remains, as iframe restrictions prevent direct access to SVG elements.
Further exploration is needed to create a more robust capture method for these environments.&lt;/p>
&lt;p align="center">
&lt;img src="./bokeh_interactive.png" alt="bokeh interactive capture" style="width: 80%; height: auto;">
&lt;/p>
&lt;h1 id="future-work">Future Work&lt;/h1>
&lt;p>We aim to package our interactive capture script into a Google Chrome extension.&lt;/p>
&lt;p>Temporarily store interaction session files in the browser’s local storage.&lt;/p>
&lt;p>Enable users to download captured files as a zip archive, using base64 encoding for images.&lt;/p>
&lt;h1 id="conclusion">Conclusion&lt;/h1>
&lt;p>The last summer, we made significant strides in enhancing data visualization reproducibility.
Our innovative approach to embedding metadata directly into visualization files offers a streamlined method for recreating static visualizations.
The progress in capturing interactive visualization states opens new possibilities for tackling a long-standing challenge in the field of reproducibility.&lt;/p></description></item><item><title> Reproducibility in Data Visualization</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20240718-aryas/</link><pubDate>Thu, 18 Jul 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20240718-aryas/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>Hello! My name is &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/arya-sarkar/">Arya Sarkar&lt;/a> a machine learning engineer and researcher based out of Kolkata, a city in Eastern India dubbed the City of Joy.
For the last month and a half I have been working closely with Professor &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/david-koop/">David Koop&lt;/a> on the project titled &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/niu/repro-vis/">Reproducibility in Data Visualization&lt;/a>. I’m thrilled to be able to make my own little mark on this amazing project and aid in exploring solutions to capture visualizations in hopes of making reproducibility easier in this domain.&lt;/p>
&lt;h2 id="progress-and-challenges">Progress and Challenges&lt;/h2>
&lt;p>The last month and a half have mostly been spent trying to explore best possible solutions to facilitate the reproducibility of STATIC visualizations from local sources and/or the web.
We have taken inspiration from existing work in the domain and successfully captured meta-information required to ensure reproducibility in the regenerated visualizations from the said metadata. The metadata extracted is saved into the generated .png figure of the visualization therefore allowing reproducibility as long as you have (a) The original dataset (b) The generated .png of the visualization. Every other information is stored inside the .png file as a json object and can be used to regenerate the original image with a very high accuracy.&lt;/p>
&lt;p>The problem however remains with visualizations where randomness such as jitter is involved. Capturing the randomness has not been 100% successful as of now, and we are looking into options to ensure the capture of certain plots that contains randomness.&lt;/p>
&lt;p>The following images can be used to highlight some results from our reproducibility experiments:
Original Histogram using Matplotlib on the iris dataset:
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="original_figure4" srcset="
/report/osre24/niu/repro-vis/20240718-aryas/original_histogram_hua04132746cb0ed26b86c32673b823c8f_29642_4d5ccda2a3e4409f5fb5bfccad4abae9.webp 400w,
/report/osre24/niu/repro-vis/20240718-aryas/original_histogram_hua04132746cb0ed26b86c32673b823c8f_29642_3d4477374e3469fd72bbb32675129816.webp 760w,
/report/osre24/niu/repro-vis/20240718-aryas/original_histogram_hua04132746cb0ed26b86c32673b823c8f_29642_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20240718-aryas/original_histogram_hua04132746cb0ed26b86c32673b823c8f_29642_4d5ccda2a3e4409f5fb5bfccad4abae9.webp"
width="760"
height="468"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
Reproduced Histogram using metainformation from the original:
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="reproduced_figure4" srcset="
/report/osre24/niu/repro-vis/20240718-aryas/Reproduced_histogram_hub205e2d6c877abb784c35befc8616823_26597_9ca3975509f66dbedf2746a253660ec4.webp 400w,
/report/osre24/niu/repro-vis/20240718-aryas/Reproduced_histogram_hub205e2d6c877abb784c35befc8616823_26597_ca77d573979d523935009285864d087b.webp 760w,
/report/osre24/niu/repro-vis/20240718-aryas/Reproduced_histogram_hub205e2d6c877abb784c35befc8616823_26597_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20240718-aryas/Reproduced_histogram_hub205e2d6c877abb784c35befc8616823_26597_9ca3975509f66dbedf2746a253660ec4.webp"
width="760"
height="490"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="the-next-steps">The next steps&lt;/h2>
&lt;p>We have already started looking into solutions and ways to capture visualizations from the web i.e. from platforms such as ObservableHq and use these experiments to transition into capturing interactive visualizations from the web.&lt;/p>
&lt;p>Capturing user interactions and all states in an interactive visualization can prove to be very useful as it is a very known pain-point in the reproducibility community and has been a challenge that needs to be solved. My next steps involve working on finding a solution to capture these interactive visualizations especially those living on the web and ensuring their reproducibility.&lt;/p></description></item><item><title> Reproducibility in Data Visualization</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20240614-aryas/</link><pubDate>Fri, 14 Jun 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/niu/repro-vis/20240614-aryas/</guid><description>&lt;p>Hello! My name is &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/arya-sarkar/">Arya Sarkar&lt;/a> and I will be contributing to the research project titled &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/niu/repro-vis/">Reproducibility in Data Visualization&lt;/a>, with a focus on investigating and coming up with novel solutions to capture both static and dynamic visualizations from different sources. My project is titled Investigate Solutions for Capturing Visualizations and I am mentored by Prof. &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/david-koop/">David Koop&lt;/a>.&lt;/p>
&lt;p>Open-source has always piqued my interest, but often I found it hard to get started in as a junior in university. I spent a lot of time working with data visualizations but had never dived into the problem of reproducibility before diving into this project. When I saw a plethora of unique and interesting projects during the contribution phase of OSRE-2024, I was confused at the beginning. However, the more I dived into this project and understood the significance of research in this domain to ensure reproducibility, the more did I find myself getting drawn towards it. I am glad to be presented this amazing opportunity to work in the Open-source space as a researcher in reproducibility.&lt;/p>
&lt;p>This project aims to investigate, augment, and/or develop solutions to capture visualizations that appear in formats including websites and Jupyter notebooks. We have a special interest on capturing the state of interactive visualizations and preserving the user interactions required to reach a certain visualization in an interactive environment to ensure reproducibility.&lt;a href="https://drive.google.com/file/d/1SGLd37zBjnAU-eYytr7mYzfselHgxvK1/view?usp=sharing" target="_blank" rel="noopener">My proposal can be viewed here!&lt;/a>&lt;/p></description></item><item><title>Reproducibility in Data Visualization</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/niu/repro-vis/</link><pubDate>Tue, 06 Feb 2024 15:00:00 -0500</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/niu/repro-vis/</guid><description>&lt;p>At the heart of evaluating reproducibility is a judgment about whether
two results are indeed
the same. This can be complicated in the context of data visualization due to
rapidly evolving technology and differences in how users perceive the results.
First, due to the rapid evolution of libraries including web technologies,
visualizations created in the past may look different when rendered in the future.
Second, as the goal of data visualization is communicating data to people,
different people may perceive visualizations in a different way.
Thus, when a reproduced visualization does not exactly match the original, judging
whether they are &amp;ldquo;similar enough&amp;rdquo; is complicated by these factors. For example,
changes in a colormap may be deemed minor by a computer but could lead people to different
understandings of the data. The goals of this research are to capture visualizations in a way that
allows their reproducibility to be evaluated and to develop methods to categorize the differences
when a reproduced visualization differs from the original.&lt;/p>
&lt;h3 id="investigate-solutions-for-capturing-visualizations">Investigate Solutions for Capturing Visualizations&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Reproducibility, Data Visualization&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> Python and/or JavaScript, Data Visualization Tools&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Moderate&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Medium or Large (175 or 350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/david-koop/">David Koop&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The goal of this project is to investigate, augment, and/or develop solutions to capture
visualizations that appear in formats including websites and Jupyter notebooks.
In &lt;a href="https://github.com/simprov/simprov" target="_blank" rel="noopener">past work&lt;/a>, we implemented methods
to capture thumbnails as users interacted with visualizations. Other solutions
can be used to capture interactive visualizations. We wish to understand
the feasibility of recording such visualizations and their utility in
evaluating reproducibility in the future.&lt;/p>
&lt;h5 id="specific-tasks">Specific tasks:&lt;/h5>
&lt;ul>
&lt;li>Evaluate tools for capturing static visualizations on the web&lt;/li>
&lt;li>Investigate tools for capturing dynamic visualizations on the web&lt;/li>
&lt;li>Investigate how data including code or metadata can be captured with visualizations&lt;/li>
&lt;li>Augment or develop tools to aid in capturing reproducible visualizations&lt;/li>
&lt;/ul>
&lt;h3 id="categorize-differences-in-reproduced-visualizations">Categorize Differences in Reproduced Visualizations&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Reproducibility, Data Visualization&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> Python and/or JavaScript, Data Visualization Tools&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Moderate/Hard&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Medium or Large (175 or 350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/david-koop/">David Koop&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The goal of this project is to organize types of differences in reproduced visualizations and create tools to detect them. Publications and computational notebooks record renderings of visualizations.
When they also include the code to reproduce the visualization, we can
regenerate them in order to compare them. Often, the reproduced visualization does
not match the original (see examples in this &lt;a href="https://arxiv.org/abs/2308.06894" target="_blank" rel="noopener">manuscript&lt;/a>).
This project seeks to categorize the types of differences
that can occur in order and start understanding how they impact judgments of reproducibility.&lt;/p>
&lt;h5 id="specific-tasks-1">Specific tasks:&lt;/h5>
&lt;ul>
&lt;li>Evaluate and/or develop tools to compare two visualizations&lt;/li>
&lt;li>Evaluate the utility of artificial intelligence solutions&lt;/li>
&lt;li>Organize and categorize the detected differences&lt;/li>
&lt;li>Develop tools to determine the types or categories of differences present in two visualizations&lt;/li>
&lt;/ul></description></item><item><title>Open Sensing Platform (OSP)</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/ucsc/osp/</link><pubDate>Mon, 05 Feb 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/ucsc/osp/</guid><description>&lt;h2 id="open-sensing-platform-i-software-to-enable-large-scale-outdoor-sensor-networks">Open Sensing Platform I: Software to enable large scale outdoor sensor networks&lt;/h2>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Data Visualization Dashboard" srcset="
/project/osre24/ucsc/osp/osp1_huda3c1d46887767e16b865c47973b8288_360491_2d797937cbe25a879de96b44cb5c65b3.webp 400w,
/project/osre24/ucsc/osp/osp1_huda3c1d46887767e16b865c47973b8288_360491_baae6484e015277af7b09e866b6869f5.webp 760w,
/project/osre24/ucsc/osp/osp1_huda3c1d46887767e16b865c47973b8288_360491_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/ucsc/osp/osp1_huda3c1d46887767e16b865c47973b8288_360491_2d797937cbe25a879de96b44cb5c65b3.webp"
width="760"
height="759"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Data Visualization, Backend, Web Development, UI/UX, Analytics&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong>
&lt;ul>
&lt;li>&lt;em>Required:&lt;/em> React, Javascript, Python, SQL, Git&lt;/li>
&lt;li>&lt;em>Nice to have:&lt;/em> Flask, Docker, CI/CD, AWS, Authentication&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/colleen-josephson/">Colleen Josephson&lt;/a>, &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a>, &lt;a href="mailto:awu70@ucsc.edu">Aaron Wu&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Open Sensing Platform (OSP) is a new initiative expanding from our prior project DirtViz, a data visualization web platform for monitoring microbial fuel cell sensors (see &lt;a href="https://github.com/jlab-sensing/DirtViz" target="_blank" rel="noopener">GitHub&lt;/a>). The mission is to scale up the current platform to support other researchers or citizen scientists in integrating their novel sensing hardware or microbial fuel cell sensors for monitoring and data analysis. Examples of the types of sensors currently deployed are sensors measuring soil moisture, temperature, current, and voltage in outdoor settings. The focus of the software half of the project involves building upon our existing visualization web platform, and adding additional features to support the mission. A live version of the website is available &lt;a href="https://dirtviz.jlab.ucsc.edu/" target="_blank" rel="noopener">here&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Deliverables:&lt;/strong>
&lt;ul>
&lt;li>Create a system for remote collaborators/citizen scientists to set up their sensors and upload securely, eg. designing user flow to create sensors&lt;/li>
&lt;li>Craft an intuitive navigation system so that data from deployment sites around the world can be easily viewed, eg. designing experience/system to locate deployment sites.&lt;/li>
&lt;li>Refine our web-based visualization tools to add additional features for users to analyze collected data, eg. lazy loading out-of-range data or caching queried data.&lt;/li>
&lt;li>Document the tool thoroughly for future maintenance&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="open-sensing-platform-ii-hardware-to-enable-large-scale-outdoor-sensor-networks">Open Sensing Platform II: Hardware to enable large scale outdoor sensor networks&lt;/h2>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Hardware" srcset="
/project/osre24/ucsc/osp/featured_hu6708254effb609c97dc781c926e4aea5_3805876_b844f987d1fd7b63009c6d2a89b9dcf2.webp 400w,
/project/osre24/ucsc/osp/featured_hu6708254effb609c97dc781c926e4aea5_3805876_3199ed5510eaff77a8cf1f93ae26f10d.webp 760w,
/project/osre24/ucsc/osp/featured_hu6708254effb609c97dc781c926e4aea5_3805876_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/ucsc/osp/featured_hu6708254effb609c97dc781c926e4aea5_3805876_b844f987d1fd7b63009c6d2a89b9dcf2.webp"
width="760"
height="521"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Embedded system, wireless communication, low-power remote sensing&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong>
&lt;ul>
&lt;li>&lt;em>Required:&lt;/em> C/C++, Git, Github, Platformio&lt;/li>
&lt;li>&lt;em>Nice to have:&lt;/em> PCB design and debugging experience, STM32 HAL, ESP32 Arduino, protobuf, python, knowledge of standard communication protocols (I2C, SPI, and UART)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Hard&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/colleen-josephson/">Colleen Josephson&lt;/a>, &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a>, &lt;a href="mailto:sgtaylor@ucsc.edu">Stephen Taylor&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Open Sensing Platform hardware aims to be a general purpose hardware platform for outdoor sensing (e.g. agriculture, ecological monitoring, etc.). The typical use case involves a sensor deployment in an agricultural field, remotely uploading measurements without interfering with farming operations. The current hardware revision (&lt;a href="https://github.com/jlab-sensing/soil_power_sensor" target="_blank" rel="noopener">Soil Power Sensor&lt;/a>) was originally designed for monitoring power output of microbial fuel cells using high fidelity voltage and current measurement channels, as well as auxiliary sensors such as the SDI-12 &lt;a href="https://metergroup.com/products/teros-12/" target="_blank" rel="noopener">TEROS-12 soil moisture sensor&lt;/a>. The primary activities of this project will involve low-level firmware design and implementation, but may also incorporate hardware design revisions if necessary. We are looking to expand functionality to other external sensors, as well as optimize for power consumption, via significant firmware design activities.&lt;/p>
&lt;p>Long-range, low-power wireless communication is achieved through a LoRa capable STM32 microcontroller with in-lab experiments using an ESP32 microcontroller to enable the simpler WiFi interface. Both wireless interfaces communicate upload measurements to our data visualization dashboard, &lt;strong>Open Sensing Platform I&lt;/strong>. The combined goal across both of these projects is to create a system that enables researchers to test and evaluate novel sensing solutions. We are looking to make the device usable to a wide range of researchers which may not have a background in electronics, so are interested in design activities that enhance user friendliness.&lt;/p>
&lt;p>In total there will be 2-4 people working on the hardware with progress being tracked on GitHub. Broader project planning is tracked through a Jira board. We intend to have weekly meetings to provide updates on current issue progress along with assigning tasks. Please reach out to &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a> if there are any questions or specific ideas for the project.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Deliverables:&lt;/strong> Contribution via commits to the GitHub repository with documentation on completed work. A changelog of contributions to the firmware.&lt;/li>
&lt;/ul></description></item><item><title>DirtViz 2.0 (2023)</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre23/ucsc/dirtviz/</link><pubDate>Mon, 07 Feb 2022 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre23/ucsc/dirtviz/</guid><description>&lt;p>DirtViz is a project to visualize data collected from sensors deployed in sensor networks. We have deployed a number of sensors measuring qualities like soil moisture, temperature, current and voltage in outdoor settings. This project involves extending our existing visualization stack, DirtViz 1.0 (see github), and expanding it to version 2.0. The project goal is to create a fully-fledged dataviz tool tailored to the types of data collected from embedded systems sensor networks.&lt;/p>
&lt;h3 id="visualize-sensor-data">Visualize Sensor Data&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> Data Visualization, Analytics&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> javascript, python, bash, webservers, git, embedded systems&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Easy/Moderate&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large, 350 hours&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/colleen-josephson/">Colleen Josephson&lt;/a>, &lt;a href="mailto:sonaderi@ucsc.edu">Sonia Naderi&lt;/a>, &lt;a href="mailto:sgtaylor@ucsc.edu">Stephen Taylor&lt;/a>, &lt;a href="mailto:jtmadden@ucsc.edu">John Madden&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Specific tasks:&lt;/p>
&lt;ul>
&lt;li>Refine our web-based visualization tools to easily allow users to zoom in on date ranges, change axes, etc.&lt;/li>
&lt;li>Create a system for remote collaborators/citizen scientists to upload their own data in a secure manner&lt;/li>
&lt;li>Craft an intuitive navigation system so that data from deployment sites around the world can be easily viewed&lt;/li>
&lt;li>Document the tool thoroughly for future maintenance&lt;/li>
&lt;li>If interested, we are also open to you investigating correlations between different data streams and doing self-directed data analysis&lt;/li>
&lt;/ul></description></item></channel></rss>