arduino / docs-content Goto Github PK
View Code? Open in Web Editor NEWArduino documentation (docs.arduino.cc)
Home Page: https://docs.arduino.cc/
License: Creative Commons Attribution Share Alike 4.0 International
Arduino documentation (docs.arduino.cc)
Home Page: https://docs.arduino.cc/
License: Creative Commons Attribution Share Alike 4.0 International
The schematic diagram on this page shows a direct 5v to gnd short. I suggest it is immediately removed and quickly replaced. The drawing seems to be fine. Only the schematic (amber colored image) seems affected.
The below command does not execute "install.sh" file for installing arduino-1.x through ubuntu terminal:
assets/install.sh
Quick Start Github docs link.
Quick Start Arduino website link.
The solution to the above problem is:
sudo sh assets/install.sh
NOTE:
sudo sh install.sh
I would be very happy to send a pull request related to the changes I mentioned above.
The tutorial at https://www.arduino.cc/en/Tutorial/RowColumnScanning omits resistors in driving the LEDs. There is a common misconception in the Arduino scene, that I/O pins are somehow (safely) current limited and need no resistors with LEDs, but this is not actually the case. It would be good if at least official Arduino documentation set the right example...
In online documentation page https://www.arduino.cc/en/Tutorial/DigitalReadSerial there are two errors:
If you disconnect the digital i/o pin from everything, the LED may blink erratically. This is because the input is "floating" - that is, it doesn't have a solid connection to voltage or ground, and it will randomly return either HIGH or LOW. That's why you need a pull-down resistor in the circuit.
https://www.arduino.cc/en/Tutorial/ShiftIn
In all diagrams of CD4021 O7 (pin 3) must be Q8 not O7.
For instance...a so simple question like "Is Ethernet Shield compatible with Zero board?" can't be answered anywhere. The answer is supposed to be "No" as Zero works at 3,3V and Ethernet works at 5V but...who knows?
This is only just an example, but it could be extended to other shields and boards. It's a minimum if you want to offer a coherent catalog of products.
Thanks.
P.D: That's another topic, but, it really the answer of above question is "No", that would be very bad
Related to #374 .
In my university I was told that resistors are not needed when LEDs are connected to output pins. According to my academic, while connecting a Led to a 5V or 3.3V power pin on one side and ground on the other side would burn things up, connecting a led directly to an output pin on one side and ground on the other side was safe and did not require resistors. Therefore, to complete homework, I was given an Arduino board, a set of LEDs and cables, but no resistors.
Then I started hearing from other people that my academic was wrong and that I was damaging my university's property - both the Arduino board and LEDs. (For example, I got linked to this ).
If this misconception is as rampant as it seems and as untrue as people say, let me propose adding an explicit warning to the docs that a resistor is actually mandatory and that not using it is likely to cause damage to the hardware; perhaps also even add an explicit notice like "regardless of whatever anyone may tell you", thus acknowledging the widespreadeness of the misconception. The official Blink tutorial seems like a good place for such a notice.
The tutorial for updating bootloader for Portenta board has wrong file mentioned https://docs.arduino.cc/tutorials/portenta-h7/updating-the-bootloader
It seems that in newest Core version, the updatingBootloader file got renamed, at least I presume it's the same file.
I don't know if this is the correct place to place a bug report but I couldn't find another place to do so.
Some people have problems with uploading the blink UF2 file from the 'Nano RP2040 Connect technical reference' https://docs.arduino.cc/tutorials/nano-rp2040-connect/rp2040-01-technical-reference.
I think this is caused by an undocumented change of the flash chip. According to the documents the Arduino Nano Connect should have a AT25SF128A-MHB-T. However newer boards have an ISSI IS25LP128F-JKLE. A completely different flash chip.
Circuitpython also didn’t use to work but than they added IS25LP128F-JKLE and now theirs UF2 file works!
Could the blink UF2 file and the documentation be updated so that it does take the IS25LP128F-JKLE into account?
missing documentation and example code:
how to quickly and simply change SPI clock divider ?
About setClockDivider():
"This function should not be used in new projects. Use SPISettings with SPI.beginTransaction() to configure SPI parameters."
But I don't understand how to use SPI.beginTransaction() or either function for AVR, and ARM, and ARM extended mode. More source code examples would be needed for this.
The built-in LED pin for the Nano 33 IoT board Is D13. It would be nice to mention this in the table where we describe all the pins and their functions. So far D13 is only described as a GPIO pin.
The capacitor on the latch pin(s) has finally been moved to the VCC pin, but only on the circuit diagrams.
The six breadboard views still have the capacitor wrongly showing on the latch line.
Maybe another 9 years needed to fix that.
Digital chips only need 100nF decoupling (per chip). The 10uF value shown is overkill.
Leo..
I haven't found any documentation for the serial plotter, is there any?
For example, I've noticed that you can just print comma-separated (or space-separated) values, but I don't know if there's more to this (can I name the plots, doing something like A=1 B=2
, for example? Also, are there other options to separate values? What values can I plot? etc).
This, combined with the fact that the serial plotter is kind of hidden, may make people not know it exists.
I downloaded the Fritzing part for the MKR WAN 1300 from https://store.arduino.cc/mkr-wan-1300 but it throws up errors when I try and open it. When opened in the Parts editor there is also no PCB footprint provided and this too throws up errors. As such, the Fritzing part is incomplete and therefore should not be included under within the documentation section. Please, could someone update the part.
This page seems to be the canonical introduction to writing a library: https://www.arduino.cc/en/Hacking/LibraryTutorial
However, that page does not mention the src/ directory and library.properties at all, so it probably has not been updated in a long while. Since we want to encourage people to include a library.properties file with their library (it should not be an optional extra, every library should ideally have it), that page should be updated with the new library format in mind (with a library.properties example, and probably using the src/ subfolder, but perhaps mention the alternative without src/ as well). It should probably also mention version numbers (not) supporting the new recursive format, just in case people also need to support old 1.0.x versions (IIRC the latest 1.0.x versions also support the new format).
I got the compilation error 'No such file...', though the file Morse.h is in the same folder. I sat quotes #include "Morse.h" . So it ran. Is my installation missing a library path? I use v.1.8.19.
Oh, a bit later I saw the v. 2.rc5 gives the hint to set quotes. There is always the question how the author did it with <>?
It is not enough to say the battery connector is a JST type. There are hundreds of different JST connectors. All references to this should state that the connector is JST-PH which is the specific type. If you purchase batteries for this they often come with the wrong kind of JST plug.
Hello,
I have been looking at the Serial to Parallel Shift Register Tutorial, having to port the ShiftOut() function to another platform. Reading this page, https://www.arduino.cc/en/Tutorial/ShftOut21 , I am not sure if it is me, or the comment has a typo. Not really sure what to suggest as a fix.
//if the value passed to myDataOut and a bitmask result
// true then... so if we are at i=6 and our value is
// %11010100 it would the code compares it to %01000000
// and proceeds to set pinState to 1.
Also, what does it mean by "a bitmask result" ? Isn't everything a bitmask or some sort?
Mind blown.
Thank you for your work.
I think the root of the problem is the PCB layout is different in these two places:
An easy-to-spot difference is the IMU (what I was looking for). Clicking "interactive viewer" shows it near the reset button (by the D8 and D9 pins). That's not the IMU on my board (not sure what it is). Downloading the files and loading them into Altium viewer shows it near the A5/SCL pin, which matches what I see on my board.
If the IMU (on new boards) is as shown in the downloadable CAD files, then the "Interactive Viewer" should be fixed to load those files. Also, in the "cheat sheet" page (https://docs.arduino.cc/tutorials/nano-rp2040-connect/rp2040-01-technical-reference), the picture identifying the IMU should be fixed (it is highlighting something else based on (what I think is) the wrong PCB file. On the other hand, if I happened to get an old board and the IMU on new boards is up by D8 & D9, then the "Download CAD Files" link should be fixed.
The reason this could matter, at least a tiny bit, is that I want to put the IMU at the center of rotation of my device to simplify calculations. It only moves about 10mm between the two, but I dunno, I may as well try. :)
In the tutorial, the material lists:
Hardware Required
Arduino Leonardo, Micro, or Due board
2 axis joystick
momentary push-button (possibly integrated in the joystick)
LED
220 ohm resistor
10k ohm resistor (if needed as pull-down)
Though the rest of the tutorial is quite informational and well-written, there is little to no information regarding the placement or installation of the 220 ohm or 10k ohm resistors. If you would please alter the instructions to include this information so those with limited knowledge can follow them and complete the project with less difficulty.
Thank you.
Hey,
on page SAM3X-Arduino Pin Mapping the "Mapped Pin Name" for pin 71 is incorrectly stated as SCL2 rather than the actual SCL1.
Due Pin Number SAM3X Pin Name Mapped Pin Name Max Output Current (mA) Max Current Sink (mA) ... ... ... ... ... 71 PA18 SCL2 15 9 ... ... ... ... ...
should be:
Due Pin Number SAM3X Pin Name Mapped Pin Name Max Output Current (mA) Max Current Sink (mA) ... ... ... ... ... 71 PA18 SCL1 15 9 ... ... ... ... ...
On the foundations page (https://www.arduino.cc/en/Tutorial/Foundations) a "VidorHDL" tutorial is listed: https://www.arduino.cc/en/Tutorial/VidorHDL
Googling, I suspect this page is about programming the Arduino MKR Vidor board, but these webpages themselves do not make this really clear. I usually recommend the Foundations page to new Arduino users as a good set of tutorials to just work through. As it is now, I think this advice will leave these new users heavily confused before they realize that this tutorial is specific to one particular board.
Perhaps it would be good to add a bit of context to both pages, to position this tutorial in the Arduino hardware landscape?
On schematic on this page:
https://www.arduino.cc/en/Tutorial/BuiltInExamples/MultiSerialMega
The current connections connections are wrong:
SERIAL ENABLED DEVICE | Arduino Mega |
---|---|
RX | RX1 |
TX | TX1 |
They should be as follows:
SERIAL ENABLED DEVICE | Arduino Mega |
---|---|
RX | TX1 |
TX | RX1 |
The reason is because "RX" stands for "receive" and "TX" for "transmit". So the receiver pin must be connected to the transmitter pin, and vice versa.
can you please add examples files for android , IOS and windows apps for developers to be able to make them applications that controls Arduino boards
In built-in-examples/communication/ReadASCIIString schematic drawing a common cathode RGB LED is instantiated, while both in Hardware Required and in Code sections a common anode is intended.
The examples included in the following pages don't use the thing being documented:
Originally reported at http://forum.arduino.cc/index.php?topic=482789
Hi,
While using the portenta breakout board we have noticed that there are three zero ohm resistors (R6, R7,R8) missing to connect the USB HS from the portenta to the pinout on the breakout board.
Its not clear why those are missing - maybe just forgotten in the production documents?
I have noted when the microcontroller RESET signal is negated, the Arduino bootloader flashes the onboard LED on a particular pin (which depending on the microcrontroller can support SCK as an SPI hardware function on this pin) and this occurrence (with an ATmega328P) was causing an HMC830 PLL/VCO (attached to hardware SPI pins with the SPI hardware function used) to latch an operating mode (according to the manufacturer's Operating Guide) when not wanted which can only be reset by removing power to the HMC830.
So therefore, I think there should be a warning about unwanted pulses (and possible unwanted interactions on connected hardware) on the pin connected to the onboard LED which flashes under bootloader control after negation of the RESET signal.
Hi. The values of C87 and C88 (Antenna Matching Network) is not given in the schematics. Can someone please tell those values.
Please unify the libraries under a single license. Currently, at least six different licenses are used.
Please also recommend a license for third-party libraries.
At least the mapping for A0 is wrong in both the pinout diagram and the schematic.
Pleas check over and update the schematic and pinout diagram with the correct part mapping.
Issue arduino/Arduino#1315 is not yet solved.
A description of the error can be found here:
arduino/Arduino#1315 (comment)
It refers to the Serial Tutorial:
https://www.arduino.cc/en/Tutorial/SoftwareSerial
I was exploring SoftwareSerial library to see its performance in our application and I uploaded the following simple sketch:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10,11);
void setup() {
mySerial.begin(9600);
}
void loop() {
if(mySerial.available())
{
byte data = mySerial.read();
mySerial.write(data);
}
}
The results were surprising, the library couldn't reply back with the data I sent, even when we tested with data as low as 2 bytes per transaction.
We have tried with all standard baud rates mentioned on Arduino website and even went with rates as low as 300 bps.
Here are some sample data that I sent and received in hex:
Baud Rate = 9600
[TX] - 92 29
[RX] - 92 FF
Baud Rate = 9600
[TX] - FF 29 A5 09 02 FD 02 FD 01 00
[RX] - FF 95 13 02 01 FF
Baud Rate = 4800
[TX] - FF 29 A5 09 02 FD 02 FD 01 00
[RX] - FF 95 13 02 01 FF
Baud Rate = 300
[TX] - FF 29 A5 09 02 FD 02 FD 01 00
[RX] - FF 95 12 02 01 FF
As you may see, there are a pattern. The data is the same but the baud rate is different and still the date sequence is very similar.
My tests were performed using the last version of Arduino 1.6.8 using a USB to serial cable connected to the software serial pins. I repeated the tests on different Windows/OSX machines, different Arduino boards (Uno and Mega) and different USB-Serial cables and all of them had the same results.
I've tried AltSoftSerial library and all my tests where working with baud rates up to 57600 and data up to 200 bytes per transaction.
I think the implementation is broken somehow, I know its an issue related to timing, but I don't know how is that happening.
It is not mentioned anywhere that the communication is half-duplex, As i have tested the library by letting one Arduino sending data using SoftwareSerial and other Arduino receives data sent also by SoftwareSerial by the first and all the packets were received successfully.
Your documentation (https://www.arduino.cc/en/Reference.SoftwareSerial) mentions that it is possible to have multiple software serial posts with baud rates up to 115200, could you explain how that is possible but running my simple loopback sketch isn't?
Am i missing something ? Please advise.
Thanks,
https://store.arduino.cc/arduino-uno-wifi-rev2
Hi, according to the Arduino Uno WIFI Rev 2 tech specs the upper input voltage limit is 12V. Compared to other boards this seem low. According to the schematics it is using a MPM3610 step-down converter capable of up to 21V input. I am guessing the actual Input Voltage (limit) should be 6-20V like the other UNO's?
Official Arduino Nano Page, Documentation section, Fritzing model:
The Breadboard item is a little to large. It should have a pin distance of 0,1 inch.
The other elements are OK.
In the schematics of the Arduino Uno WiFi Rev2 schematics at page 7, it is implied that the Controller board uses the Nina W132 wifi module. However the schematics presented to not match those of the from the Nina website . I believe the right wifi module's name is the NINA W102.
Hi! There is no EEPROM.length() documentation on www site https://www.arduino.cc/en/Reference/EEPROM , but you use it in examples (eg. "EEPROM Read" https://www.arduino.cc/en/Tutorial/EEPROMRead )
I think you should add description to library reference.
Jarek
In Line 128 of Arduino_MKRIoTCarrier.h the LED instance is created with:
Adafruit_DotStar leds = Adafruit_DotStar(NUMPIXELS, DATAPIN, CLOCKPIN, DOTSTAR_BGR);
(link to file : https://github.com/arduino-libraries/Arduino_MKRIoTCarrier/blob/master/src/Arduino_MKRIoTCarrier.h)
Which suggests the color sequence is BGR, not RGB. The Adafruit Neopixel library in use, does not have a BGR sequence, but it does have a GRB sequence: https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use
In any case , the MKR IoT Carrier Cheat Sheet has an error in
https://docs.arduino.cc/tutorials/mkr-iot-carrier/mkr-iot-carrier-01-technical-reference#leds where the picture lists how to get the colors using the RGB order https://docs.arduino.cc/static/e66517362e06a9efb932279bbf51e6dc/29114/mkrIotCarrier-leds.png
Then the code below it suggest the sequence green, red, blue:
carrier.leds.setPixelColor(index, green, red, blue);
Which works correctly, although it's not the BGR of line 128 of MKRIoTCarrier.cpp
Total confusion
Hi Arduino Team!
First: I am a newbie but let me say that Arduino and the whole ecosystem is so great and makes so much fun to work on! Thanks so much for your work!!!
I have bought an MKR WiFi 1010 and an MKR ENV Shield to check out the IoT possibilities. Works great and was so easy to setup. I have some remarks to improve the MRK ENV Shield Online Docu. Maybe you would like to adapt some of my ideas.
https://store.arduino.cc/arduino-mkr-env-shield
Maybe ist good to add the description from the „Arduino_MKRENV.h“ library (https://www.arduino.cc/en/Reference/ArduinoMKRENV). Here is the copy with some remarks…
Absolute pressure range: 260 to 1260 in hPa
// hPa is wrong the library delivers the pressure in kPa!
// Also I would suggest to describe that you would get the actual
// air pressure on your location. Take into account that the values from the
// weather forecast are always translated to the mean sea level!!!
Humidity range: 0 - 100%; accuracy: ± 3.5% rH, 20 to +80% rH
Temperature range -40 +120; accuracy: ± 0.5 °C, 15 to +40 °C
// If you attach the EVN Shield on top of the MKR PCB the temperature
// shows ~3°C more and the humidity shows ~6% less as a normal room temperature.
// for accurate display use jumper wires and place the Shield beside!
Lux range of the sensor with analog reading from 10 to 100.000 lux
UVA/UVB resolution: 16bit; unit μW/cm2
UVIndex: from 1 to 11+ as explained here.
// I would suggest linking “here” to this URL
// https://www.who.int/uv/intersunprogramme/activities/uv_index/en/
// There is a good graphical explanation what the UV-Index means for us humans.
Hope this is helpful for other Arduino enthusiasts!
Thanks, and stay healthy!!!
Andreas
a documentation feat. a clear hierarchical overview for identification of boards (supersets, sets, subsets, and single boards) would be appreciated, to be identified via #ifdef,
because often definitions found and discussed in several forum threads are vague or ambiguous which optional #ifdef includes which different and/or single other ones and which not.
e.g.
superset 8bit boards
superset 32bit boards
set SAMD
set ARM Cortex (non-SAMD)
set ESP
(probably to be reworked and continued)
Hello, I was looking for the measurements for the plastic base plate that comes with the Arduino UNO R3 I am using the mounting holes on the plate because it was sturdier than my alternative and was just wondering if someone had the exact measurements.
Hello,
In the documentation there is a part which says:
Before proceeding with the tutorial please update the board's bootloader. You can do this by first downloading the latest version of the "Mbed OS Nicla core" in the Arduino IDE. Then go to "File > Examples > STM32H747_System > STM32H747_updateBootloader" and upload this sketch to your board. After the sketch is uploaded follow the instructions in the serial monitor.
But this board do not have a STM32H747 chip, so what this section refer to?
Regards
The Arduino Nano 33 IOT fritzing file has a bus incorrectly defined as connecting the two GND pins to the D13 pin.
(In the file, it has a bus defined as Connector 60, 19, and 32 but it should only really have 19 and 32).
"
#include "camera.h"
CameraClass cam;
uint8_t fb[320*240];
void setup() {
Serial.begin(921600);
// Init the cam QVGA, 30FPS
cam.begin(CAMERA_R320x240, 30);
}
void loop() {
// put your main code here, to run repeatedly:
// Wait until the receiver acknowledges
// that they are ready to receive new data
while(Serial.read() != 1){};
// Grab frame and write to serial
if (cam.grab(fb) == 0) {
Serial.write(fb, 320*240);
}
}
"
is the code
"
error: 'CameraClass' does not name a type; did you mean 'CameraWire'?
CameraClass cam;
" is the error
Hello,
I am reading through the bitwise tutorial to get a better understanding of logical operators and noticed there is no XOR mentioned. A project I am working on uses XOR heavily to form a checksum on a string of chars for transmission over the wire.
There are probably even more bitwise operators but XOR is pretty important in my life and thought it deserves a shout out. :)
Thank you.
I have a bug in the Arduino software version 1.8.9. Initially, I wrote my code to have several tabs each with some categorized functions. At first everything compiled well and there were no errors. Programs loaded into my Arduino 2560 and functioned. I made a few tweaks in my code to have some data display on a serial port LCD I had. Things were going well then, suddenly, my code stopped working. I got compile errors for some of my functions not being declared.
In order to get passed these compile errors, I had to add include statements for each tab that contained my functions. I am not sure why this happened. In one of my tabs, I had a function that called a different function under a different tab. I tried adding an #include statement for that tab in that function. I got an error about a "function definition is not allowed here before a {". Things are really weird right now, and I don't know why.
I have an HP8570 with Windows 7 with service pack 2 installed.
https://docs.arduino.cc/hacking/software/Bootloader
"Not using a bootloader", "Burning the bootloader", "Version of the bootloader" and "How does it work?" sections of this page should be entirely rewritten to reflect the behaviour of "new"boards like ATmega32U4-based, Due and Zero (at least).
Moreover, "bootloader source code" link (at the end of the text) should be updated too.
Thanks
The datasheet does not include Temperature limits of the board.
This data is crucial for projects to be checked in high temperature environment such as fire.
This information should be added to the board datasheet as well as any electronic component.
The variable ledPin , mentioned in the text ( "Writing a Library for Arduino" at https://www.arduino.cc/en/Hacking/LibraryTutorial: (quote) "Second, there's the ledPin variable which the functions use to determine which pin to use." cannot be found in the sketch (a sketch that does simple Morse code) above that text.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.