You can use the ESP32 simulator on Linux, Windows or even Chromebooks! The project runs on the browser. So, you can always run the projects on mobile as well! There are several users using the ESP32 simulator on their MacOS as well!


The connection diagram is as follows

D15 pin of the ESP32 is used to drive the data pin of the NeoPixel Ring. The Power depends on how much the RIng needs and how much can the ESP32 supply. it is always advised to have a secondary power option for the Neoxel RIng or strips in general.

For the simulation, it is okay :)

Here is the code for this ESP32 simulation project

# NeoPixels Rainbow on MicroPython
# Wokwi Example https://wokwi.com/arduino/projects/305569065545499202

from machine import Pin
from neopixel import NeoPixel
from time import sleep

rainbow = [
  (126 , 1 , 0),(114 , 13 , 0),(102 , 25 , 0),(90 , 37 , 0),(78 , 49 , 0),(66 , 61 , 0),(54 , 73 , 0),(42 , 85 , 0),
  (30 , 97 , 0),(18 , 109 , 0),(6 , 121 , 0),(0 , 122 , 5),(0 , 110 , 17),(0 , 98 , 29),(0 , 86 , 41),(0 , 74 , 53),
  (0 , 62 , 65),(0 , 50 , 77),(0 , 38 , 89),(0 , 26 , 101),(0 , 14 , 113),(0 , 2 , 125),(9 , 0 , 118),(21 , 0 , 106),
  (33 , 0 , 94),(45 , 0 , 82),(57 , 0 , 70),(69 , 0 , 58),(81 , 0 , 46),(93 , 0 , 34),(105 , 0 , 22),(117 , 0 , 10)]

pixels = NeoPixel(Pin(15), 16)
while True:
  rainbow = rainbow[-1:] + rainbow[:-1]
  for i in range(16):
    pixels[i] = rainbow[i]
  pixels.write()
  sleep(0.1)

Live simulation link:

https://wokwi.com/arduino/projects/305569065545499202?dark=1

Support/feedback/suggestions?

you have many ways to ask for help, suggest a feature or share your feedback

Thank you!