Background
ARM vs Risc
arm = advanced risc machine. - David Braben and ian bell created ARM which was built on RISC.
risc = reduced instruction set computing - David Patterson created the original RISC processor
History 1978
Riscv1= 80, Riscv2= 83(16bit), riscv3=84(32bit), riscv4=88
ARMv1 = 85, 32bit, 1watt chip
ARMv2 = 87
ARMv3 = appl partnership
ARM4=current
risc5=start2010, open source, OISA not OSH, 32,64
Mems vs Asic
MEMS - Micro-electromechanical systems and
ASIC - Application-specific integrated circuit respectively.
ARM Cortex A vs ARM Cortex M
A(asic) - (for phontes-laptops) "32bits is dead as of 2023"
M(mems) - microcontrollers, offers 32bits - 12k gate processors in size
Misc
esp32 takes 3.3v. and uses an ams1117 to step down the 5v usb input used to first power the uart http://www.advanced-monolithic.com/pdf/ds1117.pdf https://www.mouser.com/c/semiconductors/power-management-ics/voltage-regulators-voltage-controllers/linear-voltage-regulators/?q=7805&package%20%2F%20case=TO-220
25 microns .025mm razor blade = 100 microns or .1mm 1 micron =~ 1k atoms
c=discharge rate
connecting in serial increases voltage
ESP Specific
https://hackaday.com/2023/07/28/the-esp32-doesnt-need-much/
https://www.youtube.com/watch?app=desktop&v=tQ0dL_9M1wI
http://192.168.4.1/ https://www.youtube.com/watch?v=BP1Dz66faf4 ESP32_NAT_Router
https://github.com/cnlohr/esp32-c3-playground https://github.com/cnlohr/esp32s2-cookbook/tree/master
compiled arduion code: go to File -> Preferences and then select Show verbose output during -> compilation. Finally, when you are compiling, the program will show you lots of data. At the last lines, you will find the path1 to the . hex file
Non-Light/Audio/Module Hardware
802.11 broadcast packets don't need wifi connection to be recieved so long as the reciever is on the channel
just the chip designs need to be fcc certified but the modules are ok
jst connectors are out. not enough current run through em
pcb screw terminals run a lot of resistance compared to butt connectors, bogo or soldering
pcv screw terminals produce a .22w power loss at 10Amps
r = 2.2milliohms. pl=2.2r*10a=.22w
Powering LEDS
100w LED strip which runs at 24v and needs 5 meters of cable this requires 4Amps of power. which require a wire of 0.75mm2 to transfer it over those 5 meters. If you however double feed the cable (from both ends) the requirement per cable is only ~2A so thinner cables can be used!
*Power distribution is never 100% equal and itβs good practice making sure both ends can handle the full load, maybe use 2/3rd of the thickness instead of half for instance
150leds or less use 2.0 under 300 go w 10amps dc barrel jacks 300 + go w AC DC converter
18 AWGauge, 0.75 mm^2, 3 core copper wire
Specification:Connectors:rated voltage: 0-36V;rated current: 0-5A. Extension wire: rated voltage:0-300V;rated current:0-2A
logic level shift 3.3 2 5v to ensure data signal doesnt get corrupted over long distances.
50a @ .05A each 5v LED or .03A 4 12V's
If I need the 60 per. thatd be 40amps needed.
Drive 1000LEDS w:
5v 50A == 250watts or
12v 29A = 350watts power supplys
5v inject ever 5m 12v inject every 10m homerun injection - power supply runs wire to each injection point. parallel run - homerun till split and run inside multiple aluminum channels. inject using 22gague solid core and apply at begining and end of each strip 14gauge from 5v 40amp supply
connecting power injection lines from alternate power adapter from original will cause grounding problems.
power supplys should never connect
5v AC to DC Power Adapter Converter/ Transformer
BTF-LIGHTING DC5V Power Adapter 5V10A 50W- $22.99 5V3A 15W - $9.99 5V6A 30W - $15.99 5V8A 40W - $17.99
Factsheet
small, 2A 480Mbps small, 2.0 3A 480Mbps small 2A 480Mbps - not good for magsafe unless 15W input
gen2. @ 1000Mbps (10Gbps) (supports 4k), is 2x 3.0 & 20x 2.0 (novideo),
long, usba-usbc -> 3.0 gen2, 100W Fast Charging, not magsafe nor macbook long, usba-usbc -> 3.0 3->2.4A 500Mbps, long, usbc-usba -> 3.0 3A 500Mbps
Specification:Connectors:rated voltage: 0-36V;rated current: 0-5A. Extension wire: rated voltage:0-300V;rated current:0-2A
30x5 -> 150 = 3A/9a
Diffusers
leds should be further away from the diffuser than eachtoher to avoid brightspots.
average diffuser heights: 6.5 - 22% drop 13.5 16 - 36% less bright then no diffuser. spotless = 56% reduction
model U4 is best!
1018 - 15 - 46 1220 - 19 - 58 1220-3 - 18 - 56 1023 - 19 - 59 1616 - 16 - 55 1616s - 13-60
[1018 (1220s-3)] 1023 1616s 2020s https://ae01.alicdn.com/kf/Hf32caccc1db14c26a816422e69d9a71bz.jpg https://ae01.alicdn.com/kf/H821463ec18f54850b847715c9b71a2a9j.png
At full brighness(60mA) (20perRgb), 30Leds/Meter from a 5V uses 1.8 Amps. 5meters is the longest you can buy which would be 9Amps
Light
27.87 -> BTF-LIGHTING 2 Pack WS2812B ECO RGB Alloy Wires 5050SMD Individual Addressable 8X32 256 Pixel LED Matrix. 37.99 for 2
ip65- water repelent - rated for splash and rainproof.
ip67 - sealed silicon sleaves. wont work in thin channels
sk6812 is rgbw, ws2812b
30 leds per meter w spottless diffuser and black deep channel
5V power supply @ 20mah/60mah per pixel draw:
2.1a - 10w = 100/35 LEDs - (USB2.0)
5a - 25w - 250/83,
8a - 40w - 400/134
10 - 50w - 500/167
15a - 75w - 750/250
20a - 100w - 1000/334
30a - 150w - 1500/500
40a - 200w - 2000/750
50a - 250w - 2500/834
60a - 300w - 3000/1000
30x5m -> 150leds = 3A/9a
LED strip width:
IP30 IP65 :10mm
IP67:12mm( include silicone sheathing)
30Leds/m = 32.9mm 60/m = 16.2 144/m= 6.6
1000? 750? 5-600 leds per nodemcu. all work but fps probs drop
Audio
background noise filtering (or squelch) Tge ESP32 uses a 12 bit ADC
https://learn.sparkfun.com/tutorials/sound-detector-hookup-guide
https://learn.sparkfun.com/tutorials/electret-mic-breakout-board-hookup-guide/all
https://learn.sparkfun.com/tutorials/mems-microphone-hookup-guide/all
https://forum.arduino.cc/t/drums-trigger-led-with-a-mic/948511/12
INMP441
Leave the MAX4466 gain untouched. It works fine out of the box.
A MAX4466 and INMP401 should average about 1875 on an ESP32, a MAX9814 about 1350 for all gain settings.
Adafruit - $6.95 - Electret Microphone Amp - MAX4466 with Adjustable Gain
Digikey - $7.95 - Electret Microphone Amp Audio Evaluation Board - MAX9814
SparkFun - $6.95 - MEMS Microphone Breakout - ICS-40180
AliExpress - $1.61 - I2S MEMS Microphone - INMP441
Analog or I2S Digital?
We recommend using an I2S digital microphone with ESP32 boards - like INMP441, ICS-43434, or PDM microphones.
Analog input (Microphone or Line-in) is also possible, however you might have power fluctuation (3.3V) and noise issues when using these. Analog devices are handled by the "ADC1" unit of your ESP32. Problems can be expected when connecting "analog buttons" (Potentiometer) to the same ADC1 unit.
Finally Analog Microphones often work best when placed very close to the sound source, while digital ones like the INMP441 can easily pick up sound from several meters apart. With the analog MAX4466, we found that 30-50cm is an optimal distance.
While providing a lot of functionality, the ESP8266 and the ESP32 boards (typical ones) we have been using, have experienced a lot of spurious noise on their ADC pins
On ESP32, use an I2S microphone, such as the INMP441, SPH0645 or ICS-43434.
Isolate the power between the LED strips and the controller.
Don't power your LED stripe from the ESP32 3.3v or 5v pins.
Don't use USB power from your PC.
Some batches of analog microphones are just no good.
Other Projects
guy on lighting board changing lights sends data to arduino via DMX shield. Arduino was INITIALLY connected to a laptop which would send data over wifi to main server which would send updates out via unicast to each of the badges in the concert hall. The central server would log every espthat connects to it for broadcasting. The Server ran in a container enviornment (a prox box stack). This was later changed LIVE during the event because w 1.3k esp's the channel utilization for the wifi 2.4ghz band range shot up to 86% (dropped packets b/c of all the back and forth comms) before switching to send out raw 802.11 packets (espnow esque) via ESP's. 3 esps on 3 different broadcast channels would do the unicasting after being directly connected to the arduino (Cutting out the laptop and central broadcast server). The dmx broadcasts an array of data corresponding to a lighting command. 20x/s. Can be an array of array [of lighting commands] -> the mac address would get modulod by 3 to sort which esp would be the broadcaster
2 batteries lasted 20 hours so they used sleep to keep it going for weeks (.3ma). every 30 seconds would wake up and look for the network. admin badges existsed. no ota