summaryrefslogtreecommitdiff
path: root/pcb
AgeCommit message (Collapse)Author
3 dayspcb: Connect RMII, MDIO and PHY resetxengineering
4 dayspcb: Add NOT-logic for power LEDxengineering
The status LED should always display on color either constantly on or blinking. To make sure even without firmware this is given a NOT gate is added.
4 dayspcb: Switch to one RGB LEDxengineering
This is more space efficient and makes it easier to label the LEDs. There is just one "status LED" lighting up in different colors compared to one "update LED", "power LED" and "activity LED".
4 dayspcb: io: Add first draft for normally open contactxengineering
4 dayspcb: io: Finish draft for motor controlxengineering
4 dayspcb: Move version detection to processor schematicxengineering
5 dayspcb: io: Add 230 VAC logicxengineering
5 dayspcb: Switch to three wire connectorsxengineering
5 dayspcb: Draw Edge.Cuts outlinexengineering
5 dayspcb: ethernet: Add initial schematicxengineering
2025-05-28pcb: processor: Add TODO for MAC EEPROMxengineering
2025-05-25pcb: processor: Finish first schematicxengineering
2025-05-24pcb: Add versions.tsv and reserve v0.1.0-pre1xengineering
This table is the result of running: ./tools/resistor_selector.py --output pcb/versions.tsv Additionally the table was manually edited. The first column now contains version strings to reserve resistor combinations. This is used to keep track of existing versions, their resistor values and related ADC values. The latter will be added to the firmware too.
2025-05-24pcb: Invert button signalsxengineering
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.
2025-05-24pcb: Add voltage divider for PCB versioningxengineering
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`.
2025-05-24pcb: Replace J6 & J7 by bigger J5xengineering
This reduces the electrical contacts which is possible and necessary because of size constraints.
2025-05-24pcb: gitignore: Add _autosave*kicad*xengineering
These files seem to be present since KiCad 9.0 and should not be tracked with version control.
2025-05-24pcb: U1: Add STM32F427VIT6TRxengineering
2025-05-24web: Deploy iot-contact.kicad_pcbxengineering
This can be used to order the PCB depending on the manufacturers software capabilities.
2025-05-24Remove installation stepxengineering
Using the installation step to copy selected artifacts into one folder was anyway a hack. This commit shows that the complexity can be reduced by adding copy targets. The `build/artifacts` folder contains the selected artifacts, they are always up to date, the user does not have to call the install step separately and the target definitions do not require install-related keyword arguments.
2025-04-07Simplify website structure and drop Hugoxengineering
A static site generator is currently not really required. A static index.html is currently sufficient.
2025-04-05web: Replace file copying by Meson installationxengineering
This makes the build system code way less hacky and more modular.
2025-04-05Deploy schematic and BOM to websitexengineering
These important design files should be deployed with the website.
2025-04-05pcb: Switch from CMake to Mesonxengineering
This allows to install the PCB-related files easier to the website which is built with Meson.
2025-04-01pcb: gitignore: Add *-backupsxengineering
KiCad based on the not committed user settings saves backups in iot-contact-backups. Excluding those backups from Git is important to not double-track changes.
2025-04-01pcb: Update to KiCad 9.xxengineering
2025-02-18pcb: Update ROADMAP.mdxengineering
2025-02-18pcb: Add hierarchical labels and connectionsxengineering
2025-02-18pcb: Replace text fields by symbol descriptionsxengineering
This makes it easier to keep the descriptions and the text inside the schematic in sync.
2025-02-18pcb: Set title to `iot-contact`xengineering
2025-02-18pcb: Add missing text descriptionsxengineering
2025-02-18pcb: Rename some signalsxengineering
2025-02-18pcb: J7: Add motor connectorxengineering
2025-02-18pcb: J6: Add AC supply connectorxengineering
2025-02-18pcb: J5: Add door / window opener connectorxengineering
2025-02-15pcb: J4: Add vertical RJ45 connectorxengineering
2025-02-15pcb: J3: Add non-PoE 5V power input headerxengineering
Power over Ethernet (PoE) has the disadvantage that GND is significantly below earth. This requires that GND of a PoE-powered device is never attached to earthed devices. In production use cases this is no problem. The earth lines are isolated. Nevertheless for debugging it is sometimes useful to connect measuring equipment like logic analyzers and oscilloscopes to the board. This is not possible with PoE. Thus an alternative earth-based 5V power input is useful.
2025-02-15pcb: J2: Add UART pin headerxengineering
2025-02-15pcb: Fix connection errors reported by ERCxengineering
2025-02-15pcb: SW1-SW2: Add switches for reboot and wipexengineering
2025-02-15pcb: D1-D3: Add LEDs for PWR, UPD and ACTxengineering
2025-02-15pcb: gitignore: Add *auto_saved_files*xengineering
2025-02-15pcb: J1: Add JTAG connectorxengineering
2025-02-15pcb: Update schematic hierarchyxengineering
2025-02-15pcb: Add ROADMAP.mdxengineering
2025-02-14pcb: Rename targets, functions and output filesxengineering
This simplifies the CMake code and the paths inside the build folder.
2025-02-14pcb: Export BOM as CSV with CMakexengineering
2025-02-14pcb: Add CMake and export schematic by defaultxengineering
2025-02-14pcb: Add sub-schematicsxengineering
2025-02-14pcb: Add empty KiCad projectxengineering
This is the starting point for the PCB development.