In this section, you’ll find software resources for Freaklabs’ Arduino-compatible boards including board definition files, drivers, libraries and template sketches that you can modify for your own application.
To learn more about the Arduino platform and understand it works, we recommend visiting the excellent Foundations section on Arduino’s website.
Board Definition Files (Board Files)
The Arduino IDE needs to know the microcontroller and pin layout of a circuit board to ensure the board responds as expected when programmed in the IDE. For example, to ensure pin 2 in the Arduino IDE is correctly mapped to pin 2 on the board, and whether pin2 is an input/output or analogue/digital pin is the same.
Arduino uses cores which contain board definition files to make the Arduino IDE (and potentially existing sketches and libraries) compatible with new boards that have a different microcontroller and pin layout.
For more information on cores and board files, check out Arduino’s Foundations section or the Instructable Arduino IDE: Creating Custom Boards
Drivers
A driver is a piece of software for your computer that interfaces to a hardware device, enabling the operating systems and other computer programs to access the hardware’s function without needing to know precise details of the hardware being used.
Drivers are hardware dependent and operating-system-specific.
Libraries
A library is a collection of related pieces of code compiled and stored together in a single file. That file can be linked to and referenced in your application code, giving you access to the functions in the library without having to write them all yourself.
Libraries usually do common and/or specialized things that save the programmer from needing to “reinvent the wheel” when writing their application.
For example, a date/time library may include functions such as setDateTime or getDateTime, and a specialised library might be the software needed to access and control a particular sensor such as the DHT11 Temperature and Humidity sensor.
By using libraries, you can concentrate on developing your application.
Sketches
Sketches are Arduino programs. They are units of code that’s compiled, uploaded and then run on your board, telling it what to do and when. Sketches can link to libraries which are included in the final compiled program.
These sketches give you the base functionality for each board and sensor. You can then modify, adapt and merge the sketches as you like to create your own applications.
Programs (in the context of the Resources section)
The programs included in the Freaklabs’ Resource section are complete, standalone applications that are written by Freaklabs, and run on Arduino-compatible boards.