Questions tagged [library]

A library is a file that can be included into the code to add new instructions by combining many existing instructions and creating one easy to use instruction to call.

A library is a file that can be included into the code to add new instructions by combining many existing instructions and creating one easy to use instruction to call.

Here is the list of libraries:

http://arduino.cc/en/Reference/Libraries

Standard Libraries:

  • EEPROM - reading and writing to "permanent" storage
  • Ethernet - for connecting to the internet using the Arduino Ethernet Shield
  • Firmata - for communicating with applications on the computer using a standard serial protocol.
  • GSM - for connecting to a GSM/GRPS network with the GSM shield.
  • LiquidCrystal - for controlling liquid crystal displays (LCDs)
  • SD - for reading and writing SD cards
  • Servo - for controlling servo motors
  • SPI - for communicating with devices using the Serial Peripheral Interface (SPI) Bus
  • SoftwareSerial - for serial communication on any digital pins. Version 1.0 and later of Arduino incorporate Mikal Hart's
    NewSoftSerial library as SoftwareSerial.
  • Stepper - for controlling stepper motors
  • TFT - for drawing text , images, and shapes on the Arduino TFT screen
  • WiFi - for connecting to the internet using the Arduino WiFi shield
  • Wire - Two Wire Interface (TWI/I2C) for sending and receiving data over a net of devices or sensors.
  • The Matrix and Sprite libraries are no longer part of the core distribution.

Due Only Libraries:

  • Audio - Play audio files from a SD card.
  • Scheduler - Manage multiple non-blocking tasks.
  • USBHost - Communicate with USB peripherals like mice and keyboards.

Esplora Only Libraries:

  • Esplora - this library enable you to easily access to various sensors and actuators mounted on the Esplora board.

Arduino Robot Library:

  • Robot - this library enables easy access to the functions of the Arduino Robot

Arduino Yún Bridge Library:

  • Bridge Library - Enables communication between the Linux processor and the Arduino on the Yún.

USB Libraries (Leonardo, Micro, Due, and Esplora)

  • Keyboard - Send keystrokes to an attached computer.
  • Mouse - Control cursor movement on a connected computer.

Contributed Libraries

If you're using one of these libraries, you need to install it first. See these instructions for details on installation. There's also a tutorial on writing your own libraries.

Communication (networking and protocols):

  • Messenger - for processing text-based messages from the computer
  • NewSoftSerial - an improved version of the SoftwareSerial library
  • OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
  • PS2Keyboard - read characters from a PS2 keyboard.
  • Simple Message System - send messages between Arduino and the computer
  • SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
  • Webduino - extensible web server library (for use with the Arduino Ethernet Shield)
  • X10 - Sending X10 signals over AC power lines
  • XBee - for communicating with XBees in API mode
  • SerialControl - Remote control other Arduinos over a serial connection

Sensing:

  • Capacitive Sensing - turn two or more pins into capacitive sensors
  • Debounce - for reading noisy digital inputs (e.g. from buttons)

Displays and LEDs:

  • GFX - base class with standard graphics routines (by Adafruit Industries)
  • GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
  • Improved LCD library fixes LCD initialization bugs in official Arduino LCD library
  • LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
  • LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
  • LedDisplay - control of a HCMS-29xx scrolling LED display.
  • Matrix - Basic LED Matrix display manipulation library
  • PCD8544 - for the LCD controller on Nokia 55100-like displays (by Adafruit Industries)
  • Sprite - Basic image sprite manipulation library for use in animations with an LED matrix
  • ST7735 - for the LCD controller on a 1.8", 128x160 TFT screen (by Adafruit Industries)

Audio and Waveforms: FFT - frequency analysis of audio or other analog signals Tone - generate audio frequency square waves in the background on any microcontroller pin Motors and PWM: TLC5940 - 16 channel 12 bit PWM controller.

Timing:

  • DateTime - a library for keeping track of the current date and time in software.
  • Metro - help you time actions at regular intervals
  • MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.

Utilities:

  • PString - a lightweight class for printing to buffers
  • Streaming - a method to simplify print statements
527 questions
13
votes
2 answers

How to manage dependencies?

I want to include a dependency like Logging. On its page it says: Download zip file Put the Logging folder in "libraries\". I don't want to believe (with a Maven mindset) that this is the way we manage dependencies in Arduino projects. That means,…
Markus Malkusch
  • 233
  • 2
  • 6
