Dome Node

I’m hoping I may be able to get some assistance with a digital dome upgrade program. Inspired by @stochastic_forest.

These are my thoughts so far.

Requirements

  • These nodes need to be low cost waterproof units with sensing and illumination capabilities. These will be located within the geo-dome hubs. It should be possible to trigger and view from both sides (internal and external).

  • The nodes need to be capable of large Batak game as a dome-wide network.

  • All nodes will be required to be networked to a central controller.

Dome Stats
Strut ‘A’ length: 1.77
Strut ‘B’ length: 2.00
Diameter: 6.5
Surface area: 66
Floor area: 32.5
Circumference: 20
Dome%20nodes

Network
Choosing the type of network is crucial first step.

Wired + Wired - Wireless + Wireless -
Low cost microcontroller (ATtiny85). Will require additional networking hardware. Ethernet or CAN bus. Esp8266 type microcontroller with built in networking. Will require Batteries to be bought and requires replacement.
No Batteries required. Use POE/ CAN bus power. Increased dome build time with wiring. Approx 35m of wiring. Not wired so faster onsite installation. May be harder to waterproof battery compartment.

Component
• LED (RGBW?) – For Batak and light displays.
• LDR - Used for Daylight Sensing and as Batak sensor/ button.
• Microcontroller.
• Network interface
• Power supply/ Battery

I would be very interested in any suggestions, help or advise.

My instinct would be to go wired as batteries probably start to get complicated to replace / expensive if you want bright LEDs on for most of a weekend.

Another nice thing about using a wired system is it’s very easy to power cycle all the nodes if something starts acting up!

The easiest build would be to just use chinese pro mini clones (banggood will do 30 for just under £50 - you might get a couple of quid off by shopping around). Communication could get interesting, but I’d guess it’s mostly in one direction and I’m sure we could work out something fairly simple that just uses one or two wires between adjacent nodes, plus power distribution.

Sensor wise I’d suggest that you could just put sensors on the ten nodes at an easy height for most people to reach. I’d also be tempted to keep the batak outside the dome if you want to put stuff inside it.

We could use a different design for any nodes without sensors (ie just use smart LEDs), but keeping all the units as similar as possible sounds like a good plan for now.

Possible ways of registering touch would be:
LDR (could be prone to shadows, changes in lighting etc)
Big arcade buttons (cool, more expensive, and would need modding for RGB)
DIY Capacitative sensing (should be possible but a bit unknown)

A couple of links…

Pro Mini Clones from Banggood:

“Arduino” touch sensor demo:

1 Like

Would love to help out with this one, sounds like a very fun project indeed.

Completely agree with @JulianWarren that wired is the way to go, it will definitely be easier to manage at EMF. With the design of the dome, we could probably incoporate a lot of the wiring into the structure to make setup easier too. Being the big fan of RJ45s that I am, I can imagine a lovely clicky setup for the nodes.

I’m a fan of capacitive sensing as the switching too, a cross pattern on the surface of each node would be cheap and relatively reliable.

The communication aspect is a head scratcher for me, as all the nodes would need to chat without collisions. I’d love to see wireless communication still happen, just for the novelty and other potential things you could do with a mass of wireless-enabled micros in a structure - how about a 3D wifi strength meter, which shows you the vector of a particular hotspot?

I would use CAN bus - as long as all the nodes have a unique ID, it has lossless arbitration; i.e. even if all the nodes decided to transmit at the same time, it’ll self arbitrate losslessly and all the nodes will wait their turn.
(Read up on CAN bus, it really is elegant)

You’ll want 4 connections: VCC, GND, CAN+, CAN-. I’d recommend RJ45 patch cables, with the power pins tripled up:

1: VCC
2: VCC
3: VCC
4: GND
5: GND
6: GND
7: CAN+
8: CAN-

Then just order a bulk load of ethernet patch cables.

Bonus thought 1: I’m designing a low-CPU-load CAN bus transceiver for Raspberry Pi. It’ll be ready soon. :slight_smile:

