I'm trying to build an FM transmitter like pifm but using the ESP32. I can generate an FM signal at the DAC output of the ESP32 with a carrier frequency of 1 MHz and a deviation of 25 kHz, but in order to use a mobile phone as a receiver I need to up-convert the frequency to about 100 MHz.

I will be using the Si5351 clock generator for the LO

  • Is the NE602 suitable for this job?
  • Can you suggest some other RF mixers for the same task?
  • \$\begingroup\$ When you say you want to mix up your 1 MHz IF to 100 MHz, where do you plan to take the oscillator for that mixing from? Can you make your esp generate that, too? \$\endgroup\$ Jan 25, 2023 at 9:19
  • \$\begingroup\$ A mobile phone won't receive 100 MHz FM. A transistor radio might. Building a self-oscillating 100 MHz frequency modulated oscillator seems much easier than your proposed method. \$\endgroup\$
    – Andy aka
    Jan 25, 2023 at 10:31
  • 3
    \$\begingroup\$ @Andyaka I think they're referring to the built-in FM broadcasting receiver built in to many lower- and midgrade phones, primarily. \$\endgroup\$ Jan 25, 2023 at 13:57
  • \$\begingroup\$ Yes, NE602 (SA612) is OK. Circuits in NXP's data sheet are normally down-converters, but can be adapted to up-convert. \$\endgroup\$
    – glen_geek
    Jan 25, 2023 at 13:58
  • \$\begingroup\$ @MarcusMüller I will be using the Si5351 clock generator for the LO. \$\endgroup\$
    – Hamdon
    Jan 25, 2023 at 15:48

3 Answers 3


You could probably directly program your LO synthesizer via I²C to do the FM for you directly at the RF frequency, just the way you probably are reprogramming the timer/PWM unit of your ESP32 ;)

But yeah, that'd be significantly more work, and probably much harder on the ESP32 to generate the I²C messages, up to the point where it becomes infeasible. But yeah, as long as you have something that directly produces a \$f_{\text{RF target}} - f_{\text{intermediate}}\$ oscillation, you should be able to directly multiply the two using an SE612/SA612/NE602….

In such purely digital applications, however, it's not rare to use a chopper mixer at an integer fraction of the target frequency, and filter out all but the desired harmonic; if your ESP32 can produce a stable 33 MHz or 20 MHz rectangle, you could consider using that, and a simple switch IC plus analog bandpass filtering to achieve your mixing.


The NE602 should work. You could put the 99MHz synthesizer into the LO and your 1 MHz FM into the RF, or vice versa, either way you'll probably be overdriving the RF unless you cut down the signal level since it saturates at under 10uW RF power.

That's OK but:

(a) don't expect much output power, maybe 0.1mW.

(b) there will be a lot of other junk besides your 100 MHz output. With a 99 MHz LO you'll be getting a 98 MHz FM signal of equal amplitude and deviation. If you overdrive the RF you'll also get smaller outputs at 96 and 102 MHz (if balanced RF input) or 96, 97, 101, and 102 (if single ended RF input), these will have double or triple the FM deviation.

(c) Output impedance 3K balanced, so if you are going to run it direct into an antenna and you have the space a multiturn loop adjusted to parallel resonance and connected across the balanced output will be better than a monopole or dipole antenna. But if you don't care about matching and range the old random wire is probably good enough.


If you mix 1MHz and 100MHz you will get signals at 99MHz and 101MHz. Those are so close to each other, that il well be very hard (if not impossible) to filter the desired frequency. For a usable situation you better try to increase the 1MHz to 5 or 10MHz before upconversion.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.