
Iaq device
nkitanov/iaq_board
IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality

Hey! This final section documents how I wrapped multiple pieces of status data into a single, clean custom ROS 2 message interface, built a unified package for it, and automated the whole ecosystem with a single launch…
I2C Mux Project is an open-source printed circuit board by harithamarimuthu07-code, from the harithamarimuthu07-code/Haritha_EnC_Inductions repository on GitHub. It is a 2-layer board of 43.5 × 50 mm with 3 parts on 48 nets, routed with 86 tracks and 0 vias.
It is built around the BME280. It belongs with the AVR (ATmega, ATtiny) boards of this library.
#QUESTION 1
I created two nodes that chat over three separate topics:
rover_status_publisher: Simulates live data feeds from the rover.rover_status_subscriber: Listens to all three channels at once and prints the combined status to the console./battery_level (std_msgs/msg/Float32): Tracks remaining power./rover_mode (std_msgs/msg/String): Shows the current mode (Manual, Auto, etc.)./emergency_stop (std_msgs/msg/Bool): Flag for hard safety stops.While both nodes were running, I used the following ROS 2 command-line tools to inspect the system. (All screenshots are saved in the assets/ folder).
#Question 2 & Bonus
Hey! This final section documents how I wrapped multiple pieces of status data into a single, clean custom ROS 2 message interface, built a unified package for it, and automated the whole ecosystem with a single launch file.
RoverStatus.msg)Instead of cluttering the system graph with multiple standalone topics, I grouped related telemetry properties into a single unified interface structure.
float32 battery_percentage
float32 velocity
bool emergency_stop
string mode
#**QUESTION 3**
# 2-Link Planar Manipulator Kinematics
## 1. Manipulator Specifications
* **Link 1 ($L_1$):** 2.0 m
* **Link 2 ($L_2$):** 1.5 m
* **Base:** Anchor fixed at origin $(0, 0)$, operating exclusively in the XY-plane.
## 2. Workspace Bounds
* **Maximum Reach ($R_{\max}$):** Achieved when the arm stretches completely straight ($\theta_2 = 0$):
$$R_{\max} = L_1 + L_2 = 2.0 + 1.5 = 3.5\text{ m}$$
* **Minimum Reach ($R_{\min}$):** Achieved when the arm folds completely back over itself ($\theta_2 = \pi$):
$$R_{\min} = |L_1 - L_2| = |2.0 - 1.5| = 0.5\text{ m}$$
A target coordinate $(x, y)$ is mathematically reachable if its Euclidean distance from the origin ($d = \sqrt{x^2 + y^2}$) satisfies:
$$0.5\text{ m} \le d \le 3.5\text{ m}$$
| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | Arduino_Nano_v3.x | Module:Arduino_Nano | A1 |
| 1 | BME280 | Package_LGA:Bosch_LGA-8_2.5x2.5mm_P0.65mm_ClockwisePinNumbering | U3 |
| 1 | ~ | Custom_Footprints:Module_TCA9548A_Breakout | U1 |

nkitanov/iaq_board
IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality


New-England-Weather-Balloon-Society/Tiny4FSK
Horus Binary v2 HAB Tracker


kbx81/ClimateSprinklerController
ESP32-based climate and sprinkler controller for use with ESPHome

crnicholson/StratoSoar-MK3
StratoSoar MK3, an autonomous glider meant for high-altitudes, accessible to everyone


CCHS-Melbourne/ESPlant
Environmental Sensor Plant - solar WiFi gardening/meteorological sensor using ESP8266
It measures 43.5 × 50 mm and has 2 copper layers, 1.6 mm thick.
3 parts, built around the BME280. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the harithamarimuthu07-code/Haritha_EnC_Inductions repository on GitHub, at the commit this page was made from: the board is I2C_Mux_Project/I2C_Mux_Project.kicad_pcb and its schematic ESP32S3_Breakout/ESP32S3_Breakout.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask harithamarimuthu07-code before reusing the design.