Ignacio Vazquez-Abrams
  • Member for 7 years, 9 months
  • Last seen more than 3 years ago
5 answers
42 votes
45k views
Difference between Arduino.cc and Arduino.org
Accepted answer
43 votes

The short of it is that there was a falling out within the Arduino people and now there are two groups laying claim to the "Arduino" name. Arduino LLC runs arduino.cc. They are the steward of the ...

View answer
5 answers
26 votes
106k views
First time set up- permission denied to usb port- ubuntu 14.04
39 votes

From the documentation: Open Terminal and type: ls -l /dev/ttyACM* you will get something like: crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0 The "0" at the end of ACM might be ...

View answer
1 answers
17 votes
10k views
What's the 2nd ICSP header for in Arduino Uno R3?
Accepted answer
14 votes

It's for the other MCU on the board. The main MCU on the Uno is labelled "ZIC1". This is the one that is programmed when you press "Upload" in the IDE. But unlike other Arduinos that use a FTDI chip ...

View answer
2 answers
9 votes
6k views
Does the Arduino Uno have two crystals?
Accepted answer
13 votes

The ceramic resonator in yellow is connected to the main MCU, and the crystal in red is connected to the other MCU. USB requires tighter tolerances than is available from a resonator therefore a ...

View answer
2 answers
11 votes
1k views
Understanding the compilation/linking/upload process (so I don't have to use the IDE)
Accepted answer
13 votes

If you want an exact duplication of what the IDE does but want it driven from the command line, that's what Ino is for. The full Arduino build process involves copying a lot of files from a lot of ...

View answer
1 answers
5 votes
23k views
How do I send a string to master using i2c
Accepted answer
11 votes

data is a String. "test" is a char*. Wire.write() has no prototype that takes a String. Wire.write(data.c_str());

View answer
4 answers
6 votes
28k views
How do I transfer more than 1 byte at once via SPI bus?
Accepted answer
11 votes

I believe Arduino's SPI.transfer waits to receive 8 bits after sending 8 bits. Incorrect. With SPI, a byte is clocked in at the same time as a byte is clocked out. It may be that this byte is simply ...

View answer
6 answers
16 votes
57k views
How can I get the source files for Arduino libraries?
Accepted answer
10 votes

The base Arduino source files are in the Arduino installation, under cores/arduino/. Source for additional libraries included are in libraries/.

View answer
4 answers
10 votes
5k views
How to move from arduino to physical prototype
Accepted answer
10 votes

The best thing to do is, of course, to use a PCB. But it doesn't need to be a custom PCB; there are plenty of pre-made PCBs that are usable for approximately 98% of designs. Here are just a few: ...

View answer
2 answers
4 votes
14k views
Convert Arduino Pro Mini 5v to use 3.3v
10 votes

I have good news, and I have bad news. The good news is that only two changes to the board are required to change it from a 5V board to a 3.3V (or any voltage within spec) board. The bad news is ...

View answer
3 answers
8 votes
10k views
PROGMEM: do I have to copy data from flash to RAM for reading?
Accepted answer
10 votes

AVR is a modified Harvard architecture family, so code is stored in flash only, whereas data exists primarily in RAM when being manipulated. With that in mind, let's address your questions. Why on ...

View answer
2 answers
50 votes
63k views
What happens if I power the Arduino with both the USB and external power voltage simultaneously?
Accepted answer
10 votes

From arduinoBoardUno: Power The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically. Put the external power through a ...

View answer
1 answers
8 votes
799 views
Can I program a 3.3v chip on a 5v board?
Accepted answer
10 votes

The clock speed selected will affect both delay*() and millis()/micros() as well as the functions in <util/delay.h>, therefore you must use the target system's correct clock speed if you are ...

View answer
3 answers
2 votes
196 views
Can anybody advise what type of connector this is?
Accepted answer
9 votes

The board uses a JST PH connector, with 2.0mm spacing. The battery has a JST XH connector, with 2.5mm spacing. You will need to replace the battery connector or put a XH socket on the board.

View answer
1 answers
5 votes
395 views
Arduino PWM malfunctioning
Accepted answer
9 votes

Pin 11 is shared between both PWM and SPI. By activating SPI you've disabled PWM from working on that pin. Either use another PWM pin instead, or switch to software SPI on different pins.

View answer
4 answers
13 votes
7k views
Is setup and loop provided for convenience?
9 votes

Are these functions only provided for convenience or do they actually have special purposes? The Arduino libraries do a tiny bit of housekeeping with loop(), related to serial handling. Are these ...

View answer
4 answers
6 votes
3k views
What's the most efficient implementation of map(x,0,1023,50,250)?
9 votes

The screenshot shows a base-2 (i.e. binary) result of calculating the constant part of a mapping. You can approximate this multiplication by a constant by a number of shifts added together. You need ...

View answer
1 answers
4 votes
78 views
How does the microcontroller know which clock to use?
Accepted answer
8 votes

Burning the bootloader via the Arduino IDE also sets the fuse bits according to its configuration files.

View answer
2 answers
1 votes
12k views
How to read code from Arduino Uno to Arduino IDE?
Accepted answer
8 votes

Can we read and get C codes from compiled codes from Arduino hardwares? While it is possible, even trivial, to disassemble machine code, it is very difficult to convert the assembly code into a ...

View answer
2 answers
4 votes
11k views
How to program ATTiny85 running 3.3V
Accepted answer
8 votes

Since the ATTiny can easily run at 5V I don't see any problem with programming it at 5V levels and then run it at 3.3V. Is that correct? Yes. But if there are any components on the board that can't ...

View answer
3 answers
5 votes
11k views
Help with parts identification from arduino starter kit from aliexpress
Accepted answer
8 votes

Those are tilt sensors. The rattling is a metal ball that contacts two pins inside, closing the connection. The 1838B is a full module that partially decodes the received IR so that a MCU can fully ...

View answer
1 answers
5 votes
1k views
PWM signaling with Arduinos: What is the reason for the ground connection?
Accepted answer
8 votes

Is PWM really a signal? To me, it looks like an electric current turned on and kept on for a certain time, then off for a while repeatedly. What makes this a "signal"? At the most basic, it is a ...

View answer
1 answers
3 votes
12k views
Difference between void setup() and void setup(void)
Accepted answer
8 votes

Absolutely nothing, in modern versions of C and C++. Specifying no arguments is the same as specifying void. In old versions of C a function with no arguments took a single implicit int argument or ...

View answer
1 answers
5 votes
336 views
What is causing my Uno to wake up?
Accepted answer
8 votes

sleep_enable() allows the MCU to sleep, but it does not cause it to sleep. Call sleep_cpu() after enabling.

View answer
2 answers
7 votes
4k views
Level detection of 3.3V from 5V arduino
Accepted answer
8 votes

You've... misread the datasheet. The '328 input high voltage (VIH) for most pins is 0.6VCC minimum for devices with a 2.4-5.5V supply. This means that a 5V device has a 3V threshold.

View answer
3 answers
3 votes
102 views
Arduino int problem
7 votes

int in AVR GCC is 16 bits. All possible int values are less than 32767.

View answer
2 answers
5 votes
67k views
"stray '/302' in program error" when compiling
Accepted answer
7 votes

0302 is 0xc2. Somewhere in your source you have one or more non-breaking spaces (0xa0) encoded in UTF-8 (0xc2 0xa0). Use od or a similar tool to find them, and then replace them with normal spaces. ...

View answer
4 answers
5 votes
685 views
Briefly "wake up" Arduino in response to an event
7 votes

Easy answer: Don't. Have the Arduino sleep most of the time, and let the door handle invoke an interrupt that wakes it up. Then do whatever processing is required, and then go back to sleep. This ...

View answer
3 answers
7 votes
1k views
Using Arduino for Industrial process
Accepted answer
7 votes

I wouldn't use the Arduino in an industrial environment, as I wouldn't trust its PCB to be able to handle much noise. Use the Arduino and shields to prototype your application, and then move to a ...

View answer
1 answers
3 votes
769 views
How can I make pinMode calls faster?
Accepted answer
7 votes

First, figure out which port and pin you're using. Then, manipulate them. DDRC &= ~_BV(PC5); PORTC |= _BV(PC5); ... DDRF &= ~_BV(PF5); PORTF |= _BV(PF5); ... DDRF &= ~_BV(PF0); PORTF |...

View answer
1
2 3 4 5
16