Brand Story
The Brand
Smart-home clarity wrapped in a polished product story.
The current explanation page keeps its advertising energy here.
Brand Story
Smart-home clarity wrapped in a polished product story.
The current explanation page keeps its advertising energy here.
Making Of
Sketches, build decisions, prototypes, and the path behind the idea.
This view turns the project into a making-of documentation.
Today, most smart home systems are still guessing. Motion sensors trigger lights even when no one is really using a room. Heating schedules are static. The most essential information is missing:
Which room is currently in use – and by how many people?
The Gate solves this problem by rethinking the door as the central interface of the smart home.
Instead of adding more sensors to ceilings or walls, The Gate replaces only one component: the standard mortise lock. Thanks to the DIN 18251 standard, which has been established for over 100 years, this solution can be installed in almost every German household – rental apartment, old building, or new construction – without drilling, rewiring, or visible hardware.
But knowing which room is occupied is only half the equation.
The other half is what happens next. Most smart home platforms still make presence-based automation feel like engineering work: navigating dashboards, writing automation scripts, and stitching together abstract helper entities just to turn off the lights when someone leaves a room.
Qyra changes that. It is the interface The Gate was always meant to have: a smart home UI that thinks in rooms, not entities. You see your floor plan, you see who is where, and you set what should happen without a single line of YAML.
Lights, heating, scenes, and schedules all follow the same logic: the room knows who is in it, and Qyra knows what to do.
Designed to run alongside Home Assistant, Qyra keeps the flexibility and device compatibility of the world’s most powerful open home automation platform and replaces the only thing that was ever missing: a surface that anyone can actually use.
The Gate precisely differentiates between:
By detecting direction, movement, and interaction at the door itself, it knows when a room is actually being used. This enables truly smart behavior:
On top of that, The Gate introduces a new way of interacting with doors:
The door becomes an interface – not just a barrier.
Inside the lock, The Gate combines multiple sensors:
All components are powered by a large internal battery, allowing a runtime of up to 9 months on a single charge.
Communication is handled via Zigbee, using an ESP32-H2, making the system compatible with existing smart home ecosystems. The Gate does not add more devices to your home. It upgrades what is already there.
The door to truly smart homes is already built. makes it intelligent.
This project presents the first functional implementation of Qyra, a self-developed smart home platform built around a new way of thinking about presence in the home. The final consists of two closely connected components: Qyra | The Gate, a custom hardware device installed at a doorway, and the Qyra UI, the interface through which the system is configured and controlled.
The Gate is built on an ESP32-H2 microcontroller paired with a VL53L5CX time-of-flight sensor. Using an 8x8 distance matrix captured at the doorway, it detects in real time whether a person is entering or leaving a room. All processing happens locally on the microcontroller itself: no cloud service, no external server, no round-trip to a backend. The ESP32-H2 derives the relevant states directly from the raw sensor data and publishes them as structured events into the local network, keeping latency minimal and the system fully independent of any internet connection.
These events are picked up by the Qyra Backend, a lightweight application running on a Raspberry Pi in the local home network. The backend connects to Home Assistant, the open-source device integration platform that manages all smart home hardware in the background, and uses the presence events from The Gate to trigger device control across the entire home. Lights, heating, switches, and any other Home Assistant-connected device can be configured to respond automatically when a room becomes occupied or vacant.
This configuration is handled entirely through the Qyra UI: a modern, browser-based interface that presents the home as a floor plan, maps The Gate devices to their respective doorways, and lets users define room-level device behaviour without writing automations or managing abstract helper entities.
Home Assistant and the Qyra Backend are designed to run on the same Raspberry Pi, sharing a single piece of hardware with minimal overhead. They can equally be separated onto individual devices if a particular setup requires it, making the architecture flexible from the start.
The scope of this final project is deliberately focused: the goal is to demonstrate the core loop in a working state. A person walks through a door, The Gate detects the direction of movement, the Qyra system identifies which room has been entered or vacated, and the connected devices respond accordingly. Everything is configured and monitored through the Qyra UI.
The project was organized through a task board and calendar view, making it easier to keep track of open decisions, planned milestones, and the time available for each part of the build.
The task overview keeps the build process structured, from open decisions to finished milestones.
The calendar maps project phases, test windows, and documentation steps across the available time.
This diagram shows how the system works, where data is transmitted, and how results are calculated from the first input to the final output.
Door Hardware, Electronics and Handle Integration
Physical integration is the main constraint of The Gate because the system has to fit into the geometry of a standard German interior door and follow the spatial logic defined by DIN 18251, while still disappearing into the existing lock and handle assembly.
The design therefore treats standards, packing, lock mechanics, capacitive sensing, haptic feedback, and power transfer as one compact mechanical-electrical stack. Every signal path and component position has to support the door hardware first, so the system can remain robust, cable-minimal, and installable in a real lock body.
The physical design is built around DIN 18251 and the geometry of a typical German interior door. This makes the standard itself one of the largest constraints: the lock, handle position, square spindle, latch movement, and surrounding installation space have to stay within the expected dimensions instead of being freely redesigned around the electronics.
Using a standard room door as the base keeps the prototype close to a real installation scenario. The goal is not to create a special demonstration door, but to make The Gate fit into the same mechanical conditions that already exist in everyday interior doors.
The internal packing is designed to avoid loose cables wherever possible. Most connections are routed as PCB traces and the board is populated with SMD components, so the electronics remain compact, fixed in place, and less vulnerable to movement inside the lock body.
The ToF sensor requires a 90 degree direction change to face the doorway correctly. The current plan is to solve this with 90 degree Dupont pins and headers, although this connection is still being evaluated. For possible I2C extensions, JST connectors are planned; because the battery takes up the available internal space, this may become the only cable connection and would be fixed to the lower part of the housing.
The square spindle is also planned without cables running through or around it. Keeping the spindle mechanically clean makes the lock safer to install and should make the assembly more resistant to drops and repeated impacts.
The door is locked with an N20 motor. Its gearbox makes it extremely difficult to push the handle down once the mechanism is engaged. The motor moves roughly 10 degrees to block the follower, making the door almost impossible to open.
The mechanism was designed with the user experience in mind: the geometry allows a complete lock action within approximately 80 ms.
To make the system controllable through the handle itself, the handle becomes part of the capacitive sensing path. One signal is routed through the handle and the GND connection to the capacitive sensor.
On the opposite side, the VCC connection carries the signal to a second sensor pin. A P-MOSFET switches this path between capacitive sensing and power delivery.
A vibration motor gives the user quiet, immediate feedback. It is powered through an N-MOSFET, with current flowing through the VCC layer and returning through GND.
During vibration, the P-MOSFET disconnects the line from the touch sensor to protect the IC. Touch data is unavailable for that short moment, but the system avoids additional data lines through the handle shaft.
The power system carries both GND and VCC while also serving as the electrode path for touch sensing. On the shown side, the electrode runs through GND; on the opposite side, it runs through VCC.
A slip-ring-like contact keeps GND and VCC connected even while the follower rotates. Spring-loaded contacts press against the handle shaft, which is inserted through the lock like a normal door handle shaft. The gearbox remains fixed inside the lock.
Image AI Generated with GPT 5.5
Local Events, Room Logic, Home Assistant Control
The software integration keeps The Gate local: the ESP32-H2 turns raw sensor input into doorway events, while Home Assistant remains the compatibility layer for Matter, Thread, Zigbee, Wi-Fi, and MQTT devices.
Qyra sits above that device layer and translates technical state changes into room-level behavior, so the interface can describe what should happen in a space instead of exposing users to entity names and automation plumbing.
Image AI Generated with GPT 5.5
The ESP32-H2 on The Gate continuously reads all sensor values: the ToF matrix, gyroscope, and capacitive touch sensor. All processing happens directly on the chip.
The result is a structured event, for example { direction: "enter", room: "living_room" }. This event is transmitted over Thread, an IPv6-based mesh protocol that operates without Wi-Fi overhead.
A Thread Border Router, for example the Home Assistant SkyConnect ZBT-2 or Home Assistant Yellow, connects the Thread mesh to the regular IP home network.
It translates Thread packets into standard IPv6 traffic. From this point on, The Gate is addressable like any other network device.
Home Assistant runs the OpenThread Border Router as an add-on and manages the Thread network directly. The Gate registers with Home Assistant via Matter over Thread through a simple QR code commissioning process.
After that, it appears in Home Assistant as a device with its own entities, such as binary_sensor.the_gate_presence or sensor.the_gate_direction.
The Qyra Backend maintains a persistent WebSocket connection to Home Assistant at /api/websocket and subscribes to all state_changed events.
As soon as Home Assistant registers a state change from The Gate, or from any other device, the backend receives it in real time.
The backend also sends control commands back to Home Assistant through the same WebSocket connection. These commands are triggered automatically by user-defined room reactions in the Qyra UI, or manually when a user controls a device in the interface.
In both cases, the backend calls the appropriate Home Assistant service, such as light.turn_on, climate.set_temperature, or switch.toggle. Home Assistant executes the command and controls the physical device.
The backend simultaneously maintains a WebSocket connection to the frontend via socket.io, forwarding processed events and current device states in real time.
The frontend never communicates directly with Home Assistant. It talks exclusively to the Qyra Backend.
The React app in the browser receives events and updates the UI immediately: which room is occupied, which devices are active, and what The Gate is currently detecting.
Control commands from the UI, such as manually switching a light, travel back through the same path: Frontend to Backend to Home Assistant to Device.
Beyond The Gate and Thread devices, Home Assistant integrates the full range of hardware found in a typical smart home. Zigbee devices can run through ZHA or Zigbee2MQTT, Wi-Fi devices connect through their Home Assistant integrations, and MQTT devices publish to a broker that Home Assistant subscribes to.
From the Qyra Backend's perspective, the connection method does not matter. It sees one consistent API surface and one unified device model.
QYRA | The Gate will precisely track room occupancy as well as the number of people currently inside a room. The system is designed to detect presence changes reliably, report both occupancy state and people count, and make that information available to connected services and interfaces.
In addition, The Gate will not only act as a sensor system, but also as an interaction point for the smart home. Through Qyra's own UI platform, the system will be able to control smart home products that are connected through Home Assistant, turning the room itself into an input and automation interface. The goal is to create a product that combines presence detection, room intelligence, and intuitive control seamlessly.
The project is being developed largely from scratch. While there was an earlier prototype phase used to explore the idea and general direction, this version is the first professional implementation of the concept.
None of the old hardware, layouts, or collected data are being reused in the final development process. This means the current project is not just a revision of an older prototype, but a complete redesign with a much higher technical and mechanical standard.
Home Assistant will be used as the main basis for integrating smart home products into the system. It provides the interface through which external devices can be connected to the Qyra pipeline, making it possible to monitor states and control smart home objects through a unified platform. As an open-source ecosystem, it is especially suitable because it is flexible, widely used, and well supported by the community.
The project also uses the DIN 18251 standard as a structural reference for the lock format. This makes it possible to design the product around an established mechanical standard rather than inventing all dimensions from scratch, which improves compatibility and makes The Gate more realistic as a product concept.
The casing, the PCB, the logo, the packaging, and the handles of the door will be designed from scratch, replacing the complete mortise lock while reusing DIN-based dimensions where required. This means the project is not limited to electronics, but includes the full product design process from internal mechanics to the external appearance.
The design work therefore covers both engineering and branding. In addition to the technical functionality, QYRA | The Gate will receive a complete visual identity and a mechanically integrated housing concept tailored specifically to the selected components and intended use case.
For the casing, 1 mm aluminum sheets will be used as the top and bottom closing parts in order to improve scratch resistance and provide a more durable outer shell. The structural core of the assembly will be made from 3D-printed parts, primarily in ABS, because ABS offers better long-term durability and mechanical strength than PLA for this type of application. PETG is also being considered as a possible alternative, depending on the final mechanical requirements.
The handle will be made from wood (exact wood type pending). Inside, it will contain a 3D-printed core structure that holds a small PCB for the vibration motor and provides the connection to the touch-sensing electrodes. Aluminum sheets will be integrated seamlessly into the handle and used as electrodes for touch measurement.
The PCBs themselves will be made from FR4. These boards will be assembled with the components ordered for the project, including sensors, wireless modules, power-management ICs, connectors, protection parts, and standard passive components.
Most components will be ordered through DigiKey. The main PCB will be manufactured by JLCPCB, and the corresponding solder paste stencil will also be ordered to support efficient and repeatable assembly.
Any additional parts, tools, or small supporting materials that are not part of the main order will be taken from the lab. This approach keeps the sourcing process practical while still relying on professional suppliers for the critical custom parts.
The DigiKey order currently totals roughly €240. However, many parts were intentionally ordered more than once, or in larger quantities than strictly necessary, in order to reduce the risk of project delays caused by assembly mistakes, damaged parts, or design revisions.
Regarding the custom printed circuit boards, the main PCBs manufactured by JLCPCB cost €4.20 per piece including shipping, subject to a required minimum order quantity of five pieces. The corresponding solder paste stencil was ordered for an additional €8.00, which has no minimum order requirement.
Because of that, the current number should not be understood as the exact per-unit product cost. A more precise and meaningful total will be calculated once the development of The Gate is finished and all final manufacturing, sourcing, and assembly decisions have been completed.
A mainboard PCB will be created that fills almost the entire mortise lock body. This board contains the main CPU and nearly all major sensors, making it the central control board of the whole system.
The ToF sensor board will be designed as a separate PCB because it must be rotated by 90 degrees to fit properly into the mechanical structure. There will also be a dedicated charger PCB that allows the battery to charge at 600 mA, and each vibration motor inside the handles will receive its own small PCB as well.
In addition, a sliding mechanism for the battery pack will be developed, along with a compact and visually integrated housing for all electronic and mechanical components. Each handle will also be built from scratch so that it fits the sensors, wiring, and internal parts precisely instead of adapting the electronics to an off-the-shelf handle.
The main PCB will be manufactured externally, while the smaller PCBs will be milled using an LPKF machine. Most electronic components will be placed with solder paste and reflow-soldered in an oven, while a smaller number of components will be soldered by hand where necessary.
The handles will be milled on a portal milling machine. The aluminum sheets will be cut with the xTool MetalFab, logos will be engraved with the xTool F1 Ultra, and the casing parts will be printed on Bambu X1 Carbon printers with AMS. Altogether, the manufacturing of QYRA | The Gate combines PCB manufacturing, CNC machining, laser processing, engraving, and additive manufacturing in one workflow.
Several important design and engineering questions still need to be resolved during development. These include the final PCB dimensions, possible design constraints caused by the DIN-based size requirements, the internal mechanism layout, the locking mechanism concept, and the sliding mechanism for the battery pack.
In addition, the project must evaluate whether the handles can trigger touch measurement reliably enough in real use, whether the ESP32-based system can remain in a sufficiently low-power state for several months of battery life, and which mechanical concepts are best suited for locking and battery access. Practical questions such as PCB and component delivery times also matter, because they affect how development time can be used efficiently while waiting for parts.
A. The first criterion is whether The Gate can actually detect people entering a room and report that state correctly. The occupancy result and people count must be reliable enough to make the system useful in practice.
B. The second criterion is whether The Gate can remain in a very low-power sleep state and wake up only when relevant events occur. This is essential for making the system practical as a battery-powered product.
C. The third criterion is whether the system creates a genuinely new way to interact with rooms, doors, and smart home functions. The project should not only work technically, but also provide a more natural and integrated user experience.
D. The fourth criterion is whether the UI behaves as intended and correctly controls smart home objects that are integrated through Home Assistant. The full chain from sensing to interface to smart home action must work as one consistent system.
13-15 May
I used this phase to research the electronic parts needed for the lock, handle interaction, motor control, sensors, and power path. The practical focus was to turn the loose component idea into an orderable list.
The first larger component order was prepared through DigiKey so the prototype could move from concept to hardware assembly.
BOM & DigiKey Order
Core electronics
These are the more distinctive functional parts of the design, including the wireless module, sensors, control ICs, and motor-driving hardware.
| Name | ID | Qty | Price | Link | Description |
|---|---|---|---|---|---|
| ESP32-H2 wireless module | 1965-ESP32-H2-MINI-1-H2SCT-ND | 42 | €3.19 | DigiKey | Compact wireless module used as the main embedded communication/control element. |
| ToF optical sensor | 497-VL53L5CXV0GC/1CT-ND | 42 | €7.39 | DigiKey | Optical distance sensor for short-range presence or position measurement. |
| Capacitive touch sensor | 1790-IQS323001DNRCT-ND | 42 | €0.58 | DigiKey | Detects touch input on capacitive electrodes. |
| Accelerometer | 497-14851-1-ND | 42 | €1.35 | DigiKey | Motion sensor for detecting orientation, movement, or vibration. |
| Motor driver IC | 296-34806-1-ND | 42 | €0.96 | DigiKey | Drives a small DC motor or actuator from the control electronics. |
| Inverter logic IC | 296-11599-1-ND | 42 | €0.08 | DigiKey | Simple single-channel logic inverter for signal conditioning. |
| Analog switch IC | 296-18015-1-ND | 42 | €0.15 | DigiKey | Routes or switches low-level signals between different paths. |
Power and protection
These parts handle voltage conversion, battery charging, power-path control, and electrical protection for the system.
They are important for making the design efficient, battery-safe, and more robust against shorts, ESD, and wiring mistakes.
| Name | ID | Qty | Price | Link | Description |
|---|---|---|---|---|---|
| Buck regulator | 175-MAX38641AELT+TCT-ND | 42 | €2.26 | DigiKey | Efficient step-down regulator used to generate a lower supply voltage. |
| Buck regulator | 296-TPS628438YKARCT-ND | 42 | €1.35 | DigiKey | Compact step-down regulator for low-power voltage rails. |
| Li-ion charger IC | MCP73831-2DCI/MC-ND | 42 | €0.70 | DigiKey | Single-cell lithium charging controller. |
| Power-management IC | 296-LM66200DRLRCT-ND | 42 | €0.54 | DigiKey | Manages power routing or supply selection within the circuit. |
| Battery protection IC | 5399-DW01ACT-ND | 42 | €0.02 | DigiKey | Protects a single-cell lithium battery against unsafe operating conditions. |
| Dual MOSFET for battery protection | 5272-FS8205ACT-ND | 42 | €0.33 | DigiKey | Companion switching device typically used with battery protection circuitry. |
| Resettable fuse, 100 mA | 118-MF-ASML010/6-2CT-ND | 42 | €1.39 | DigiKey | Self-resetting fuse for low-current overcurrent protection. |
| Resettable fuse, 750 mA | 118-MF-ASML075/6-2CT-ND | 42 | €1.74 | DigiKey | Self-resetting fuse for higher-current protection. |
| TVS / ESD protection diode | DF6A6.8FUT1GOSCT-ND | 42 | €0.65 | DigiKey | Protects exposed lines against transient overvoltage and ESD events. |
| TVS / ESD protection diode | 296-39341-1-ND | 42 | €0.24 | DigiKey | Protects sensitive signal lines from electrostatic discharge. |
| TVS / ESD protection diode | 497-5235-1-ND | 42 | €0.33 | DigiKey | Protection device suited for external connector lines such as USB. |
| N-channel MOSFET | 785-1000-1-ND | 42 | €0.32 | DigiKey | General-purpose low-side electronic switch. |
| P-channel MOSFET | DMG3415UDICT-ND | 42 | €0.25 | DigiKey | General-purpose high-side switching element. |
| Power transistor | TIP31BGOS-ND | 42 | €1.07 | DigiKey | Through-hole NPN transistor for switching higher loads. |
| Power transistor | TIP3055GOS-ND | 42 | €2.80 | DigiKey | Higher-power NPN transistor for more demanding switched loads. |
| Schottky diode | 4878-BAT54CT-ND | 42 | €0.08 | DigiKey | Fast, low-drop diode for signal or power steering. |
| Schottky diode | 5399-B5819WCT-ND | 42 | €0.05 | DigiKey | Low-loss diode for power-path or reverse-polarity related tasks. |
Passive parts
These are the supporting passive components used for filtering, timing, current limiting, pull-ups, biasing, and regulator stability.
They are less unique than the ICs, so grouping them makes the list easier to review.
| Name | ID | Qty | Price | Link | Description |
|---|---|---|---|---|---|
| SMD resistor assortment | Multiple IDs including 311-100LRCT-ND, 311-1.00KLRCT-ND, 311-22.0LRCT-ND, 311-240KLRCT-ND, 311-2KLRCT-ND, 311-3.30KLRCT-ND, 311-470LRCT-ND, 311-4.7KLRCT-ND, 13-RC0402FR-071M1LCT-ND, 2019-RK73G2ATTD1003FCT-ND, 2019-RK73H1ETTP4702FCT-ND, 2019-RN73H1ETTP1673F25CT-ND, 2037-PFR05S-221-FNHCT-ND, P5.1KDCCT-ND, RMCF0402FT10K0CT-ND, RMCF0402FT249KCT-ND | 42 | €0.0077 to €0.108 | DigiKey search | Standard SMD resistors used for pull-ups, pull-downs, voltage dividers, current limiting, and signal conditioning. |
| Ceramic capacitor group | 399-C0402C105K9PACTUCT-ND, 490-3261-1-ND, 490-3886-1-ND | 42 | €0.0112 to €0.0400 | DigiKey | MLCC capacitors used for decoupling, local energy storage, and noise filtering. |
| Tantalum capacitor | 478-5231-1-ND | 42 | €1.25 | DigiKey | Higher-value capacitor for bulk supply buffering. |
| Inductor | 445-15732-1-ND | 42 | €0.22 | DigiKey | Small SMD inductor used in switching power stages. |
| Inductor | 732-3333-1-ND | 42 | €2.00 | DigiKey | Higher-current inductor for power conversion circuitry. |
| Red indicator LED | 516-3060-1-ND | 42 | €0.51 | DigiKey | Small status LED for visual indication. |
Interconnect and assembly
These parts cover the physical interfaces of the project, including charging/programming access, board-to-board or wire connections, spring contacts, and the soldering consumables needed for assembly.
| Name | ID | Qty | Price | Link | Description |
|---|---|---|---|---|---|
| USB-C receptacle | 2073-USB4105-GF-ACT-ND | 42 | €0.68 | DigiKey | Main wired connector for power and interface access. |
| Tactile switch | 450-1650-ND | 42 | €0.115 | DigiKey | Small push-button input for user interaction or reset functions. |
| Battery/contact spring | 36-5230-ND | 42 | €0.29 | DigiKey | Spring contact used for battery or mechanical electrical connection. |
| Spring battery contact | 478-9915-1-ND | 42 | €0.97 | DigiKey | Multi-contact spring interface for removable power connection. |
| Spring/pogo connector | ED10997CT-ND | 42 | €6.29 | DigiKey | Right-angle spring-loaded contact set for temporary or modular connection. |
| SMD contact | 952-3138-1-ND | 42 | €0.345 | DigiKey | Gold-plated SMD contact for compact electrical mating. |
| SMD contact | 952-3140-1-ND | 42 | €0.58 | DigiKey | Gold-plated SMD contact for compact electrical mating. |
| Right-angle header | 732-5351-ND | 42 | €0.66 | DigiKey | Standard board connection header for signals or power. |
| Socket/header connector | 732-6.13004243121e+11-ND | 42 | €0.79 | DigiKey | Mating connector for removable board or cable connections. |
| 3-pin header | SAM1035-03-ND | 42 | €0.48 | DigiKey | Simple through-hole header for signal or power breakout. |
| 3-pin JST-style header | 455-S3B-XH-A-ND | 42 | €0.151 | DigiKey | Wire-to-board connector for small harness connections. |
| 4-pin SMD header | 455-SM04B-SRSS-TBCT-ND | 42 | €0.51 | DigiKey | Compact board connector for low-profile cable connections. |
| Flux | SMD291-ND | 42 | €15.95 | DigiKey | No-clean flux for easier SMD soldering and rework. |
| Solder paste | SMD291AXT5-ND | 42 | €21.99 | DigiKey | No-clean solder paste for stencil or reflow assembly. |
| Solder wire | SMDSW.0201OZ-ND | 42 | €7.89 | DigiKey | Hand-soldering wire for assembly and touch-up work. |
16-19 May
I worked on translating the electronic concept into a schematic and checked which additional parts would be needed for a realistic first PCB version.
Some parts were still uncertain at this point, so I kept the design flexible and prepared additional order research for 20 May.
19 May
I simplified the handle slip ring connection for the first version. Running the vibration motor on the same line as the electrodes caused too many risks, even with attempts to electrically separate the paths.
Capacitors needed for the motor could still disturb the sensing behavior, and the two functions work with very different electrical conditions. The design might still be possible later, but for v1 I reduced the complexity because time was limited.
20 May
I moved the design into the PCB layout phase and worked on the board shape together with the product layout. The goal was to make the electronics fit into the physical idea instead of treating the PCB as a separate object.
The product layout was considered finalized enough to continue, even though smaller corrections were still expected.
21 May
This day was almost completely focused on PCB layout. I worked through routing, placement, clearances, connector positions, and the mechanical restrictions created by the lock body.
The layout work was slow because every change had to respect both the electronics and the available physical space.
22 May
I fixed remaining PCB layout issues and prepared the files for ordering. I also checked ESP module layout and soldering notes, including the JLCPCB ESP32-S2 module PCB guide.
After the last checks, the PCB order was prepared with the expectation that manufacturing feedback might still reveal footprint or DFM issues.
23 May
I continued the PCB communication with China and fixed manufacturing feedback. The via diameter of 0.2 mm with a 0.4 mm outer diameter was too small, and a Kelvin test would have added an extra 50 EUR charge.
The issue came from the ESP32 footprint. I fixed it by applying larger pads. In this case the change did not affect the intended connection much because the ESP32 area is connected through a polygon anyway.