diff --git a/src/devices/Arduino/README.md b/src/devices/Arduino/README.md index c88dbb6f70cc1c0e3ab42c6f313fb5acdc1c1965..943b50ae27596af00eaab90812966b6b127a5db9 100644 --- a/src/devices/Arduino/README.md +++ b/src/devices/Arduino/README.md @@ -1,11 +1,20 @@ # SPI, GPIO and I2C drivers for Arduino with Firmata -This binding supports GPIO, PWM, SPI and I2C access from a normal Desktop environment (Windows, Linux) through an Arduino board. This is done through an Arduino program called "Firmata" developed for this particular purpose. +This binding supports GPIO, PWM, SPI and I2C access from a normal Desktop environment (Windows, Linux) through an Arduino board or a variety of other microcontroller boards. This is done through an Arduino program called "Firmata" developed for this particular purpose. ## Device family This binding remotely controls Arduino boards directly from PC Software. It provides support for accessing GPIO ports as well as I2C devices, SPI devices, PWM output and analog input. The Arduino is remote controlled by individual commands from the PC, the C# program will run on the PC, and not on the Arduino, so the connection cannot be removed while the device is being used. +**Supported Board Types** +The following board types are known to work with this binding. Many others may work as well. +- Arduino AVR based boards: Arduino UNO, Arduino Nano, Arduino Pro Mini +- 32 Bit Arduino Boards: Arduino Due +- ESP32 (over serial and Wifi) + +Known problems: +- The Arduino Pro Mini (and possibly a few other boards with a similarly slow clock rate) require that the baud rate be set to 57600 or less to work reliably. + ## Desktop Requirements In order to get an Arduino board working with the PC, you need to Install the Arduino IDE together with the drivers for your board type. If you get a simple sketch uploaded and running (such as the blinking LED example) you are fine to start. If you're new to the Arduino world, read the introductions at for a quick start. The explanations below assume you have the Arduino board connected through an USB cable with your PC and you know how to upload a sketch. Once the sketch has been uploaded, the IDE is no longer required. @@ -29,10 +38,21 @@ When the firmware starts, the on-board-LED flashes a few times, indicating the l ### Advanced features -Some of the features of this binding require extended features in the Arduino firmware. These include SPI support and DHT sensor support. These features didn't make it into the main Firmata branch yet, therefore these additional steps are required: +Some of the features of this binding require extended features in the Arduino firmware. These include SPI support and DHT sensor support. These features are only available in the main development branch +**Download for Windows** - Go to `C:\users\\documents\arduino\libraries` and delete the "ConfigurableFirmata" folder (save any work if you've changed anything there) -- Replace it with a clone of [Configurable Firmata](https://github.com/pgrawehr/ConfigurableFirmata) and switch to branch "develop". +- Replace it with a clone of [Configurable Firmata](https://github.com/firmata/ConfigurableFirmata). + +**Download for Linux** +To install the current development version of ConfigurableFirmata on linux, perform these steps in a shell: +``` +cd ~/Arduino/libraries +rm -rd ConfigurableFirmata +git clone https://github.com/firmata/ConfigurableFirmata +``` + +**Final steps** - Make sure you have the "DHT Sensor Library" from Adafruit installed (use the library manager for that). - You can now enable the DHT and SPI features at the beginning of the ConfigurableFirmata.ino file. Because the new firmware will have additional features, it is recommended to use the .ino file from the examples folder of the repository. So the best start is to open the file that now lies in `C:\users\\documents\arduino\libraries\ConfigurableFirmata\examples\ConfigurableFirmata\ConfigurableFirmata.ino`. The file has some comments at the top to enable or disable certain modules. - Compile and re-upload the sketch.