summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-02-22WIP: pcb: U1: Add STM32F429VGTxpcbxengineering
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-15cmake: kicad: Update selected BOM columnsxengineering
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-14Document where PCB files are placed in buildxengineering
2025-02-14cmake: Add message after schematic exportxengineering
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-14cmake: Add module with kicad_schematic_to_pdfxengineering
This CMake function integrates converting the schematic to PDF as part of the standard build.
2025-02-14pcb: Add sub-schematicsxengineering
2025-02-14pcb: Add empty KiCad projectxengineering
This is the starting point for the PCB development.
2025-02-14pcb: gitignore: Add *.lckxengineering
2025-02-14pcb: gitignore: Add fp-info-cachexengineering
2025-02-14pcb: gitignore: Add *.kicad_prlxengineering
2025-02-14Add LICENSE.txtxengineering
This license is the primary one for the whole project. Sub-directories might have other licenses like e.g. `fw`.
2025-02-14Update project definitionxengineering
2025-02-14Switch to a global CMake buildxengineering
This allows to easily build everything from the repository root. For now this only covers firmware but later electrical PCB and mechanical case files can be added.
2025-02-14fw: Do not track Python environmentxengineering
Tracking the Python environment with specific dependency versions does not work well. Over time these versions disappear and are not anymore installable via pip. For now the alternative is to let the user setup the environment by interpreting the error output during builds. This is not convenient but the best which is currently possible. This furthermore allows to install Python dependencies via the Linux package manager. With that it is more ergonomic to build since the Python environment does not have to be sourced.
2025-02-11Add symlink to compile_commands.jsonxengineering
The compile_commands.json located in fw/build is symlinked in the repository root to more conveniently open a text editor with LSP client there which is directly prepared for the firmware build.
2025-02-11fw: gitignore: Add build, .cache and log.txtxengineering
2025-02-11fw: Clean up CMakeLists.txtxengineering
2025-02-11fw: Switch to MPL 2.0xengineering
The Mozilla Public License seems to be suitable for this firmware project. See the original license text for details. This commit also adds a `.txt` suffix to the LICENSE file to make the file type more visible to humans and tools.
2025-02-11fw: Move content of `firmware` herexengineering
This makes the name shorter which is especially relevant for Git commit messages.
2024-09-06firmware: Use pip freeze for requirements.txtxengineering
This results in a complete list of required Python dependencies with fixed versions. This ensures that the build works reliably given that the dependencies are still available in referenced versions.
2024-08-29firmware: Add minimal READMExengineering
This adds instructions for: - Python environment setup - building the firmware - flashing the firmware - get output from the Zephyr shell - removing the firmware from the device
2024-08-29firmware: zephyrproject: Add requirements.txtxengineering
This is (hopefully) the minimal set of Python dependencies required to execute the firmware build. It is meant to be installed inside a Python virtual environment (venv). To add one which is not accidentally tracked by Git a .gitignore files is added too.
2024-08-29firmware: Adapt CMakeLists.txt to Git submodulesxengineering
The following properties are now set in CMakeLists.txt: - Zephyr kernel path - required Zephyr module paths - selected board This makes the command line call for CMake trivial: cmake -Bbuild -GNinja The user does not have to specify these options on the command line.
2024-08-29firmware: Add Zephyr sources as Git submodulesxengineering
2024-08-24tools: Remove last tool download.shxengineering
The provided documentation download is not useful anymore. It might be re-introduced later if required.
2024-08-23firmware: Implement printk output on button pressxengineering
2024-08-23firmware: Implement minimal IPv6 firmwarexengineering
This firmware enables as much as required for the device to be reachable by ICMP via an link-local IPv6 address. The address can be looked up via the Zephyr shell with `net ipv6`. This is useful to check if the network stack basics work.
2024-08-23pcb: Remove folderxengineering
It is planned to switch to Ethernet instead of LoRa for communication. Thus the custom PCB with the STM32WL MCU does not make sense anymore. To get started the Ethernet variant will use a ST NUCLEO board to avoid creating a custom PCB first.