14 votes

How can Arduino's 8 bit Microcontrollers handle C++

It's a misconception that using constructors or C++ in general requires lots of RAM. Plus, to be clear, the AVR processors like the Micro and Uno have separate RAM and PROGMEM (program memory). So, ...
Nick Gammon's user avatar
  • 38.2k
10 votes

Arduino Micro vs. Pro Micro

I actually think you are meaning what is the difference between the Arduino Mini and the Arduino Pro Mini, since there is no such board as the Arduino Pro Micro. However there is a board called the ...
sa_leinad's user avatar
  • 3,188
9 votes
Accepted

if(Serial) not working correctly on micro or pro micro

1) have i got an out of date bootloader? No. This has nothing to do with the bootloader. 2) if so how do i check? See above. 3) is this intended behavior and if so why? In a manner of ...
Majenko's user avatar
  • 105k
6 votes
Accepted

Generate particular pulse using Arduino

Take two 10K or so resistors: +5V | 10K | Pin2-+---> output | 10K | GND The following program does the trick: const uint8_t kPin = 2; const uint32_t kDelay = ...
JayEye's user avatar
  • 756
6 votes
Accepted

Unexpected negative values from abs() function inline with analogRead

abs() is defined in Arduino.h as a macro: #define abs(x) ((x)>0?(x):-(x)) A macro does not evaluate in the same way as a function. sensor = abs(analogRead(A0) - 512); This statement will be ...
Mikael Patel's user avatar
  • 7,969
6 votes
Accepted

Arduino Micro 5V Vin and 3v3 pins

Vin is a power INPUT. It is connected to the input of the voltage regulator, which enables you to power the Arduino with voltages between 6V and 12V, while the Arduino itself is running on 5V. The 5V ...
chrisl's user avatar
  • 16.3k
5 votes

Generate particular pulse using Arduino

If both inputs are 0V, the output will be 0V. If both inputs are 5V, the output will be 5V. If one input is 0V and one 5V the output will be 2.5V. However, if the device attached to the output ...
Gerben's user avatar
  • 11.3k
5 votes
Accepted

What's the problem with baudrate?

