
Iot device pcb
ODARI-CHARLES1/iot_device_pcb
Hardware design for a air conditioner pcb design using Kicad software. This is for learning purpose only not manufacturable.

This project is a dual-sensor breakout board combining two of the most widely used sensors in IoT and robotics applications onto a single compact PCB.
Dual sensor breakout is an open-source printed circuit board by Abhi90808, from the Abhi90808/Dual_sensor_breakout repository on GitHub. It is a 2-layer board of 60.2 × 41.4 mm with 24 parts on 24 nets, routed with 189 tracks and 11 vias.
It is built around the BME280, AMS1117-3.3 and MPU-6050. Its parts include 8 capacitors, 3 resistors, 3 ICs, 3 connectors and 1 diode. It belongs with the sensors and measurement and interfaces and adapters boards of this library.
A compact dual-sensor breakout board combining the BME280 environmental sensor (temperature, humidity, pressure) and MPU6050 IMU (accelerometer + gyroscope) on a single 2-layer PCB. I2C interface, 3.3V regulated, with proper decoupling and logic-level compatibility — Gerber-ready.
This project is a dual-sensor breakout board combining two of the most widely used sensors in IoT and robotics applications onto a single compact PCB. The BME280 provides environmental data — temperature, humidity, and barometric pressure — while the MPU6050 provides 6-axis inertial measurement — 3-axis accelerometer and 3-axis gyroscope.
Both sensors share the I2C bus with separate configurable addresses. The board includes onboard 3.3V regulation, I2C pull-up resistors, and full decoupling — so it connects directly to any microcontroller (Arduino, ESP32, STM32) without additional components.
This breakout demonstrates the ability to design compact sensor hardware for IoT products: proper I2C bus design, mixed-signal layout awareness, and careful decoupling on noise-sensitive sensor circuits.
| Parameter | Value |
|---|---|
| Sensor 1 | BME280 — temperature, humidity, pressure |
| Sensor 2 | MPU6050 — 3-axis accel + 3-axis gyro |
| Interface | I2C (shared bus, separate addresses) |
| BME280 I2C Address | 0x76 (SDO → GND) / 0x77 (SDO → VCC) |
| MPU6050 I2C Address | 0x68 (AD0 → GND) / 0x69 (AD0 → VCC) |
| Supply Voltage | 3.3V – 5V (onboard regulation to 3.3V) |
| Logic Level | 3.3V |
| Regulator | AMS1117-3.3 |
| PCB Layers | 2 |
| Board Status | Design complete, DRC passed |
| Tool | KiCad |
Both sensors share the same SDA/SCL lines. Address select pads (SDO for BME280, AD0 for MPU6050) are exposed as solder jumpers, allowing the I2C address of each sensor to be configured — useful when running multiple boards on the same bus.
The AMS1117-3.3 LDO accepts 3.3V–5V input and regulates down to a clean 3.3V for both sensors. Input and output bulk capacitors ensure stability. Allows the board to be powered directly from a 5V Arduino without any external regulation.
4.7kΩ pull-up resistors on SDA and SCL ensure correct I2C bus voltage levels. Values selected for reliable communication up to 400 kHz (Fast Mode) across the expected trace lengths and capacitance.
Each sensor has dedicated 100nF ceramic decoupling capacitors placed as close as possible to the VCC and VDDIO pins — minimising supply noise coupling into the sensitive analog and MEMS measurement circuits.
Both ICs, regulation circuitry, decoupling, and pull-ups are placed within a compact footprint suitable for embedding in drone flight controllers, weather stations, wearables, and IoT sensor nodes.
project4-dual-sensor-breakout/
├── schematic/
│ └── dual_sensor_breakout.kicad_sch
├── pcb/
│ └── dual_sensor_breakout.kicad_pcb
├── gerbers/
│ ├── dual_sensor_breakout.GTL
│ ├── dual_sensor_breakout.GBL
│ ├── dual_sensor_breakout.GTO
│ ├── dual_sensor_breakout.GTS
│ ├── dual_sensor_breakout.GBS
│ └── dual_sensor_breakout.DRL
├── bom/
│ └── bom.csv
└── README.md| Ref | Component | Part Number | Package |
|---|---|---|---|
| U1 | Environmental Sensor | BME280 | LGA-8 |
| U2 | IMU Sensor | MPU6050 | QFN-24 |
| U3 | 3.3V LDO Regulator | AMS1117-3.3 | SOT-223 |
| C1–C2 | Bulk Capacitors | 10µF | 0805 |
| C3–C6 | Decoupling Caps | 100nF | 0402 |
| R1–R2 | I2C Pull-ups | 4.7kΩ | 0402 |
| JP1 | BME280 Addr Select | Solder jumper | — |
| JP2 | MPU6050 Addr Select | Solder jumper | — |
| J1 | Pin Header | 6-pin, 2.54mm | Through-hole |
| Pin | Signal | Description |
|---|---|---|
| 1 | VIN | 3.3V – 5V power input |
| 2 | GND | Ground |
| 3 | SDA | I2C data |
| 4 | SCL | I2C clock |
| 5 | INT | MPU6050 interrupt output |
| 6 | 3V3 | Regulated 3.3V output |
| Stage | Status |
|---|---|
| Schematic | ✅ Complete |
| PCB Layout | ✅ Complete |
| DRC | ✅ Passed |
| Gerbers Exported | ✅ Ready |
| Fabricated | ⬜ Not yet |
| Tested | ⬜ Not yet |
Self-taught PCB designer specializing in KiCad — IoT, embedded systems, and industrial control boards. Available for freelance PCB design work: schematic capture, layout, DRC review, and Gerber preparation.
🔗 GitHub: [Abhi90808] 📧 [kvabhishek908@gmail.com]
| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 100nf | Capacitor_SMD:C_0805_2012Metric | C2, C4, C5, C6, C7, C8 |
| 2 | 10uf | Capacitor_SMD:C_0805_2012Metric | C1, C3 |
| 2 | 4.7k | Resistor_SMD:R_0402_1005Metric | R2, R3 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R1 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | BME280 | Package_LGA:Bosch_LGA-8_2.5x2.5mm_P0.65mm_ClockwisePinNumbering | U2 |
| 1 | BME280_ADDR | Jumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP1 |
| 1 | I2C_HEADER | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical_SMD_Pin1Left | J2 |
| 1 | INT_OUT | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J3 |
| 1 | LED_Green | LED_SMD:LED_0805_2012Metric | D1 |
| 1 | MPU-6050 | Sensor_Motion:InvenSense_QFN-24_4x4mm_P0.5mm | U3 |
| 1 | MPU6050_ADDR | Jumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP2 |
| 1 | PWR_IN | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical_SMD_Pin1Right | J1 |
| 1 | TP_3V3 | TestPoint:TestPoint_Pad_1.0x1.0mm | TP3 |
| 1 | TP_GND | TestPoint:TestPoint_Pad_1.0x1.0mm | TP4 |
| 1 | TP_SCL | TestPoint:TestPoint_Pad_1.0x1.0mm | TP2 |
| 1 | TP_SDA | TestPoint:TestPoint_Pad_1.0x1.0mm | TP1 |