13
votes
7 answers

Where can I find a central repository of all available Arduino libraries?

Currently; when I start a new Arduino project with some new hardware, the first thing I do is to look for 3rd-party libraries that bring Arduino support for this hardware. The first places I look are: The Arduino Playground GitHub Google Generally…
jfpoilpret
  • 9,132
  • 7
  • 37
  • 54
12
votes
1 answer

What are the steps involved in porting an Arduino library?

I want to use the Adafruit CC3000 and its Arduino libraries on another platform. In this case it's the Arduino pin compatible PSOC4 Pioneer Kit. This is an ARM Cortex M0 based platform. My question is: How would I go about porting a library like…
akellyirl
  • 2,146
  • 1
  • 15
  • 19
6
votes
1 answer

Recommended way to fork a library

I want to extend a library, available on github to add some features I need. Of course I will made available the new source code as well. Because it's the first time I do this, I'm not sure how to do. My idea: fork the original repository create a…
Mark
  • 393
  • 1
  • 12
5
votes
1 answer

How Do I Send An Email WITHOUT An Ethernet or WiFi Shield

I can only find info relating to the wifi shield, but I want to send an email without the wifi shield. For now, I just plan on leaving my arduino plugged into a computer, so I just want to use the computer's network connection. Is there a library or…
rys
  • 153
  • 3
4
votes
3 answers

How to avoid odd naming rules for Arduino when writing a library?

I'm building a small library that will be used and production and released open source. I'm paying a lot of attention to the "best practices" to make sure this code is reliable and easy to use. I also would also like to make this easy to edit. I'm…
Anonymous Penguin
  • 6,285
  • 10
  • 32
  • 62
4
votes
1 answer

Replacement for #include on particle photon

I've run into this a couple of times when trying to use libraries written for Arduino on a particle photon. Many have the line: #include which returns the error on the photon compiler: fatal error: pins_arduino.h: No such file or…
mrsoltys
  • 141
  • 3
4
votes
4 answers

How to develop or edit an Arduino library?

I'm not sure if I should split this question in two. I had to edit some libraries and I plan to make some myself but didn't try yet. Editing a library seems very laborious comared to editing a sketch. I have to use an external editor and then…
aalku
  • 185
  • 1
  • 2
  • 10
4
votes
2 answers

How do I connect a PS4 controller connected to an Arduino that's connected to a laptop to another Arduino?

My high school is entering an ROV competition and for next year's competition we want to try and set it up so that we can control it using a PS4 controller. I have done research and found this shield for Arduino and this library that allows you to…
kkrenzke
  • 43
  • 1
  • 3
3
votes
2 answers

producing sine wave variable in amplitude and frequency

How to produce a sine wave with variable frequency and variable amplitude? I found a library to produce variable frequency called sinwave but not produce variable amplitude (I want -2V to 2V amplitude)
2
votes
1 answer

Uploading a Library to the library manager from a Github branch

I am trying to upload a library to the Arduino Library Manager. I know the GitHub - arduino/library-registry: Arduino Library Manager list repository, and I have already read the instructions, but I have a question that I hope someone can explain to…
Cheche Romo
  • 141
  • 5
2
votes
1 answer

LGPL and Arduino in Commercial Products

I basically would like to ask this same question (in another context / more generically): https://www.reddit.com/r/arduino/comments/25my2t/lgpl_and_arduino_in_commercial_products/ Stated differently: What are the legal implications of LGPL licence…
marcos assis
  • 121
  • 3
2
votes
2 answers

Why does the RCSwitch.available return false?

I am trying to use this example code from the RCSwitch library: /* Simple example for receiving https://github.com/sui77/rc-switch */ #include RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); …
rablentain
  • 163
  • 1
  • 9
2
votes
1 answer

Do arduino librarys require the arduino to be connected to a computer?

The title pretty much explains my question. If I'm using a library for example one for an accelerometer does the arduino need to be connected to my computer because it's using a library? Or is the library uploaded to the arduino and there for can…
2
votes
1 answer

How to add .h file in library

I am trying to make an ultrasonic distance meter using Arduino. For this I added the ultrasonic library. But on compiling it shows this error "ultrasonic.h not available". Please tell me how to add this .h file.
Nikhil Kumawat
  • 23
  • 1
  • 1
  • 3
1
2 3 4 5