Skip to the content
PCBKitNew board
2 layers54.2 × 54.2 mmOpengrill sensor, the printed circuit board in 3D

Opengrill sensor

cantechit/OpenGrill

Wi-Fi BBQ/grill probe thermometer firmware for ESP32/ESP32-S3 — multi-probe, web dashboard, OTA, MQTT, Home Assistant, push alerts. GPLv3.

Size
54.2 × 54.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
37
Nets
15
Pads
112
Tracks, vias
0, 0
Pours
2
Routed
Not yet
KiCad
KiCad 6 (file 20211014)
Created
27 Jul 2026
Updated
27 Jul 2026

Overview

Opengrill sensor is an open-source printed circuit board by cantechit, from the cantechit/OpenGrill repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 54.2 × 54.2 mm with 37 parts on 15 nets.

It is built around the ADS1115IDGSR, DS18B20 and SRV05-4. Its parts include 8 resistors, 6 capacitors, 6 connectors, 2 ICs and 1 diode. It belongs with the sensors and measurement and home automation and IoT boards of this library.

Main components

3

README

hardware/pcb/kicad/README.md

OpenGrill Sensor Board — KiCad Project

Generated by ../generator/gen_kicad.py (KiCad 6 file format). Do not hand-edit the .kicad_sch / .kicad_pcb here without also updating the generator — the generator is the source of truth and re-running it overwrites these files.

FileWhat it is
opengrill-sensor.kicad_schFull schematic (21 components, all nets labelled)
opengrill-sensor.kicad_pcbBoard: 54.2×54.2 mm outline w/ corner notches, all parts placed, all pads net-assigned, GND zones on both layers
opengrill-sensor.kicad_proProject file (design rules: 0.25 mm track, 0.2 mm clearance)
pcb-preview.pngRender of the board with pads coloured by net

State of this design — read before ordering

Done:

  • Complete netlist (matches ../netlist.md, incl. the corrected ADS1115 pins: 9 = SDA, 10 = SCL)
  • All components placed per the layout blueprint
  • GND zones on F.Cu + B.Cu (fill them in the tool: B in KiCad)
  • Machine-checked: netlist cross-verified against the spec, pad-to-pad clearance ≥ 0.15 mm, all pads inside the outline, files parse and round-trip in kiutils

Deliberately NOT done (your steps):

  1. Signal routing — ~28 airwires remain. Open the board, fill zones, and route with the interactive router (~20 min). Left unrouted because blind text-authored routing risks silent shorts; the ratsnest + push-shove router does this safely.
  2. Run real ERC + DRC in KiCad or EasyEDA Pro after import. The generator's checks are geometry arithmetic, not a full DRC.

Mounting holes — REQUIRED, positions placeholder

Four M3 mounting holes (H1–H4) are included — required to fasten the board to the Tough EXT standoffs. They are isolated NPTH (no-net copper keep-out ring, so the GND pour stays clear — no ground under the screw head; avoids ground loops on this analog board). ⚠ Their positions are placeholders (corners, 4 mm inset) until the Tough EXT envelope is measured — drag them to the real standoff coordinates in EasyEDA before ordering.