Bonus thought 2: Making a board based on the LPC11C22 would be a single chip CAN bus uC solution (it has a built-in transceiver) and it has a ROM CAN bootloader, so a pushswitch on the PCB to trigger the bootloader mode and the Raspberry Pi can just download new firmware on, over the existing CAN bus. Easy peasy.

Bonus thought 3: You don’t necessarily need to make waterproof enclosures - conformal coating spray on the PCB will go a long way to making it condensation proof.

Bonus thought 4: I am so on board with helping with this.

Bonus thought 5: Maybe make VCC 12V or 24V and have a 5V buck regulator on each board. There are chinese buck ICs that cost peanuts each.

1 Like

Would it be of any benefit to have the stodome semi-permanently set up for testing shenanigans?

Google Earth says I would have space :slight_smile:
image

If you use the 328s there is of course no networking port like CAN or RS485 but there is a Uart on each. You could then take all of the Uart TX/RX pairs back to a BlackIce board.

Thank you everyone for all your help. Thank is a lot of information to conciser and discuss.
I’m not going to be at the space for the next week so will get back on this after in a weeks time.

1 Like

Update on Dome.
The following has been accepted “SHM Geodesic Interactive Kaleidoscope & Cinema”

"In 2016 (SHM) Surrey and Hampshire Makerspace built a geodesic dome. After putting away in storage, I thought there must be more uses to a geodesic dome. And now there is:
A hemispherical projection is, visible internally during the day and glowing out to the world at night. This will show a display of video, photography, sound reactive visuals and an interactive game.
Every node of the dome will have an interactive button forming a 360◦ group game or speed and reaction. It works from inside (under cover from rain) or outside with a projected AI to compete against.
I would be more than happy to do a talk, presentation and demonstrations of how it all works and the various technologies used.
If there is a particular video, image or idea anyone would like to show I would be more than interested to help. "

Test Code

Node - Test Code
https://drive.google.com/file/d/1xCDusZqR36JsA1qfXoXDSh773p4sT9N3/view?usp=sharing
Master - Test Code
https://drive.google.com/file/d/1TZDI74wTy5KmnW4IVzsF37EpJTlbZMWr/view?usp=sharing

Node Design
Low cost Arduino/ Atmega with MCP2515, array of 5050 ws2812b’s and a button. Possible to do at sub £10.

The current next set is to order node hardware.

1 Like

@Macaba has also been busy with his node design, using LPC11C22, 8W RGBW’s and 3W speakers.
Connection of RJ45 with pins 1,2,3 =24v, 4,5,6 = 0v, 7=CANH, 8=CANL.

1 Like

I have been working on a ‘cost effective’ dome node PCB, based around an ESP32 and a CAN bus transceiver. While the LPC11C22 IC solution was neat, I am not experienced in their toolchain whatsoever. I found finding code examples hard.
I also figured that the cost of the LPC11C22 and its supporting components was around the same cost as an ESP32 module and CAN transceiver, while also adding WiFi and bluetooth capabilities. The ESP32 has a CAN controller peripheral, and while the LPC11C22 offered CAN bus based firmware updates, we can still do OTA firmware updates on the ESP32 by utilising the WiFi.
Plus we can play with mesh networks and some other fun things.

The idea behind this design is to allow for many different devices to be populated as an option. The base board cost is around £7 per node, and standard features are:
:heavy_check_mark: ESP32 providing wifi and bluetooth connectivity.
:heavy_check_mark: SN65HVD230 CAN bus transceiver
:heavy_check_mark: 5x WS2812 ‘neopixels’ for RGB led fancy things.
:heavy_check_mark: 2x RJ45 connectors for 24V power and CAN bus
: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)

Optional features by means of populating those pads are:
:question: Outer and inner facing LDRs for light sensing
: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: Flexible pads for main components, e.g. ESP32 allowing you to select between an ESP32 module or a dev board.

If you have some free time, I would very much appreciate your help reviewing the board. I plot the schematic to PDF here and the whole project is in that Git repository as a KiCad 5.0 design.

DomeNode Mechanical.pdf (473.1 KB)
Ideas for fixing and board sizes.

