summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2024-06-08pcb: Add TLV70233 voltage converterxengineering
This IC has a small footprint and will provide the 3.3 V for the microcontroller.
2024-06-07tools: Print doc path after executing download.shxengineering
2024-06-07tools: Add checksum check to download.shxengineering
2024-06-07tools: Add download.sh to get external doc filesxengineering
It is unknown if it would be legal to include those external documents like datasheets inside this Git repository. Thus the added script provides the ability to get them directly from the vendor.
2024-06-05pcb: Split into a hierarchy of schematicsxengineering
2024-06-05pcb: Add 10-pin ARM Cortex debug connectorxengineering
2024-06-05pcb: Add USB-C connector to schematicxengineering
2024-06-05tools: build.sh: Export PCB drawing as PDFxengineering
2024-06-05tools: Add clean.shxengineering
This allows to conveniently remove files which are not tracked in version control.
2024-06-05tools: Add build.sh to export PDF schematicsxengineering
2024-06-03pcb: Add outline to PCBxengineering
This makes the KiCad project a valid PCB as a minimal starting point.