diff --git a/mavlink-core/Cargo.toml b/mavlink-core/Cargo.toml
index e4df6bbab6e2e90a7133dfdfe6c3a83a65b9f0d3..db3504e1cc38e2516c469825c55dbd4b88a44318 100644
--- a/mavlink-core/Cargo.toml
+++ b/mavlink-core/Cargo.toml
@@ -26,6 +26,7 @@ embedded-io-async = { version = "0.6.1", optional = true }
 serde = { version = "1.0.115", optional = true, features = ["derive"] }
 serde_arrays = { version = "0.1.0", optional = true }
 serial = { version = "0.4", optional = true }
+tokio = { version = "1.0", default-features = false, features = ["io-util"], optional = true }
 
 [features]
 "std" = ["byteorder/std"]
@@ -38,4 +39,5 @@ serial = { version = "0.4", optional = true }
 "embedded" = ["dep:embedded-io", "dep:embedded-io-async"]
 "embedded-hal-02" = ["dep:nb", "dep:embedded-hal-02"]
 "serde" = ["dep:serde", "dep:serde_arrays"]
+"tokio-1" = ["dep:tokio"]
 default = ["std", "tcp", "udp", "direct-serial", "serde"]
diff --git a/mavlink/Cargo.toml b/mavlink/Cargo.toml
index 4fd09da02d728841152d35f8dd53c37d8cb6df62..714d79cd52234db97c370e3085d1d6ba33d73e26 100644
--- a/mavlink/Cargo.toml
+++ b/mavlink/Cargo.toml
@@ -99,6 +99,7 @@ serde_arrays = { version = "0.1.0", optional = true }
 "embedded" = ["mavlink-core/embedded"]
 "embedded-hal-02" = ["mavlink-core/embedded-hal-02"]
 "serde" = ["mavlink-core/serde", "dep:serde", "dep:serde_arrays"]
+"tokio-1" = ["mavlink-core/tokio-1"]
 default = ["std", "tcp", "udp", "direct-serial", "serde", "ardupilotmega"]
 
 # build with all features on docs.rs so that users viewing documentation