ODARI-CHARLES1/iot_device_pcb
Hardware design for a air conditioner pcb design using Kicad software. This is for learning purpose only not manufacturable.

dharaneesh-m-oss/lorawatch_pcb
Compact LoRa-based Wearable IoT PCB using ESP32 with GPS, MPU6050, BME280, USB-C charging, and battery management designed in KiCad.

OlegDemk/ESP32_GPS_loger_v1
GPS logger can log in GPS data every 5 seconds into Micro SD card.

nikitaignatov/velometa-pcb
this repo contains all pcb and schematics for velometa

schoolllex/ESPBoosted
A custom, feature-rich ESP32-WROOM-32 development board featuring built-in environmental sensors, power management, and expansion interfaces.


victorhook/asac-fc
asac fc is an rp2040 based flight controller made for FPV drone flying

maddevsio/mad-navigator
Mad navigator is simple compass-like device shows direction to predefined geo point. This repository contains firmware source code and schematics for device.
It measures 60.2 × 41.4 mm and has 2 copper layers, 1.6 mm thick.
24 parts, built around the BME280, AMS1117-3.3 and MPU-6050. 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 Abhi90808/Dual_sensor_breakout repository on GitHub, at the commit this page was made from: the board is Dual_sensor_breakout.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Abhi90808 before reusing the design.