⚠ Verify before fabrication (can damage hardware if wrong)

  1. J1 (M-BUS 2×15) position and pin-1 orientation. I placed it on the left edge, vertically centred, pin 1 top-left — a plausible position, not a measured one. Measure the stock EXT board: connector X/Y relative to board edges, and which corner is pin 1. If pin 1 is mirrored, 5 V lands on the wrong pins. Adjust (at …) of J1 (or the generator's COMPONENTS table) to the measured position.
  2. Corner notches are r = 3.5 mm quarter-circles, assumed from the M5Stack module family style. Verify against the stock EXT board.
  3. J1 mating connector part: source a 2×15 2.54 mm male pin header (pins up into the Tough's female M-BUS socket) with enough mating length — measure/salvage from the stock EXT board or buy M5Stack's M-BUS socket kit. No LCSC number given on purpose.

BOM

RefValuePackageLCSCConfidence
U1ADS1115IDGSRMSOP-10C37661solid
R1–R422 kΩ 0.1%0805C114550verify (any 0805 22k ±0.1% works)
R54.7 kΩ 1%0805C17673solid (DS18B20 pull-up, populated)
R6–R74.7 kΩ 1%0805DNPI2C pull-ups — do not populate (internal GPIO21/22 bus is pre-pulled)
C1100 nF X7R0805C49678solid (JLC basic part)
C210 µF X5R0805C19702solid (JLC basic part)
C3–C610 nF X7R0805C57112verify
FB1600 Ω @100 MHz ferrite0805C1017solid (JLC basic part)
J2KF128-2.54 8P, 2.54 mm pitch (one-piece)THTC474926all 4 probes; pairs [A0][3V3][A1][3V3][A2][3V3][A3][3V3]
J6KF128-2.54 3P, 2.54 mm pitch (one-piece)THTC474921DS18B20 (same KF128 family as J2)
J12×15 male header, 2.54 mmTHT—pins up into Tough M-BUS socket (see above)

Footprints accept both hand-soldering (prototype) and JLCPCB SMT (production).

Importing

EasyEDA Pro (free, recommended — Std edition does not import KiCad 6): File → Import → KiCad, select the .kicad_sch and .kicad_pcb. Then route, DRC, and order via the built-in JLCPCB flow.

KiCad 6/7/8/9 (also free): open opengrill-sensor.kicad_pro directly. Fill zones (B), route the airwires, run DRC, then File → Fabrication Outputs → Gerbers — or upload the .kicad_pcb straight to JLCPCB, which accepts it natively.

Regenerating

text
python3 hardware/pcb/generator/gen_kicad.py

Edit the COMPONENTS table / EXPECTED_NETS in the generator to change the design; the script fails loudly if the emitted netlist stops matching the expected one.

Parts

37
QtyValueFootprintReferences
410nFOpenGrill:C0805C3, C4, C5, C6
422k 0.1%OpenGrill:R0805R1, R2, R3, R4
4M3 (TBD pos)OpenGrill:MountM3H1, H2, H3, H4
3—OpenGrill:FID1FID1, FID2, FID3
24.7k DNPOpenGrill:R0805R6, R7
1100nFOpenGrill:C0805C1
110uFOpenGrill:C0805C2
1330OpenGrill:R0805R8
13V3OpenGrill:TP1TP2
13V3_AOpenGrill:TP1TP3
14.7kOpenGrill:R0805R5
1600R@100MHzOpenGrill:FB0805FB1
1ADS1115IDGSROpenGrill:MSOP10U1
1BATT JST-PHOpenGrill:JST_PH_2PJ3
1DS18B20OpenGrill:TERM254_3PJ6
1DS_DATAOpenGrill:TP1TP6
1GNDOpenGrill:TP1TP1
1GPIO BRKOpenGrill:HDR1X4_VJ5
1I2C EXPOpenGrill:HDR1X4_VJ4
1LED redOpenGrill:LED0805D1
1M-BUS 2x15 maleOpenGrill:MBUS_2X15J1
1PROBES 1-4OpenGrill:TERM254_8PJ2
1SCLOpenGrill:TP1TP5
1SDAOpenGrill:TP1TP4
1SRV05-4OpenGrill:SOT23_6U3

Questions

How big is the Opengrill sensor PCB?

It measures 54.2 × 54.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Opengrill sensor use?

37 parts, built around the ADS1115IDGSR, DS18B20 and SRV05-4. 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.

Where can I download the Opengrill sensor KiCad files?

From the cantechit/OpenGrill repository on GitHub, at the commit this page was made from: the board is hardware/pcb/kicad/opengrill-sensor.kicad_pcb and its schematic hardware/pcb/kicad/opengrill-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Opengrill sensor design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers130 × 102 mmCMM2-JLC, the printed circuit board in 3D

    CMM2-JLC

    Manawyrm/CMM2-JLC

    Colour Maximite 2 - unofficial PCB design for automated assembly

    111 parts10GPL-3.0
  • 2 layers115 × 85.1 mmELV1 revision, the printed circuit board in 3D

    ELV1 revision

    omerikinci/ELV1

    Elektronik kör yük (electronic dummy load) cihazının ilk stabil versiyonu. 150 W ile sınırlandırılmış, 30 V / 10 A aralığını destekler.

    228 parts
  • 4 layers118 × 117 mmCm4-robot, the printed circuit board in 3D

    Cm4-robot

    Twisted-Fields/acorn-robot-electronics

    PCB hardware designs in KICAD for Acorn, the precision farming rover from Twisted Fields.

    268 parts81
  • 4 layers106 × 63.5 mmBrineomatic, the printed circuit board in 3D

    Brineomatic

    hoeken/brineomatic

    Open Source Watermaker Controller.

    323 parts47LGPL-2.1
  • 2 layers42.8 × 86.2 mmPowerTiger, the printed circuit board in 3D

    PowerTiger

    codetiger/PowerTiger

    Home power monitoring system - Monitoring energy consumption with better granularity

    55 parts19MIT
  • 2 layers91.3 × 57.5 mmThermEX26, the printed circuit board in 3D

    ThermEX26

    comradef191/ThermEX

    OSHW Thermistor expansion board for Klipper

    113 parts17CERN-OHL-S-2.0
  • 4 layers103.5 × 90.6 mmEVE PCB V4, the printed circuit board in 3D

    EVE PCB V4

    vishhvaan/eve-pi

    The EVolutionary biorEactor (EVE)

    102 parts15MIT
  • 4 layers154.5 × 112.9 mmLibrePLC32, the printed circuit board in 3D

    LibrePLC32

    AndreiVladescu/LibrePLC32

    The goal of the project is to create a compact, hackable, and well-documented PLC platform for industrial automation experiments, prototyping, education, and open hardware development.

    295 parts14CERN-OHL-P-2.0