As we have the board now in the space and being soldered (Pictures to follow).
The fixing system is awaiting plastic diffusers and 3D printed brackets to be completed.

It’s time to look further into a software. As we have ESP32 with CAN bus and WIFI the best plan would be to OTA updates.

Nice find Andrew, that code looks simple to intergrate into our sketch.
I’ve found more documentation on the update process, the main requirement is that our sketch cannot be more than half the size of the flash space on the ESP.
It also gives us two options, update using the Arduino IDE’s OTA function or via a HTTP server. I think the second option might be worth a shot, as we can host the files on the Raspberry Pi and the example code lets us check sketch version and MAC address, so we could have the nodes check for an update on power up.

EMF Camp Dome in action.
DSC_0266

This is a quick summary of what we have learnt from version one and it’s first real test.

  • Future PCB designs should have a additional 5v converting component as the Buck module did not produce a clear/ consistant enough supply.

  • EMF-Camp is not great for OTA updates. This is because mDNS & Bonjour is disabled. A online server based system would be better suited.

  • Waiting for WIFI before continuing boot is not reliable. Suggest trying to use CAN BUS.

  • All 16 nodes have been working although some not consistently. Need to investigate why.

  • 24v wired CAT5 worked well. CAN bus need new firmware to work.

  • The 3D printed brackets where not designed for the 5way nodes. Need to re-look at fixing locations.

For a 5v converter module try a Velleman VMA404 2.5 amp module from Esr Components. It’s output voltage is variable and therefore needs to be preset( whether this could be done without a load) before connecting up. Have ordered 4 modules at £4.75 ex vat and delivery which have been at the boiler room for 2/3 week’s now. Max input voltage is 35v( not 40v) limited by rating of the surface mounted capacitor. Tried looking for fixed voltage modules, but other than the Velleman website itself and wading through Radiospares/ RS Components, I don’t know any other stockists without wading through endless website menu options trying to find what we want. Would give a vote to Esr Components for the quick access with the least hassle. Finding it a nuiscance that Velleman don’t sell to individuals.
Further notes are using Schmitt trigger modules which could be built from simple logic gate ic’s for a more predictable single light level ldr single dumb function interface with a microcontroller board. I have made further notes about using logic Schmitt or flip-flop ic’s for mechanical/conventional debounced switch interfaces. For the ldr there’s also a circuit using a CA3140 op-amp with a signal si diode connected across the op-amp input. This circuit however operates at a higher voltage than 5v. It will therefore need a voltage translation transistor circuit on the output.
Checking Velleman website, for the psu module, and found inconsistencies between circuit diagram component value and what’s actually fitted/ supplied. User instructions state fitting an additional heatsink if over 10W of power is drawn which will be likely in this case. A probable reluctance to use these modules arrised because of the small pcb footprint which is non compatible with 0.1 inch matrix board and difficulty of additional heatsink attachment due to the regulator component being surface mounted on the pcb.Have downloaded this info on smartphone.
As an alternative, will be looking at Quasar Electronics website for psu modules. Update have found some modules on Quasar’s website but they are probably the linear type. They also stock from similar manufacturer 's as do Esr Components. Have also soldered 1.3mm veropins to one of the Velleman VMA404 module. If someone else is brave enough to evaluate the use of these modules…

Psu problems? Would a intermediate 9-12v regulator stage solve problem in stepping down the voltage from 24 volts. It would lessen the dropped voltage across the 5 volt regulator possibly allowing greater current to be drawn. As from the Github Pdf diagram, noticed that the regulators are in cascade. Current draw from the 3.3v regulator stage (800mA max)coupled with the voltage drop across the 5v regulator maybe compounding problems with power dissipated across the 5v regulator. Wonder if use of the 78S 2amp series linear regulators could be used here for a proposal i.e. a 78S12 × 2 forms 1st stage followed by a 78S05 × 2 2nd stage then the 1117 regulator. Depends on what current at 5v the microcontroller board can withstand without substituting 2 1amp 5v regulators for the 5v stage.
Update: Add further LM350/338 regulator for 12-15volt intermediate step down stage