Build real autonomous systems from silicon to cloud. Open-source ESP32 firmware, custom PCBs, CAN bus gateways, edge AI, and software-defined vehicle (SDV) architecture you actually own.
TrailCurrent is where embedded engineers ship full-stack autonomous products using 100% open-source hardware.
WHAT'S ON THE CHANNEL
▸ ESP32 deep dives — ESP32-S3, ESP32-P4, RS485, automotive CAN bus tutorials
▸ Raspberry Pi alternatives for edge AI (Radxa, RK3588 SBCs)
▸ PCB design for embedded automotive and harsh environments
▸ Electronics enclosure design and ruggedization
▸ SDV architecture, edge gateways, vehicle telematics
▸ Local LLMs on edge hardware under $150
For embedded engineers, automotive designers, and open-source builders shipping real products. Not slideware.
New videos weekly. Subscribe for the full silicon-to-cloud build.
#ESP32 #OpenSourceHardware #SDV
Invidious encountered an error while trying to parse this item. For more information see below:
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)` Date: `2026-06-03T19:25:24Z` Route: `/channel/UCV2AZQStQ_KWOFy_6xePnyw` Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)` <details> <summary>Backtrace</summary> <p> ``` Missing hash key: "collectionThumbnailViewModel" (KeyError) from /usr/share/crystal/src/hash.cr:1198:9 in '??' from /usr/share/crystal/src/json/any.cr:149:5 in 'process' from src/invidious/yt_backend/extractors.cr:524:17 in 'process' from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item' from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items' from src/invidious/channels/videos.cr:29:22 in 'get_60_videos:continuation:sort_by' from src/invidious/routes/channels.cr:56:36 in 'videos' from lib/kemal/src/kemal/route.cr:13:9 in '->' from src/invidious/helpers/handlers.cr:31:37 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/invidious/helpers/handlers.cr:80:12 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/ext/kemal_static_file_handler.cr:127:14 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client' from /usr/share/crystal/src/fiber.cr:170:11 in 'run' from ??? ``` </p> </details>
Invidious encountered an error while trying to parse this item. For more information see below:
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)` Date: `2026-06-03T19:25:24Z` Route: `/channel/UCV2AZQStQ_KWOFy_6xePnyw` Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)` <details> <summary>Backtrace</summary> <p> ``` Missing hash key: "collectionThumbnailViewModel" (KeyError) from /usr/share/crystal/src/hash.cr:1198:9 in '??' from /usr/share/crystal/src/json/any.cr:149:5 in 'process' from src/invidious/yt_backend/extractors.cr:524:17 in 'process' from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item' from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items' from src/invidious/channels/videos.cr:29:22 in 'get_60_videos:continuation:sort_by' from src/invidious/routes/channels.cr:56:36 in 'videos' from lib/kemal/src/kemal/route.cr:13:9 in '->' from src/invidious/helpers/handlers.cr:31:37 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/invidious/helpers/handlers.cr:80:12 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/ext/kemal_static_file_handler.cr:127:14 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client' from /usr/share/crystal/src/fiber.cr:170:11 in 'run' from ??? ``` </p> </details>
Invidious encountered an error while trying to parse this item. For more information see below:
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)` Date: `2026-06-03T19:25:24Z` Route: `/channel/UCV2AZQStQ_KWOFy_6xePnyw` Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)` <details> <summary>Backtrace</summary> <p> ``` Missing hash key: "collectionThumbnailViewModel" (KeyError) from /usr/share/crystal/src/hash.cr:1198:9 in '??' from /usr/share/crystal/src/json/any.cr:149:5 in 'process' from src/invidious/yt_backend/extractors.cr:524:17 in 'process' from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item' from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items' from src/invidious/channels/videos.cr:29:22 in 'get_60_videos:continuation:sort_by' from src/invidious/routes/channels.cr:56:36 in 'videos' from lib/kemal/src/kemal/route.cr:13:9 in '->' from src/invidious/helpers/handlers.cr:31:37 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/invidious/helpers/handlers.cr:80:12 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/ext/kemal_static_file_handler.cr:127:14 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client' from /usr/share/crystal/src/fiber.cr:170:11 in 'run' from ??? ``` </p> </details>
Invidious encountered an error while trying to parse this item. For more information see below:
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)` Date: `2026-06-03T19:25:24Z` Route: `/channel/UCV2AZQStQ_KWOFy_6xePnyw` Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)` <details> <summary>Backtrace</summary> <p> ``` Missing hash key: "collectionThumbnailViewModel" (KeyError) from /usr/share/crystal/src/hash.cr:1198:9 in '??' from /usr/share/crystal/src/json/any.cr:149:5 in 'process' from src/invidious/yt_backend/extractors.cr:524:17 in 'process' from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item' from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items' from src/invidious/channels/videos.cr:29:22 in 'get_60_videos:continuation:sort_by' from src/invidious/routes/channels.cr:56:36 in 'videos' from lib/kemal/src/kemal/route.cr:13:9 in '->' from src/invidious/helpers/handlers.cr:31:37 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/invidious/helpers/handlers.cr:80:12 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/ext/kemal_static_file_handler.cr:127:14 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client' from /usr/share/crystal/src/fiber.cr:170:11 in 'run' from ??? ``` </p> </details>
Invidious encountered an error while trying to parse this item. For more information see below:
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)` Date: `2026-06-03T19:25:24Z` Route: `/channel/UCV2AZQStQ_KWOFy_6xePnyw` Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)` <details> <summary>Backtrace</summary> <p> ``` Missing hash key: "collectionThumbnailViewModel" (KeyError) from /usr/share/crystal/src/hash.cr:1198:9 in '??' from /usr/share/crystal/src/json/any.cr:149:5 in 'process' from src/invidious/yt_backend/extractors.cr:524:17 in 'process' from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item' from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items' from src/invidious/channels/videos.cr:29:22 in 'get_60_videos:continuation:sort_by' from src/invidious/routes/channels.cr:56:36 in 'videos' from lib/kemal/src/kemal/route.cr:13:9 in '->' from src/invidious/helpers/handlers.cr:31:37 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/invidious/helpers/handlers.cr:80:12 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/ext/kemal_static_file_handler.cr:127:14 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client' from /usr/share/crystal/src/fiber.cr:170:11 in 'run' from ??? ``` </p> </details>
Invidious encountered an error while trying to parse this item. For more information see below:
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)` Date: `2026-06-03T19:25:24Z` Route: `/channel/UCV2AZQStQ_KWOFy_6xePnyw` Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)` <details> <summary>Backtrace</summary> <p> ``` Missing hash key: "collectionThumbnailViewModel" (KeyError) from /usr/share/crystal/src/hash.cr:1198:9 in '??' from /usr/share/crystal/src/json/any.cr:149:5 in 'process' from src/invidious/yt_backend/extractors.cr:524:17 in 'process' from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item' from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items' from src/invidious/channels/videos.cr:29:22 in 'get_60_videos:continuation:sort_by' from src/invidious/routes/channels.cr:56:36 in 'videos' from lib/kemal/src/kemal/route.cr:13:9 in '->' from src/invidious/helpers/handlers.cr:31:37 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/invidious/helpers/handlers.cr:80:12 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/ext/kemal_static_file_handler.cr:127:14 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client' from /usr/share/crystal/src/fiber.cr:170:11 in 'run' from ??? ``` </p> </details>
Invidious encountered an error while trying to parse this item. For more information see below:
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)` Date: `2026-06-03T19:25:24Z` Route: `/channel/UCV2AZQStQ_KWOFy_6xePnyw` Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)` <details> <summary>Backtrace</summary> <p> ``` Missing hash key: "collectionThumbnailViewModel" (KeyError) from /usr/share/crystal/src/hash.cr:1198:9 in '??' from /usr/share/crystal/src/json/any.cr:149:5 in 'process' from src/invidious/yt_backend/extractors.cr:524:17 in 'process' from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item' from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items' from src/invidious/channels/videos.cr:29:22 in 'get_60_videos:continuation:sort_by' from src/invidious/routes/channels.cr:56:36 in 'videos' from lib/kemal/src/kemal/route.cr:13:9 in '->' from src/invidious/helpers/handlers.cr:31:37 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/invidious/helpers/handlers.cr:80:12 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next' from src/ext/kemal_static_file_handler.cr:127:14 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call' from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client' from /usr/share/crystal/src/fiber.cr:170:11 in 'run' from ??? ``` </p> </details>