<feed xmlns='http://www.w3.org/2005/Atom'>
<title>iot-contact/pcb/processor.kicad_sch, branch mdns</title>
<subtitle>IoT device to check if doors and windows are closed or open</subtitle>
<id>https://cgit.xengineering.eu/iot-contact/atom?h=mdns</id>
<link rel='self' href='https://cgit.xengineering.eu/iot-contact/atom?h=mdns'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/'/>
<updated>2025-08-10T15:36:15Z</updated>
<entry>
<title>pcb: Place test points</title>
<updated>2025-08-10T15:36:15Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-08-10T15:36:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=c50d7275a98c420506c1be35d1c067394af700f5'/>
<id>urn:sha1:c50d7275a98c420506c1be35d1c067394af700f5</id>
<content type='text'>
They should be used to easier connect cables to the board to debug
hardware or firmware issues.
</content>
</entry>
<entry>
<title>pcb: processor: Fix missing pull-up on STM32 RESET</title>
<updated>2025-07-27T16:09:30Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-27T16:09:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=2a3432a2195260f436c50e891e2e9b9a615dc670'/>
<id>urn:sha1:2a3432a2195260f436c50e891e2e9b9a615dc670</id>
<content type='text'>
This is a significant design bug which would leave the RESET line of the
MCU in a floating state. Thanks to ERC this is detected early.
</content>
</entry>
<entry>
<title>pcb: Fix +3V3 and +3.3V confusion</title>
<updated>2025-07-27T16:01:47Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-27T16:01:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=514352748fee605be176e2f37dd9b12047458503'/>
<id>urn:sha1:514352748fee605be176e2f37dd9b12047458503</id>
<content type='text'>
ERC brought up that those two global power labels were mixed. This is of
course a design bug which is now fixed by consistently using +3.3V.
</content>
</entry>
<entry>
<title>pcb: power: Add `PWR_FLAG` symbols</title>
<updated>2025-07-25T20:25:27Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-25T20:02:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=d3e7f19f1f87b03e9a7c8a170b9c4351ac565268'/>
<id>urn:sha1:d3e7f19f1f87b03e9a7c8a170b9c4351ac565268</id>
<content type='text'>
This resolves ERC issues. The ERC complains that an power input is not
fed by a power output if there is a component like a ferrite bead or 0
Ohm resistor between the two.

The `PWR_FLAG` tells the ERC that it was explicitly checked that this is
not a mistake.
</content>
</entry>
<entry>
<title>pcb: Reset part annotations</title>
<updated>2025-07-25T16:21:10Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-25T16:21:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=68d56b6f8e1abeaaa6982245bb73e9f9d712b44c'/>
<id>urn:sha1:68d56b6f8e1abeaaa6982245bb73e9f9d712b44c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: processor: Add MAC EEPROM</title>
<updated>2025-07-25T15:24:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-24T21:17:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=3183f22ccc77e5092775af6d5b5be680a3c9127d'/>
<id>urn:sha1:3183f22ccc77e5092775af6d5b5be680a3c9127d</id>
<content type='text'>
This chip provides a globally unique EUI-48 MAC address. This address
will be printed on the device enclosure.

The IPv6 link-local address of the device can be directly calculated
from this MAC address. Thus a commissioning software can directly access
the device when the user types in this MAC address without any discovery
protocol.
</content>
</entry>
<entry>
<title>pcb: Use red LED for error indication</title>
<updated>2025-07-24T20:51:23Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-24T20:51:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=360bc81c7532b6677dfb01898bbd94eca6ab75d2'/>
<id>urn:sha1:360bc81c7532b6677dfb01898bbd94eca6ab75d2</id>
<content type='text'>
The idea of the red LED used to be to indicate power delivery to the
board independent of firmware.

While this is good to know it adds the constraint that even without
firmware the LED should light up. Furthermore it should stop lighting up
when the firmware takes over the blinking with different colors. This
was solved with a NOT gate.

This adds more parts to the assembly at the cost of rare space. To
reduce space consumption this feature is removed.

The effect is that the user cannot distinguish anymore if the board has
an issue with power supply or with not running firmware. This is
acceptable because the user cannot do anything about both issues.