On a direct USB CDC/ACM connection (as you get on the Micro) there is no such thing as baud rate. Any baud rate setting performed by the host (the PC) is merely an instruction to the device (the ...
Majenko's user avatar
  • 105k
5 votes

How to have some code executed at a certain time of day with a DS3231 RTC?

If you are getting 165:165:165 that indicates usually a problem with your I2C bus. But it might also be a power problem in the RTC. In any case, check your wiring. Your processor is simply not ...
SDsolar's user avatar
  • 1,165
5 votes

How can Arduino's 8 bit Microcontrollers handle C++

The talk about C++ being incompatible with small MCUs implies that developers would use features it provides. In a good C++ project you're expected to use vectors and iterators instead of C arrays, ...
Dmitry Grigoryev's user avatar
5 votes

How can Arduino's 8 bit Microcontrollers handle C++

C++ is fine with Arduinos or other AVR based Systems. I've been use it for quite a while in a home automation project. The avr runtime does not support exceptions nor dynamic memory allocation, as ...
Alexander's user avatar
5 votes
Accepted

What does a tilde (~) mean as annotation for a data pin?

It means the pin can be a PWM output for use with analogWrite().
Majenko's user avatar
  • 105k
4 votes
Accepted

LED bar graph script not working

Both v and vref are integers, which means that integer division will be performed. if v is ever less than vref then the result will be 0. Multiply first, then divide.
Ignacio Vazquez-Abrams's user avatar
4 votes
Accepted

Use lowpower-libary and still use serial connection and other things

Yes, activating low power does disable the UART - but only while it's sleeping. To use serial you just need to ensure that you only use it while it's not sleeping - and due to the interrupt and ...
Majenko's user avatar
  • 105k
4 votes
Accepted

Square wave generator generates a shorter pulse from time to time

There are two issues here: There is a data race on counter[]: it can be modified in interrupt context while it is being read (or even modified) by the main program. Clearing counter[y] will make you ...
Edgar Bonet's user avatar
  • 43.1k
3 votes
Accepted

How do I power my Arduino Micro directly?

According to this schematic, VIN goes to the on arduino-micro's 5 and 3 volt regulators. So you should not need a resistor. The 5 volt regulator needs a bit more than 5 volts at it's input to do a ...
st2000's user avatar
  • 7,343
3 votes

Driving numerous chips from 2 separate SPI connectors w/ Arduino Micro

The micro only has one SPI bus. It is SCK/MISO/MOSI. You may want a second one, but you don't have one. You can't magic one up out of thin air. You could emulate one in pure software (bit-banging) ...
Majenko's user avatar
  • 105k
3 votes
Accepted

External power supply?

My question is, can I just split the power from the wall-wart providing 5v_reg directly to the 5V pin on the Arduino Micro and 5v_reg to the LEDs Vss? Yes. As long as it is a clean regulated 5V ...
Majenko's user avatar
  • 105k
3 votes

Arduino micro lost connection after first programming

The USB part of the Atmega32U4 needs quite a bit of software to operate correctly, which is either not included in the basic blinky example or you got a binary for a different Arduino model. The ...
Turbo J's user avatar
  • 131
3 votes
Accepted

Having problems compiling this code for NRF24l01 on arduino uno and arduino micro

You have multiple copies of the library. Delete the folder located at: C:\Users\Owner\Documents\Arduino\libraries\RF24ArduinoCommunicator-master
Avamander's user avatar
  • 624
3 votes
Accepted

How to have some code executed at a certain time of day with a DS3231 RTC?

SDA and SDL pins on an Arduino Micro are on pins D2 and D3 as mentioned on the official page: TWI: 2 (SDA) and 3 (SCL). Support TWI communication using the Wire library. and shown on this pinout ...
gre_gor's user avatar
  • 1,682
3 votes
Accepted

Arduino-based mains frequency monitor follow-up

You should remove the capacitor. It won't remove any DC offset because there can be no DC offset. From where would the DC offset be relative? There is only two points in the circuit, and both of them ...
Majenko's user avatar
  • 105k
3 votes

Is there any way to use the serial port as an interruption source?

Use millis() for the timing of the temperature reading, then you can read from the serial in between time and won't need to use any interrupts. unsigned long last_measure = 0; const byte buffer_size ...
gre_gor's user avatar
  • 1,682
3 votes
Accepted

Stopping Serial on RX/TX pins while running Serial on USB

The Serial and Serial1 are two seperated ports. They are not connected. The Serial is the USB serial and does not use pin 0 and 1 at all. The Serial1 is the hardware serial port at pin 0 and 1, but if ...
Jot's user avatar
  • 3,246
3 votes
Accepted

Why is the T2 transistor used in Arduino Micro?

T1 and T2 implement a power supply ORing of the VUSB and VIN voltages. Read this for extended information. The body diode of each MOSFET performs the basic ORing function. When the MOSFET is turned ...
Enric Blanco's user avatar
  • 2,114
3 votes
Accepted

Arduino keypad and RF 433MHz transmitter problem

The problem is you send a character of type char, thus exactly one byte. However, when you send it you have to give the length and you use strlen. However, msg is an array (at least that is what you ...
Michel Keijzers's user avatar
3 votes
Accepted

What is the smallest duration that can be measured using micros()?

What is the least value of time that I could measure(count) using micro() in Arduino board? The answer is 64 clock cycles or 4 us @ 16 MHz. Please see the Arduino AVR core[1] for more details. ...
Mikael Patel's user avatar
  • 7,969
3 votes

Emit region-neutral keyboard signals

No. There is no such facility. If you take a German keyboard and plug it into a US configured computer the key layout will be wrong. You have to tell the computer that you're using a German keyboard. ...
Majenko's user avatar
  • 105k
3 votes

Emit region-neutral keyboard signals

Download Device Class Definition for Human Interface Devices (HID) https://www.usb.org/sites/default/files/documents/hid1_11.pdf See section 6.2.1 HID Descriptor bCountryCode 0x09 German also see ...
jsotola's user avatar
  • 1,515
3 votes
Accepted

Software I2C - sending data

The main problem seems to be, that you are not adhering to the MCP's communication protocol. You just try to directly and only send the pure analog measurement to it. Look at this image from page 18 ...
chrisl's user avatar
  • 16.3k

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