Lemon-RX UART and PPM output


I have had a Lemon-RX (previously known as Orange-RX) DSM2 6-Channel Receiver (PPM + UART)

sitting around for a bit, and finally got around to hooking it up to my logic analyzer and checking it out today.  I was interested in this RX as an inexpensive option if you need PPM output and run Spektrum/JR gear.  I knew from the spec sheet that the channel resolution on the UART output was a bit coarse.  It runs DEC(66) ~ DEC(134) full scale, giving only 68 disrete levels.  The PPM output is a bit better with a minimum change of about 12 microseconds, so about 83 steps.  Bumping my TX endpoints up got it up to 100 steps.  So that is not great, but OK for drone use IMO.  The stability and jitter looked really quite good at around 1 microsecond.


This RX comes as a bare board with a 3x7 header and 3x2 header soldered on.  It is a bit longer than an AR6200 and a bit narrower.  Some careful work with a soldering iron should allow for removal of the headers and soldering in a 3 wire pigtail if all you need is PPM, leaving you with a very thin package.


I have not done any range testing, but my expectation is that it should be similar to a real AR6200 as they are using the Cypress RF chipset.  Seems like a pretty good PPM option for only US$ 15.30 (plus shipping of course).

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Moderator

    I'm looking for an 8+ ch DSM Rx with PPM output. However, if APM/Pixhawk will support UART control, the model listed above is an option. Any word on whether such a decoder will be present in a future firmware release? Being that Pixhawk has 5 UARTs, it seems like a good option.

  • Dear Developer,

    Thank you for your comment and we did aware your post and made improvement! We have now improved the UART resolution to 256 level (0 to 255 dec.) with Lemon Rx 8 / 10 channels receiver board updated every 11ms.

    The UART speed is now opearting at 115200 bps, 8N1 with the following frame format.

    Condition 1) UART output specification when no signal received (device reset and continuously monitor for valid signal roughly about every 0.5 sec):

    - <0x13><'R'><'E'><'S'><'E'><'T'><0x13>

    - <0x13> is used as header for beginning and ending identifier

    Condition 2) UART output specification when signal is received ( updated ~11ms with 2048/11ms DSM2 protocol with 12 bytes of information):

    - <0x13><Throttle><Aileron><Elevator><Rudder><Gear><Aux1><Aux2><Aux3><Aux4><Aux5><0x13>

    - DEC(0) ~ DEC(255) refer to the approximate value for each of the full range control output for the channels.

    - <0x13> is used as header for beginning and ending identifier

    You may check out the no-pin version of 10 channels in the following links.

    We deliberately make it as 8 bits wide information per channel for the new design as we think 256 steps are very fine already and it is much easier to integrate with most low-cost 8-bit processor.

    Please let me know if you have any comments. Thanks!

    Best Regards,

    Lemon Rx Officer

  • Developer

    Correct - only 100 steps.  I don't remember what the 3dr ppm has for resolution but the last ppm encoder I programmed I used 1000 steps.

  • Hey Doug, are you saying this has a resolution of only about 100 steps per channel? 

    What's a good number - for instance the 3DRobotics 8 Channel PPM Encoder V2 (link) - how many would that support is hooked up to a good Rx with hi-res?

  • Developer

    I forgot to mention that the channel order is a bit strange: Ail, Flap, Gear, El, The, Rud.  If you don't have the ability to remap this that could be a problem.

This reply was deleted.