I currently work with a product that is designed to capture data from three simple digital sensors and perform some calculations based on the outputs.

The sensors produce square waves (with different mark-space ratios) with frequencies from 1Hz to 100KHz.

The first iteration of the product was easy, it was wired, so was a simple matter of feeding the signals to a micro-controller and triggering interrupts.

The second iteration was a wireless solution where each signal had its frequency averaged over a short period, then sent via an XBee module, before finally reconstituting the averaged frequency at the other end. This solution works OK when the signal frequencies don't change, but understandably has accuracy issues when they do.

So my question is; how can I recreate my three digital signals over wireless as close to real time as possible?

I have a couple of initial thoughts of things that 'might' work, but some more expert knowledge/guidance would be appreciated.

  1. Sending some sort of time synchronisation message, and transmitting only time stamp data at a high data rate.
  2. Using a low precision (4-bit?), high speed ADC to capture the signal, and then streaming the data continuously over wireless, and then using a DAC to convert this back to a signal again at the other end.

enter image description here

  • \$\begingroup\$ To clarify your case: You develop a data capture device, which samples 3 channels. You want to feed test data into that device via a wireless XBee bridge? Edit: Your sensors capture only digital Signals? \$\endgroup\$ Nov 28, 2019 at 13:04
  • \$\begingroup\$ @DennisErnst That is a good summary, although the bridge doesn't necessarily have to be XBee, we are willing to consider any wireless technology \$\endgroup\$
    – Andy P
    Nov 28, 2019 at 13:13
  • \$\begingroup\$ Okay some more questions: - How is the test-data on the other end of the XBee generated? - Whats the purpose of the wireless bridge? (just galavanic isolation?) - As I'm not sure: The capture device reads only digital data? \$\endgroup\$ Nov 28, 2019 at 13:36
  • \$\begingroup\$ @DennisErnst Currently the averaged frequency is sent as a frequency, and then that frequency is recreated by a microcontroller at the other end. It is certainly a less than ideal solution. Yes, the signals are digital only. The purpose of the wireless solution is to allow the user freedom of movement without trailing 10+m cables to/from a handheld device. \$\endgroup\$
    – Andy P
    Nov 28, 2019 at 13:41
  • \$\begingroup\$ Either analyze the signal at the source and transmit a digital packet of conclusions. Or get something of sufficient bandwidth (maybe an FM video link?) send it raw and hope for the best, which will likely include interference failures at times. \$\endgroup\$ Nov 28, 2019 at 14:09

1 Answer 1


user1850479's suggestion seems the most workable. Filter the square waves down to sine waves, but with the zero crossings in the same place. Then you can either broadcast them on a shortrange audio solution if you can find one that works at up to 100kHZ - not bluetooth, since that subjects you to compression and latency. Or you can build your own small FM transmitter in a suitable band.

Have a look at the EU radio bands allocation; you'll end up picking 434.04-434.79MHz or 863-865MHz at low power, given that you'll be using 100% duty cycle for continuous transmission.

At the receiver end, use a comparator with hysterisis to reconstruct the square waves and identify the zero crossings. Or you can do it in an ADC if you prefer.


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.