Control an ATEM Video Switcher from an ESP32 with ESP-idf
Find a file
2025-10-18 15:24:12 +02:00
example Moved from raw pointers to std::vector and initial code for better out of order packet handeling 2024-08-25 17:47:22 +00:00
include AtemCommand now uses std::unique_ptr for memory management 2025-10-18 15:24:12 +02:00
src AtemCommand now uses std::unique_ptr for memory management 2025-10-18 15:24:12 +02:00
.gitignore Add events to received commands 2023-07-27 14:10:55 +02:00
CMakeLists.txt refactor: Remove old references to console 2023-12-27 15:51:12 +01:00
Doxyfile Add support for new commands, and added more documentation 2023-06-07 11:43:40 +02:00
idf_component.yml docs: Add example to project 2024-03-31 22:31:43 +02:00
Kconfig feat: Allow the disable of packet storage 2024-01-03 16:02:18 +01:00
LICENSE Moved from raw pointers to std::vector and initial code for better out of order packet handeling 2024-08-25 17:47:22 +00:00
README.md Moved from raw pointers to std::vector and initial code for better out of order packet handeling 2024-08-25 17:47:22 +00:00

ATEM Communication for ESP-IDF

*THIS CODE COMES WITH ABSOLUTELY NO WARRANTY

Notice

ATEM, ATEM CONTROL and all other references to Blackmagic Design are trademarks of Blackmagic Design Pty. Ltd.

This code is based on the reverse engineering of the ATEM protocol by SKAARHOJ (source). [CC BY-SA 2.0]

This list contains other notable projects that where used during the making of the library.

How can I use this?

This code is designed for an ESP32 with an LAN8720 chip, but it should work on just a normal ESP32. There is a linux-port branch on this repo, its a modified version of this code that can be compiled and run on any linux device.

There are two examples inside the example directory:

  • basic-preview-switcher
  • atem-console

You can use doxygen to generate documentation, just run doxygen Doxyfile.

License

The MIT License (MIT) - Copyright (c) 2023 Wouter (wjtje)