# Pixelblaze for Burning Man 2025 ? Sync/Wifi + New product roadmap?

**URL:** <https://forum.electromage.com/t/pixelblaze-for-burning-man-2025-sync-wifi-new-product-roadmap/3997>\
**Category:** Feature Ideas + Requests\
**Created:** [February 15, 2025, 9:05am UTC](https://forum.electromage.com/t/pixelblaze-for-burning-man-2025-sync-wifi-new-product-roadmap/3997 "2025-02-15T09:05:51Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![sorceror](https://forum.electromage.com/user_avatar/forum.electromage.com/sorceror/32/735_2.png) [@sorceror](https://forum.electromage.com/u/sorceror)\
**Post date:** [February 21, 2025, 12:58am UTC](https://forum.electromage.com/t/pixelblaze-for-burning-man-2025-sync-wifi-new-product-roadmap/3997/8 "2025-02-21T00:58:49Z")

</div>

> [@wizard](#):
>
> That’s a good observation. I think that a checkbox in settings, similar to how follower sensor boards are handled, that would basically ignore leader brightness would technically “fix” that but everyone would still need to get in the interface to change it.

How about a couple of JS **namespaces**?

In this pattern, imagine a bunch of people wielding Pico+ LED swords:

- H: Each sword’s colour is determined by the _next_ wielder’s motions.
- S: Someone has a browser open to the Leader PB web UI to control everyone’s saturation.
- V: Everyone controls the brightness of their own sword via a GPIO knob.

```javascript
// Writes to global variables are sent to the master at a tunable frequency.
// Last writer wins. No built-in consensus algorithm.
// The master broadcasts the latest value at another tunable frequency.
var global.Hue = array(nodeCount)

// Only the leader can write and broadcast this variable at yet another tunable frequency.
// It's read-only for followers.
var leader.Saturation = 1

// Normal device-local variable set from local GPIO
var Value = 0

export function render(index) {
  hsv(
    global.Hue[(nodeId() + 1) % nodeCount],
    leader.Saturation,
    Value * (index/pixelcount)
  )
}

export function beforeRender(delta) {
  global.Hue[nodeId()] = something_interesting(delta, sixAxis)
  Value = analogRead(GPIO_PIN_BRIGHTNESS)
}

// This function only executes on the leader
export leader function sliderSaturation(v) {
    leader.Saturation = v
}

```

---

_[View the full topic](https://forum.electromage.com/t/pixelblaze-for-burning-man-2025-sync-wifi-new-product-roadmap/3997)._
