

Domenode
CAN bus controlled dome LEDs
- Size
- 71.7 × 70 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 89
- Nets
- 63
- Pads
- 302
- Tracks, vias
- 946, 91
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 27 Jul 2018
- Updated
- 6 Jun 2020
Overview
Domenode is an open-source printed circuit board by SHMakerspace, from the SHMakerspace/domenode repository on GitHub. It is a 2-layer board of 71.7 × 70 mm with 89 parts on 63 nets, routed with 946 tracks and 91 vias.
It is built around the ESP32-WROOM-32, SN65HVD230D and AMS1117-3.3, with the WS2812B among its other parts. Its parts include 18 resistors, 18 connectors, 17 capacitors, 13 diodes and 5 ICs. It belongs with the ESP32 boards of this library.
Main components
4ESP32-WROOM-32
SMD,18x25.5mm-40℃~+85℃ -98dBm 2.4GHz 2.7V~3.6V 20dBm Bluetooth4.2 ESP32-DOWDQ6 UART、SDIO、SPI、I2C、GPIO、PWM、ADC、DAC SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesSN65HVD230D
SOIC-8-40℃~+85℃ 1 17mA 1Mbps 370uA 3V~3.6V CAN Transceiver Low-power mode、Wake-up function、ESD protection、Thermal shutdown protection、Bus fault protection、Hot-swap protection SOIC-8 CAN Transceivers ROHSTexas InstrumentsCAN TransceiversAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsWS2812B
5mm X 5mm Surface Mount RGB LED with Intelligent ControlWorldsemiUncategorised
README
README.mddomenode
A CAN bus controlled, WiFi enabled network of dome node LEDs with many features
Features
- :heavy_check_mark: ESP32 microcontroller (WiFi, bluetooth)
- Pads for both ESP32 standalone module and dev board variants
- OTA wireless firmware updates
- :heavy_check_mark: SN65HVD230 CAN bus transceiver
- :heavy_check_mark: 2x RJ45 connectors for CAN in and passthrough
- :heavy_check_mark: 5x WS2812/NeoPixel for RGB lighting
- :heavy_check_mark: On-board buck regulator
- :heavy_check_mark: 2x push switches
- :heavy_check_mark: Power and GPIO LED
- :heavy_check_mark: many headers for sensors and attachments (I2C, GPIOs, power etc)
- :red_circle: A shield header for expansion boards (to be added)
Sensors (all optional and do not need to be populated)
Optional features by means of populating those pads are:
- :question: Outer and inner facing LDRs for ambient/transmitted light sensing
- :question: 2x tactile push switches for on-board input
- :question: Heavier duty power RGB LED shield connector (exposes 24V and R,G,B GPIOs)
- :question: IR Tx/Rx and (hopefully!) a ghetto distance sensor
- :question: Speaker
- :question: Capacitive touch
- :question: Microphone - MAX4466 based breakout board connector (footprints could be added to board, alternative idea is I2S)
Firmware notes
- CAN bus - http://www.barth-dev.de/can-driver-esp32/
- NeoPixels - https://www.instructables.com/id/ESP32-Bluetooth-Ambience-Light-Controller-With-WS2/
- Microphone -https://www.hackster.io/julianfschroeter/esp32-voice-streamer-52bd7e , https://github.com/MrBuddyCasino/ESP32_Alexa
- Speaker - http://www.xtronical.com/basics/audio/dacs-on-esp32/
- IR sensor - https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster
- I2C bus - https://randomnerdtutorials.com/esp32-with-bmp180-barometric-sensor/
BoM and Components
1. Basic functionality and programming
- 1x ESP32 module
- 1x SOT-223 3v3 LDO regulator
- 2x 0603 10uF ceramic capacitors (decoupling)
- 2x 100uF tantalum capacitors (decoupling)
- 1x 4 pin ISP header
- 1x 2 pin SW0 flashing header
- 2x 0805 LED (power and blink)
- 2x 0603 resistors for LEDs (470 and 1k)
- 1x 0603 10k resistor EN (very much needed, R10)
2. NeoPixels
- 9x WS2812 LEDs
- 1x 0603 470 ohm resistor (R13)
- 9x 0603 100nF ceramic capacitors
3. External Power
- 1x MINI-360 buck regulator module (U1)
- 1x 1N5819 protection diode
- 1x 1210 10uF >24v capacitor (C1)
- 2x 0603 10uF ceramic capacitors (C2, C4 decoupling)
- 2x RJ45 connectors
4. CAN Bus
- 1x SN65HVD230DR transceiver IC (U6)
- 1x 2 pin CANTERM header
- 1x 0603 120 ohm resistor (R16)
- 1x 0603 10k resistor (R17)
- 1x 0603 100nF capacitor (C14, decoupling)
Serial Programming
Order is: Black, Green, White, Red (GND), (Rx), (Tx), (5V)
#Flashing Procedure
-
- Determine COM port with command
mode
- Determine COM port with command
-
- Open terminal in esp32 python environment
-
- esptool --chip esp32 -p COM write_flash -z 0x1000 <firmware_bin>
Uploading files
ampy -p COM put
Parts
89| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 100nF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 |
| 9 | WS2812B | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D1, D2, D3, D4, D5, D6, D7, D8, D9 |
| 6 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R5, R6, R7, R8, R9, R10 |
| 4 | 10uF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C2, C4, C5, C16 |
| 4 | GND | MountingHole:MountingHole_3.2mm_M3_Pad | MH1, MH2, MH3, MH4 |
| 4 | TOUCH5 | MountingHole:MountingHole_3.2mm_M3_Pad | MH5, MH6, MH7, MH8 |
| 2 | 100 | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R11, R16 |
| 2 | 100k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R1, R4 |
| 2 | 100uF | Capacitor_Tantalum_SMD:CP_EIA-3528-21_Kemet-B_Pad1.50x2.35mm_HandSolder | C3, C17 |
| 2 | 1K | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R12, R15 |
| 2 | 470 | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R13, R14 |
| 2 | RGB_SHIELD | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J15, J16 |
| 1 | shm_logo:shm_logo_small | shm_logo_small | |
| 1 | 10K | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R17 |
| 1 | 10uF | Capacitor_SMD:C_1210_3225Metric_Pad1.42x2.65mm_HandSolder | C1 |
| 1 | 120 | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R18 |
| 1 | 1N5819 | Diode_THT:D_DO-41_SOD81_P7.62mm_Horizontal | D10 |
| 1 | 24V | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J12 |
| 1 | 3V3 | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J5 |
| 1 | 4K | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R2 |
| 1 | 5K | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R3 |
| 1 | 5V | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J10 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | BLINK | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D12 |
| 1 | BOOT | Button_Switch_SMD:SW_SPST_B3U-1000P | SW4 |
| 1 | CANTERM | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J4 |
| 1 | CAN_BOARD | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J13 |
| 1 | CAN_IN | RJ45:RJ45_GENERIC | J19 |
| 1 | CAN_OUT | RJ45:RJ45_GENERIC | J20 |
| 1 | ESP32-WROOM | ESP32-footprints-Lib:ESP32-WROOM | U3 |
| 1 | FLDR | Opto-Devices:Resistor_LDR_5x4.1_RM3 | LDR1 |
| 1 | GROVE/I2C | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J17 |
| 1 | IRLED | LED_THT:LED_D3.0mm_IRBlack | D13 |
| 1 | ISP | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J18 |
| 1 | MIC_HEADER | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | MIC_JUMPER | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1 |
| 1 | MINI-360 | mini360:MINI-360 | U1 |
| 1 | MMBT2222A (2N2222 equiv) | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q2 |
| 1 | MMBT918 (2N706 equiv) | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q1 |
| 1 | POWER | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D11 |
| 1 | POWER_TEST | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J6 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_B3U-1000P | SW3 |
| 1 | RLDR | Opto-Devices:Resistor_LDR_5x4.1_RM3 | LDR2 |
| 1 | SENSOR | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J9 |
| 1 | SN65HVD230 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U6 |
| 1 | SW0 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | SW1 | Button_Switch_SMD:SW_SPST_B3U-1000P | SW1 |
| 1 | SW2 | Button_Switch_SMD:SW_SPST_B3U-1000P | SW2 |
| 1 | SWITCHES | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical | J21 |
| 1 | Speaker | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | LS1 |
| 1 | TOUCH | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J11 |
| 1 | TSDP341xx | OptoDevice:Vishay_MOLD-3Pin | U5 |
Questions
How big is the Domenode PCB?
It measures 71.7 × 70 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Domenode use?
89 parts, built around the ESP32-WROOM-32, SN65HVD230D, AMS1117-3.3 and WS2812B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Domenode KiCad files?
From the SHMakerspace/domenode repository on GitHub, at the commit this page was made from: the board is Hardware/Nodes/domenode.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Domenode design in my own project?
Its repository states no licence, so its author keeps all rights: ask SHMakerspace before reusing the design.
More from SHMakerspace/domenode
1- 2 layers105 × 49 mm

