summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-03WIP: firmware: Adapt flash and erase commands to Espressifesp32s2_devkitmxengineering
TODO: This does not work currently.
2024-11-03firmware: Add pyserial Python requirementxengineering
Otherwise the ninja call to build the firmware fails.
2024-11-03firmware: Switch from ST to Espressif HALxengineering
2024-11-03firmware: Add Zephyr module for Espressif HALxengineering
2024-11-03firmware: Switch build to esp32s2_devkitmxengineering
2024-11-03firmware: Use patched Zephyr kernel to support esp32s2_devkitmxengineering
It is planned to switch to a custom ESP32-based printed circuit board (PCB). This has the advantage that the ESP32 modules contain a lot of basic functionality and the complete network interface. This should be the minimal viable product (MVP). The esp32s2_devkitm is a development board to develop the firmware before even designing the MVP PCB. Since this board is not supported officially a patched Zephyr kernel close to v3.7.0 is used. The patch is a slight modification of the officially supported esp32s2_devkitc board.
2024-09-06firmware: Use pip freeze for requirements.txtHEADmainxengineering
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.
2024-06-03pcb: Place MCU in PCB editorxengineering
2024-06-03pcb: Add STM32WL55JCIx microcontrollerxengineering
Based on UM2592 the development kit Nucleo WL55JC which is used for firmware development is based on the STM32WL55JCI7 microcontroller. Thus this MCU should be a good starting point for now.
2024-06-03pcb: Save *.kicad_pro file after first KiCad runxengineering
2024-06-03pcb: Create empty KiCad 8.0 projectxengineering
2024-06-03Add KiCad documentation link to READMExengineering
2024-04-14fw: Customize shell promptxengineering
The shell prompt was changed from the default 'uart:~$ ' to '[iot-contact] ' so that it is more visible which kind of firmware is running on the device.
2024-04-14fw: Add basic Zephyr application firmwarexengineering
This is enough to validate that the firmware is running by using the integrated Zephyr shell.
2024-04-14Add README.mdxengineering