I'm doing my project on haptic feedback systems. I need a 56bits of data transmitted over wirelessly to a computer to process and send the output to another arduino. I tried ESP8266 using TCP/IP protocol. But it is very slow. Are there any faster modules to do the above task with 100hz speed?

  • Note, please edit your question in reply Jan 15 '17 at 18:32
  • Usually protocols that package up data and test for errors are too slow for real time purposes. This is why gamers, for example, like using a corded mouse over a wireless mouse. Unfortunately when you go this route you are usually left with out all the abstractions that make using a common protocol like TCP/IP almost easy. It is up to you to research this more. But it sounds like you are entering into the world of serial port radios using simple but very specific proprietary protocols. And, for all I know, you only need to communicate in one direction. Which would simplify your hardware.
    – st2000
    Jan 15 '17 at 18:41
  • 1
    [edit of my earlier comment, with bps correction] Have you also tried UDP/IP? Lower overhead might make a difference. Although if you aren't getting 5600 bps thruput (ie, 56*100 payload bits) with TCP/IP, probably something's wrong in your setup, which you haven't detailed enough for comment upon. You could provide a Minimal, Complete, and Verifiable example code and part numbers plus name of host computer; could be most of the delay is in the host. Jan 15 '17 at 20:28
  • With TCP/IP most of the delay is the act of opening the socket. If you open a socket, send a couple of bytes, then close the socket, yes it is going to take a long time. However, if you open the socket and keep it open then TCP/IP can be quite fast. Over a local network it's as good as a serial connection.
    – Majenko
    Jan 15 '17 at 20:57

Make one static tcp connection with a regular check and on error event to restore it in case it drops. Tcp must be able to run data at your rate. If not, maybe the main arduino loop has delays in it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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