# Webrtc Real Time API with microcontroller

**URL:** <https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806>\
**Category:** API\
**Tags:** api-realtime-speech\
**Created:** [December 17, 2024, 7:36pm UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806 "2024-12-17T19:36:19Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![olivier.ros](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/olivier.ros/32/279905_2.png) [@olivier.ros](https://community.openai.com/u/olivier.ros)\
**Post date:** [December 17, 2024, 7:36pm UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/1 "2024-12-17T19:36:19Z")

</div>

Hi! In the Day 9 demo, we saw a stuffed animal with a microcontroller consuming the WebRTC Real-Time API (link: [YouTube Live](https://www.youtube.com/live/XKABimtOWME?si=-fUinvDi-Y8SMFLG)).

Could you provide more details about the overall architecture? For example, is there a local server involved (like Node.js), or does the microcontroller connect directly to the API?

Also, would this be feasible to implement on an ESP32?

Any examples you can share would be greatly appreciated.

Thanks!

---

<div class="post-metadata">

**Author:** ![Foxalabs](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/foxalabs/32/738355_2.png) [@Foxalabs](https://community.openai.com/u/Foxalabs)\
**Post date:** [December 17, 2024, 7:44pm UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/3 "2024-12-17T19:44:31Z")

</div>



---

<div class="post-metadata">

**Author:** ![jeffsharris](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/jeffsharris/32/619093_2.png) [@jeffsharris](https://community.openai.com/u/jeffsharris)\
**Post date:** [December 17, 2024, 11:17pm UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/4 "2024-12-17T23:17:05Z")

</div>

we just published the source code for this!

> **[GitHub - openai/openai-realtime-embedded-sdk: A SDK to using the Realtime API with...](https://github.com/openai/openai-realtime-embedded-sdk/)**
>
> A SDK to using the Realtime API with Microcontrollers like the ESP32

---

<div class="post-metadata">

**Author:** ![olivier.ros](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/olivier.ros/32/279905_2.png) [@olivier.ros](https://community.openai.com/u/olivier.ros)\
**Post date:** [December 18, 2024, 9:27am UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/5 "2024-12-18T09:27:01Z")

</div>

Thanks!  
I will try to adapt your code for this [ESP32 S3 Radio](https://raspiaudio.com/product/muse-radio/) I have and post here if I success

---

<div class="post-metadata">

**Author:** ![Foxalabs](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/foxalabs/32/738355_2.png) [@Foxalabs](https://community.openai.com/u/Foxalabs)\
**Post date:** [December 18, 2024, 9:39am UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/6 "2024-12-18T09:39:55Z")

</div>

Will have to try this on an RP100.

---

<div class="post-metadata">

**Author:** ![vitaliy.hayda](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/vitaliy.hayda/32/512577_2.png) [@vitaliy.hayda](https://community.openai.com/u/vitaliy.hayda)\
**Post date:** [December 18, 2024, 11:25am UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/7 "2024-12-18T11:25:24Z")

</div>

I’m really hoping this will work @olivier.ros - please tag me as soon as you get it working, along with the steps to recreate it 👐 💛

---

<div class="post-metadata">

**Author:** ![Sean-Der](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/sean-der/32/518059_2.png) [@Sean-Der](https://community.openai.com/u/Sean-Der)\
**Post date:** [December 18, 2024, 5:52pm UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/8 "2024-12-18T17:52:18Z")

</div>

@vitaliy.hayda @olivier.ros @Foxalabs I would love to make this platform agnostic! If you want to put up your WIP PRs I will make sure this ends up be something usable for everyone 🙂

---

<div class="post-metadata">

**Author:** ![Foxalabs](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/foxalabs/32/738355_2.png) [@Foxalabs](https://community.openai.com/u/Foxalabs)\
**Post date:** [December 18, 2024, 5:54pm UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/9 "2024-12-18T17:54:58Z")

</div>

I did a lib for Arduino to access ChatGPT back in 3.5 days 😃 Was a fun little task, hopefully will get some spare time over the holidays to go experiment with realtime on a bunch of hardware in my dev cave.

---

<div class="post-metadata">

**Author:** ![olivier.ros](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/olivier.ros/32/279905_2.png) [@olivier.ros](https://community.openai.com/u/olivier.ros)\
**Post date:** [December 20, 2024, 10:36pm UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/10 "2024-12-20T22:36:02Z")

</div>

I made it work on the [ESP32 S3 Muse Radio](https://raspiaudio.com/product/muse-radio/) but it’s picking up it’s own response, I think webrtc has built-in noise cancellation but how to activate it?

[![](https://us1.discourse-cdn.com/openai1/original/4X/7/a/e/7ae603dbec119563239b905e0e4a2b51f5efed6a.jpeg "Muse radio with ChatGPT realtime api webrtc without echo cancelation.") ](https://www.youtube.com/watch?v=Q9BVurtly_M)

---

<div class="post-metadata">

**Author:** ![gianpaj](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/gianpaj/32/472292_2.png) [@gianpaj](https://community.openai.com/u/gianpaj)\
**Post date:** [December 30, 2024, 10:58am UTC](https://community.openai.com/t/webrtc-real-time-api-with-microcontroller/1059806/11 "2024-12-30T10:58:06Z")

</div>

I’ve ordered these components from M5stack. Hopefully, that’s enough to try to replicate this 🙂

- Atomic Echo Base with Microphone and Speaker
- ATOMS3R Development Kit with 0.85-inch Screen (8MB PSRAM)

m5stack [dot] com

(not sponsored or work for them)
