Skip to main content
7 votes

Multiple Wire.write() not working for Arduino Nano I2C

Important information: Wire.write() does NOT send anything over the I2C lines. It just puts the data into the libraries internal buffer. The actual transmission is then done by Wire.endTransmission(). ...
chrisl's user avatar
  • 16.5k
7 votes
Accepted

Bi-directional UART communication on single data wire, possible?

You can have bidirectional communication over a single wire by using open-collector outputs. For this, you could add a circuit like this on each side of the link: simulate this circuit – ...
Edgar Bonet's user avatar
  • 44.3k
6 votes

Difference between Wire.setClock() method and TWBR method for changing I2C Frequency

They are both one and the same. One is easier to remember though (I'll let you work out which). Wire.setClock(frequency) just (ultimately) does: TWBR = ((F_CPU / frequency) - 16) / 2; You can set ...
Majenko's user avatar
  • 106k
5 votes

RS485 Multimaster Communication with collision avoidance

There is a ready out the box solution documented in https://github.com/MichaelJonker/HardwareSerialRS485/wiki (This wiki describes the library you referred to). The problem is quite complex: ...
user29699's user avatar
5 votes

Serial Communication between ESP8266 and Arduino Uno

Since you are Arduino Uno, it has only one Serial. This Serial can be used to transmit data in USART mode to another Serial Device as well as see any Debug data in the Serial terminal. However, both ...
goddland_16's user avatar
5 votes
Accepted

Sending string over serial to nodejs app. Why does it get chunked?

It seems I needed to add a parser to SerialPort nodejs module, in order to specify how the input should be treated. I changed my code to this: var SerialPort = require('serialport') var Readline = ...
jotadepicas's user avatar
5 votes
Accepted

Is the arduino hackable when using communication shields?

You should be pretty safe, at least as long as your code handles the incoming data properly. When you upload a new sketch through USB, the USB-to-serial interface uses the Arduino pins TX0, RX0 and ...
Edgar Bonet's user avatar
  • 44.3k
5 votes
Accepted

Why is the IDE not able to find the board despite it being clearly seen and selected?

The SAMD boards connect to computer over native USB support of the MCU. The handling of the USB is done by Arduino core functions linked at build to your sketch. A consequence of using the native USB ...
Juraj's user avatar
  • 18.2k
5 votes
Accepted

How to send multiple data over serial in one byte?

You should learn how to use bitwise operators. These are needed to do what you want. We can save the state of each switch in one bit each. For this we first define our global variable that will hold ...
chrisl's user avatar
  • 16.5k
4 votes
Accepted

Difference between Wire.setClock() method and TWBR method for changing I2C Frequency

Whats the difference between the 2 methods? The difference is that one is more portable than the other. The "direct register set" will not work very well on an Arduino Due. There is no speed or ...
Mikael Patel's user avatar
  • 7,979
4 votes

Hacking old car dvd monitors with arduino

I realize this is an ancient question, but just in case someone else has one of these things, I'll share what I know. I have one of these Sharp LCDs that I typically use as a monitor for a Commodore ...
BYTESHiFT's user avatar
4 votes
Accepted

433 MHZ connection between two Arduino (nano,uno) fails after some time

Regarding the hardware problem, there are some advices in the comments. As you wrote, the solution is to reduce the bitrate at 2000 bps. The remaining question is why the receiver always truncates ...
Razvan Socol's user avatar
4 votes
Accepted

Communicating to arduino as fast as real-time

Going over USB will add about a millisecond of jitter to your data in both the sensing and command directions. Using a part with direct USB rather than then needing to go through a serial link from ...
Chris Stratton's user avatar
4 votes
Accepted

I change ESP8266 baudrate and now it doesn't work

Have you tried setting the web editor's baud rate to both the old and the new values? I ask because the CIOBAUD command has been obsolete for a while now so, depending on the age of your device, it ...
JRobert's user avatar
  • 15.3k
4 votes

Missing character when introducing delay in the code

If serial data is coming in, and your code is doing a delay, the incoming data is stored in a buffer (of 64 bytes). But if you wait too long, the buffer will fill-up. Once it's full, any further ...
Gerben's user avatar
  • 11.3k
4 votes

How to automatically reset the NRF24L01 module

This is a known problem with those chips (especially Chinese clones). It is caused when a chip gets stuck in TX mode waiting for an ACK that never arrives back. The chips don't have a "reset", but ...
Majenko's user avatar
  • 106k
4 votes
Accepted

Sending data struct with 2 int fields from Arduino to Raspberry via NRF24L01

Your problem is that you are communicating between an 8-bit and a 32-bit architecture. On an 8-bit architecture int is 16 bits. On a 32-bit it's 32 bits. Why the difference? Because "it is". ...
Majenko's user avatar
  • 106k
4 votes
Accepted

how can I accurately recieve potentiometer values over the USB port?

There are a few issues at play here. One is that the Arduino resets every time you open the serial connection on the PC side. You can prevent this by putting a 1 µF (or more) capacitor between 5V and ...
Edgar Bonet's user avatar
  • 44.3k
4 votes
Accepted

Arduino Timer Drift Issue

Any fee-running clock will drift. Worse yet: its drift rate will not be constant. This is a fact of life, and there is nothing you can do about it. There is no software solution, although your ...
Edgar Bonet's user avatar
  • 44.3k
3 votes

Why/when to use IoT publish/subscribe protocols rather then RESTful HTTP?

In my experience ReST is good for real-time data transfer and processing but has a lot of overhead for simple message passing. Plus, there's no queuing in it so store-forward configurations are ...
JW52761's user avatar
  • 61
3 votes

Does the SIM800L works in the US?

I wanted to post an update in April 2021 on the status of this question. The SIM800L will work in the US, but T-Mobile is the only carrier that it can interface with. AT&T shut down its compatible ...
settwi's user avatar
  • 131
3 votes
Accepted

Send commands to ESP8266 over WiFi

Depending on what best suits your needs, you could use: http GET/POST commands Websockets over http MQTT protocol Your own TCP or UDP socket protocol etc. In all cases, what you code into the ...
jose can u c's user avatar
  • 6,974
3 votes

Hacking old car dvd monitors with arduino

Your best bet is to try to take the casing off until you find a company name so that you can get a lead on where to look for documentation. Because until you find out more about how that screen works, ...
Tri's user avatar
  • 73
3 votes
Accepted

Can regular Arduino pins be used during SPI?

I did not check the datasheet of the RF69, but it is customary for SPI devices to have a “slave select” input pin. When such a device is not selected, it will leave its MISO pin in high impedance and ...
Edgar Bonet's user avatar
  • 44.3k
3 votes

Serial Comm. timing issue between Arduino and Pyserial

Your main problem is in erroneously having a delay in both the sender and the receiver. While this sometimes works by lucky accident, it essentially never does what is hoped for by those who try it. ...
Chris Stratton's user avatar
3 votes

Programmatically Change Arduino Com Port Name

On Windows you can change the "Friendly names" assigned to devices and COM ports are devices. The process is basically open the device manager, open the device properties, find the 'Device Key' and ...
Code Gorilla's user avatar
  • 5,637
3 votes
Accepted

Will the Arduino's low clock speed limit wireless transmission frequencies that are higher than the clock speed of the Arduino?

The frequency of a (wireless) radio is its carrier frequency. The data stream is carried on it by modulating that carrier wave in some way: by frequency-shifting, for example. A given processor could ...
JRobert's user avatar
  • 15.3k
3 votes

Solution for simple multi-Arduino communication network (or alternative?)

Thanks all for your answers. I did some more research with the new info you provided and found my perfect solution: TCA9548A. That's a 1-to-8 port i2c multiplexer that will allow the master MEGA2560 ...
Chefo's user avatar
  • 61
3 votes
Accepted

Arduinos using I2C reading integers wrong

wire.write(n) sends a single byte of value n 150 decimal = 96 Hex 300 decimal = 012C Hex ...so is 2 bytes, and is truncated to one byte of value 2C Hex. 2C Hex = 44 decimal Send a single byte! ...
Jack Creasey's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible