<feed xmlns='http://www.w3.org/2005/Atom'>
<title>iot-contact, branch esp32s2_devkitm</title>
<subtitle>IoT device to check if doors and windows are closed or open</subtitle>
<id>https://cgit.xengineering.eu/iot-contact/atom?h=esp32s2_devkitm</id>
<link rel='self' href='https://cgit.xengineering.eu/iot-contact/atom?h=esp32s2_devkitm'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/'/>
<updated>2024-11-03T19:11:25Z</updated>
<entry>
<title>WIP: firmware: Adapt flash and erase commands to Espressif</title>
<updated>2024-11-03T19:11:25Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-11-03T19:11:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=13add8c6072c8311620217acd576b16ba37b13c3'/>
<id>urn:sha1:13add8c6072c8311620217acd576b16ba37b13c3</id>
<content type='text'>
TODO: This does not work currently.
</content>
</entry>
<entry>
<title>firmware: Add pyserial Python requirement</title>
<updated>2024-11-03T19:04:45Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-11-03T19:04:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=fa82565b1ce78e39452fc1370e674912cc9ca75f'/>
<id>urn:sha1:fa82565b1ce78e39452fc1370e674912cc9ca75f</id>
<content type='text'>
Otherwise the ninja call to build the firmware fails.
</content>
</entry>
<entry>
<title>firmware: Switch from ST to Espressif HAL</title>
<updated>2024-11-03T19:03:25Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-11-03T19:03:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=e8fd8f50d3a7f5981b91ea2220f0a11222a0a288'/>
<id>urn:sha1:e8fd8f50d3a7f5981b91ea2220f0a11222a0a288</id>
<content type='text'>
</content>
</entry>
<entry>
<title>firmware: Add Zephyr module for Espressif HAL</title>
<updated>2024-11-03T18:47:59Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-11-03T18:47:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=18198a9c68247a3d7e3ebb80336105111f8b8cf7'/>
<id>urn:sha1:18198a9c68247a3d7e3ebb80336105111f8b8cf7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>firmware: Switch build to esp32s2_devkitm</title>
<updated>2024-11-03T18:42:56Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-11-03T18:42:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=7136a8074f200c2b1ed2a8f9389d7cc89014f447'/>
<id>urn:sha1:7136a8074f200c2b1ed2a8f9389d7cc89014f447</id>
<content type='text'>
</content>
</entry>
<entry>
<title>firmware: Use patched Zephyr kernel to support esp32s2_devkitm</title>
<updated>2024-11-03T18:33:48Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-11-03T18:33:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=eacd4bd18409cc6e40466cd1468eb1b5bd74b35a'/>
<id>urn:sha1:eacd4bd18409cc6e40466cd1468eb1b5bd74b35a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>firmware: Use pip freeze for requirements.txt</title>
<updated>2024-09-06T18:27:31Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-09-06T18:27:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=2c18a99bd24ddadd165eeabe5299ac094b0c0ee3'/>
<id>urn:sha1:2c18a99bd24ddadd165eeabe5299ac094b0c0ee3</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>firmware: Add minimal README</title>
<updated>2024-08-29T16:01:53Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-29T15:56:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=0ff8c7370ad87ac450b32955210a1ec366413d61'/>
<id>urn:sha1:0ff8c7370ad87ac450b32955210a1ec366413d61</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>firmware: zephyrproject: Add requirements.txt</title>
<updated>2024-08-29T15:46:51Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-29T15:46:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=f60daa445ff4daf4aa40d2d5b35197b4e5eadd0d'/>
<id>urn:sha1:f60daa445ff4daf4aa40d2d5b35197b4e5eadd0d</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>firmware: Adapt CMakeLists.txt to Git submodules</title>
<updated>2024-08-29T15:39:27Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-29T15:39:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=04f4abae5822fe166c9100e36e4631bbb82744e5'/>
<id>urn:sha1:04f4abae5822fe166c9100e36e4631bbb82744e5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>firmware: Add Zephyr sources as Git submodules</title>
<updated>2024-08-29T14:31:35Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-29T12:17:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=22d914b78ece2e67d4bd2c6829f716b5760594c1'/>
<id>urn:sha1:22d914b78ece2e67d4bd2c6829f716b5760594c1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tools: Remove last tool download.sh</title>
<updated>2024-08-24T19:26:28Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-24T19:26:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=6bb372e0ca443bda11f05d19ba96742f5de2027a'/>
<id>urn:sha1:6bb372e0ca443bda11f05d19ba96742f5de2027a</id>
<content type='text'>
The provided documentation download is not useful anymore. It might be
re-introduced later if required.
</content>
</entry>
<entry>
<title>firmware: Implement printk output on button press</title>
<updated>2024-08-23T16:47:48Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-23T16:47:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=73ecc1b734d4ea1102f9aa1057782a381e2768e2'/>
<id>urn:sha1:73ecc1b734d4ea1102f9aa1057782a381e2768e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>firmware: Implement minimal IPv6 firmware</title>
<updated>2024-08-23T15:33:46Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-23T15:24:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=fa22728ea19c81202899305fc118176ca3f7042b'/>
<id>urn:sha1:fa22728ea19c81202899305fc118176ca3f7042b</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>pcb: Remove folder</title>
<updated>2024-08-23T14:58:30Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-08-23T14:58:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=0db3f05ade565c23bc1654b5a88af4a06c71e17e'/>
<id>urn:sha1:0db3f05ade565c23bc1654b5a88af4a06c71e17e</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>pcb: Add TLV70233 voltage converter</title>
<updated>2024-06-08T13:49:59Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-08T13:49:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=63b35a95cf6f29b867e27f9bb99fa03a4b5c4fa3'/>
<id>urn:sha1:63b35a95cf6f29b867e27f9bb99fa03a4b5c4fa3</id>
<content type='text'>
This IC has a small footprint and will provide the 3.3 V for the
microcontroller.
</content>
</entry>
<entry>
<title>tools: Print doc path after executing download.sh</title>
<updated>2024-06-07T19:25:38Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-07T19:25:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=4d4cb2a8fd79ffd6e65c7a7546dc9aba4e867656'/>
<id>urn:sha1:4d4cb2a8fd79ffd6e65c7a7546dc9aba4e867656</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tools: Add checksum check to download.sh</title>
<updated>2024-06-07T19:24:39Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-07T19:24:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=60784a9ebaa6168b03851f359a83478c70c7dbeb'/>
<id>urn:sha1:60784a9ebaa6168b03851f359a83478c70c7dbeb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tools: Add download.sh to get external doc files</title>
<updated>2024-06-07T15:40:14Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-07T15:40:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=d8f8de953044328932836a450cbb4157736ba2d2'/>
<id>urn:sha1:d8f8de953044328932836a450cbb4157736ba2d2</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>pcb: Split into a hierarchy of schematics</title>
<updated>2024-06-05T19:38:47Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-05T19:38:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=2b38114643b68670092d6c389c51a0ae01d50e04'/>
<id>urn:sha1:2b38114643b68670092d6c389c51a0ae01d50e04</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Add 10-pin ARM Cortex debug connector</title>
<updated>2024-06-05T19:20:48Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-05T19:20:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=ba97734a2cbfff1b73581fd275bbd26583fdda89'/>
<id>urn:sha1:ba97734a2cbfff1b73581fd275bbd26583fdda89</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Add USB-C connector to schematic</title>
<updated>2024-06-05T19:09:50Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-05T19:08:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=0bcd66f32c6fcd24b01fc87b0d02c9ac4431b938'/>
<id>urn:sha1:0bcd66f32c6fcd24b01fc87b0d02c9ac4431b938</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tools: build.sh: Export PCB drawing as PDF</title>
<updated>2024-06-05T18:03:34Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-05T18:03:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=98d0231116b51f2945bed8b0c9336fb3e048dea3'/>
<id>urn:sha1:98d0231116b51f2945bed8b0c9336fb3e048dea3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tools: Add clean.sh</title>
<updated>2024-06-05T17:48:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-05T17:48:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=869792d4b9030e0153ae882fd2e4cb6ecab7e159'/>
<id>urn:sha1:869792d4b9030e0153ae882fd2e4cb6ecab7e159</id>
<content type='text'>
This allows to conveniently remove files which are not tracked in
version control.
</content>
</entry>
<entry>
<title>tools: Add build.sh to export PDF schematics</title>
<updated>2024-06-05T17:45:11Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-05T17:45:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=e6fc87d14aa2fcf30812b6b7bccd35dd3026631e'/>
<id>urn:sha1:e6fc87d14aa2fcf30812b6b7bccd35dd3026631e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Add outline to PCB</title>
<updated>2024-06-03T19:23:05Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-03T19:23:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=69d66f534ca25bce98ee1984325149891f27f76c'/>
<id>urn:sha1:69d66f534ca25bce98ee1984325149891f27f76c</id>
<content type='text'>
This makes the KiCad project a valid PCB as a minimal starting point.
</content>
</entry>
<entry>
<title>pcb: Place MCU in PCB editor</title>
<updated>2024-06-03T19:10:40Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-03T19:10:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=618ba4fa7b6da3695dca35a49b2b3beb5c695a53'/>
<id>urn:sha1:618ba4fa7b6da3695dca35a49b2b3beb5c695a53</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Add STM32WL55JCIx microcontroller</title>
<updated>2024-06-03T19:04:28Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-03T19:04:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=11cb5dc9e86a92314d78999674fe675ea3d52b78'/>
<id>urn:sha1:11cb5dc9e86a92314d78999674fe675ea3d52b78</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>pcb: Save *.kicad_pro file after first KiCad run</title>
<updated>2024-06-03T18:49:48Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-03T18:49:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=c0c3baed554830a8990f99da888db87beb38edc1'/>
<id>urn:sha1:c0c3baed554830a8990f99da888db87beb38edc1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pcb: Create empty KiCad 8.0 project</title>
<updated>2024-06-03T18:45:41Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-06-03T18:45:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/iot-contact/commit/?id=6053827028a6590196baea8a3928fa10c1f2ddc6'/>
<id>urn:sha1:6053827028a6590196baea8a3928fa10c1f2ddc6</id>
<content type='text'>
</content>
</entry>
</feed>