Similar boards
- 4 layers48 × 31.4 mm

Pelletmon
Majr98/pelletmon
Monitor Estyma-compatibile boiler via CANbus with WiFi / IoT.
18 parts1GPL-3.0 - 2 layers87.5 × 103 mm

CAN Cybersecurity Hardware
naveesh1/CAN-Cybersecurity-Project
Real-Time Embedded Cybersecurity and Anomalous Message Detection for In-Vehicle CAN Networks
12 parts - 4 layers75 × 90 mm

VehiclePrecharge PCB
nsm81/VehiclePrecharge_PCB
The precharge board contains the precharge resistors, precharge relay, main relay drivers (with economisers), and a controlling micro.
56 parts - 4 layers70 × 157.5 mm

Controller Tv Lift
vyrubaev/TV-Lift-Controller
TVLift Controller is an intelligent controller for TV lift and lower mechanisms, based on the ESP32 microcontroller.
103 parts - 4 layers90 × 35 mm

VehicleCurrentSense PCB
nsm81/VehicleJunctionBox_PCBs
The junction box is an intermediate stage between the accumulator and inverter. It contains an HVD, a current sensor, discharge circuitry, TSAL and TSMPs.
64 parts1 - 4 layers60 × 85 mm

VehicleVCU PCB
nsm81/VehicleVCU_PCB
A Vehicle Control Unit provides multiple CANBUS transceivers for communication within a vehicle.
64 parts1 - 4 layers145 × 73 mm

- 4 layers90 × 100 mm
