Skip to content

Draft: transmitting with esp8266#50

Open
devkral wants to merge 1 commit intopeterhinch:masterfrom
devkral:fixes/esp8266_transmit
Open

Draft: transmitting with esp8266#50
devkral wants to merge 1 commit intopeterhinch:masterfrom
devkral:fixes/esp8266_transmit

Conversation

@devkral
Copy link
Copy Markdown

@devkral devkral commented Mar 22, 2026

esp8266 can transmit now.

Not 100% sure that this works. You might want to test it.

@peterhinch
Copy link
Copy Markdown
Owner

From the docs:

ESP8266 is unsupported; it seems incapable of generating the required signals.

I spent some time studying this and drew the above conclusion. By all means feel free to experiment, but unless there is some specific firmware improvement I feel disinclined to revisit this.

@devkral
Copy link
Copy Markdown
Author

devkral commented Apr 1, 2026

but maybe machine.bitstream(...) could do the wonder. I tried but failed.

@peterhinch
Copy link
Copy Markdown
Owner

peterhinch commented Apr 2, 2026

There are a few challenges: machine.bitstream() assumes a sequence of bits, each encoded with the same timing. IR sequences generally start with a preamble with special timing. Also you need a way of implementing the 38KHz carrier. This can be done with PWM, with the modulation done with a simple external circuit.

A generic solution - i.e. one supporting all the protocols - would need some thought.

[EDIT]
From the docs

The transmit method is synchronous with rapid return. Actual transmission occurs as a background process...

As I understand it machine.bitstream() is a blocking method. This would make it impossible to conform with this requirement.

However if you're happy with writing a blocking method for a single protocol I think a solution using machine.bitstream() and PWM is feasible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants