From 24b2a595d893b3709573a446b021196c53a3fff0 Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Thu, 17 Jan 2019 13:15:49 -0800 Subject: [PATCH] Updated FAQ #12 (markdown) --- FAQ-#12.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/FAQ-#12.md b/FAQ-#12.md index e132b3e..40166c6 100644 --- a/FAQ-#12.md +++ b/FAQ-#12.md @@ -1 +1,18 @@ -(under construction) \ No newline at end of file +### Using DotStars, why would I use the SPI method over the general purpose method? + +There are two [DotStar Methods](https://github.com/Makuna/NeoPixelBus/wiki/NeoPixelBus-object#dotstar-methods). +DotStarSpiMethod will use the available SPI library of Arduino to send the data. Often this is tied to hardware with pin limitations but will you give better performance. +DotStarMethod will Bitbang the data stream on any given pin set. Often this slower and is directly related to the speed of the MCU. + +My suggestion is to start with DotStarMethod until you have your sketch working. Then try the DotStarSpiMethod as you work on performance of your sketch. + +Here is some timing numbers I captured. They are taken from sending to a strip of 4 LEDs. +#### Esp8266 +DotStarMethod = 520us +DotStarSpiMethod = 47us +Significant differences between the two. Obviously if you have SPI available for use, it would be good to use it. + +#### Esp32 +DotStarMethod = 62us +DotStarSpiMethod = 49us +Not a very significant difference. But if you are updating a longer strip it might be worth using SPI. \ No newline at end of file