Developers have the chance to e.g. connect the UART to validate if the
firmware is running.
</content>
</entry>
<entry>
<title>pcb: Connect RMII, MDIO and PHY reset</title>
<updated>2025-07-24T12:45:32Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-23T12:00:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=5e15c86cd5197466653f510a7ccc4b76d67f69d1'/>
<id>urn:sha1:5e15c86cd5197466653f510a7ccc4b76d67f69d1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Move version detection to processor schematic</title>
<updated>2025-07-23T09:57:32Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-07-23T09:57:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=24d9a38a95a7cc51528efebcb5d81dd8ea67bef8'/>
<id>urn:sha1:24d9a38a95a7cc51528efebcb5d81dd8ea67bef8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: processor: Add TODO for MAC EEPROM</title>
<updated>2025-05-28T18:45:18Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-28T16:58:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=d5d2f7db13aeb4283387de5d7e90ebe1966c6c98'/>
<id>urn:sha1:d5d2f7db13aeb4283387de5d7e90ebe1966c6c98</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: processor: Finish first schematic</title>
<updated>2025-05-25T18:08:39Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T20:00:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=161dd48aa8a14bb99a31e91480977e2961d27a72'/>
<id>urn:sha1:161dd48aa8a14bb99a31e91480977e2961d27a72</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Invert button signals</title>
<updated>2025-05-24T12:04:13Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T12:04:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=5e48ef91e68fcddc591950ca56c930c50912454f'/>
<id>urn:sha1:5e48ef91e68fcddc591950ca56c930c50912454f</id>
<content type='text'>
Making them active-low makes it easier to reset the MCU. For the wipe
functionality it does not make a role since it will simply be defined in
Devicetree.
</content>
</entry>
<entry>
<title>pcb: Add voltage divider for PCB versioning</title>
<updated>2025-05-24T11:52:16Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-05-24T11:52:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=6db34475d1935f368bec60f530f88cd066924849'/>
<id>urn:sha1:6db34475d1935f368bec60f530f88cd066924849</id>
<content type='text'>
This voltage divider provides an analog voltage between GND and +3.3V to
indicate which hardware revision this board is.

Thus the same firmware image can be used on multiple PCB versions
compensating the hardware differences in software.

The resistor combinations are calculated by
`tools/resistory_selector.py`.
</content>
</entry>
<entry>
<title>pcb: U1: Add STM32F427VIT6TR</title>
<updated>2025-05-24T10:01:55Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-11T16:14:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=36d369e46c84642ef4b2069619fb53a586b60055'/>
<id>urn:sha1:36d369e46c84642ef4b2069619fb53a586b60055</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Update to KiCad 9.x</title>
<updated>2025-04-01T16:13:10Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-04-01T16:13:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=aa3a6384f14ee7d148b84523aa30723bc1020d39'/>
<id>urn:sha1:aa3a6384f14ee7d148b84523aa30723bc1020d39</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Add hierarchical labels and connections</title>
<updated>2025-02-18T18:44:49Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-18T18:44:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=968d182429594578654a983d8a5b605f8f152650'/>
<id>urn:sha1:968d182429594578654a983d8a5b605f8f152650</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Set title to `iot-contact`</title>
<updated>2025-02-18T18:09:20Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-18T18:09:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=ca4bdaf956ac6a100cc386e6119641c35807beca'/>
<id>urn:sha1:ca4bdaf956ac6a100cc386e6119641c35807beca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Rename some signals</title>
<updated>2025-02-18T18:02:30Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-18T18:02:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=15e451d799cefd647fa14af569187645553877de'/>
<id>urn:sha1:15e451d799cefd647fa14af569187645553877de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: J2: Add UART pin header</title>
<updated>2025-02-15T20:49:14Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-15T20:49:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=b5a439b3268c055e0daddd86c34acf71dd62d9f0'/>
<id>urn:sha1:b5a439b3268c055e0daddd86c34acf71dd62d9f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Fix connection errors reported by ERC</title>
<updated>2025-02-15T20:26:10Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-15T20:26:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=d9fedc339118a630cbe7b382b5c18b4930a9c8a5'/>
<id>urn:sha1:d9fedc339118a630cbe7b382b5c18b4930a9c8a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: SW1-SW2: Add switches for reboot and wipe</title>
<updated>2025-02-15T19:28:57Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-15T19:28:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=86f5b56b1b6749fdddfb7ce0e7a2499233c69d37'/>
<id>urn:sha1:86f5b56b1b6749fdddfb7ce0e7a2499233c69d37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: D1-D3: Add LEDs for PWR, UPD and ACT</title>
<updated>2025-02-15T13:03:26Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-15T12:50:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=b61465930b36603dda2e50ebf78f68386da9c30a'/>
<id>urn:sha1:b61465930b36603dda2e50ebf78f68386da9c30a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: J1: Add JTAG connector</title>
<updated>2025-02-15T13:03:18Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-15T12:26:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=eab2bac5267657142a7ab78ebbf458cccc09ee1a'/>
<id>urn:sha1:eab2bac5267657142a7ab78ebbf458cccc09ee1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Add sub-schematics</title>
<updated>2025-02-14T12:41:27Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2025-02-03T20:48:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=de8bc23e81c136b2153fe93d87e5a5ba9e518878'/>
<id>urn:sha1:de8bc23e81c136b2153fe93d87e5a5ba9e518878</id>
<content type='text'>
</content>
</entry>
</feed>
