Jul 062020
Here’s a tube light with a balsa Bell X-1 that has nothing to do with the rest of this post.

Clarke’s Third Law: Any sufficiently advanced technology is indistinguishable from magic.

This is a succinct statement of a concept I consider very important to understanding human being’s relationship to technology. I think a good demonstration of the meaning is that a bic lighter would be indistinguishable from magic to a caveman, or a member of an uncontacted tribe, or to some degree an infant. It’s a poetic description of the consequences of the inability to connect the technological function of an object to its human sources of knowledge and materials.

I’m not extensively educated in industrial processes but I can do a fair job of explaining the origin of every material and functional property of a bic lighter. There’s no element of it that represents mystery and given enough time I can at least summarize the supply chains and scientific principles necessary to explain the function and existence of a lighter. More advanced technology such as a smart phone or a rocket engine are a greater stretch to bring back to human sources, but I am confident I have the tools to trace them back. A caveman has nothing resembling the knowledge necessary to make those connections even for common technologies we take for granted. Clarke’s third law is a great description of how humans perceive this disconnection.

Unfortunately, Clarke’s third law has been inverted to justify sci-fi premises that would otherwise be fantasy. And worse, it is sometimes used to predict technological solutions to any problem a human can imagine having a solution to.

Any sufficiently advanced technology is indistinguishable from magic does not mean that any conceivable magic is achievable through sufficiently advanced technology.

Technology, under certain conditions, is indistinguishable from magic, but that does not necessarily imply that ‘magic’ is indistinguishable from technology. Science and technology are constrained by the possible, and even further by the provable. Magic is as unconstrained as the human imagination. 

The human mind is a fantastically conflicted place, but it is extremely robust in functioning despite logical conflict. The mind can effortlessly hold paradoxical concepts together in ways that make no material sense. I can ‘imagine’ a round square, or a circle with four sides. Though I’m not sure if there’s any visual imagination to those conjurings. I’m really just stringing together meaning from words, but there is no alarm or discomfort from mentally combining such incompatible ideas. If anything it can be somewhat rewarding due to novelty and occasionally generate genuine insight. So humans are pretty adept at combining concepts in absurd ways.

I know that ‘darkness’ is not really a property in itself, but an absence of light. Even knowing this I have no problem conceptualizing a ‘dark light’ that casts darkness in the exact same way that light shines. I can imagine it as brightening occluded areas, or darkening them, despite having no physical explanation for doing either. It doesn’t matter that it is complete nonsense in reality. My mind doesn’t require concepts to be materially compatible at all to create rich interactions that seem perfectly compatible with reality.

A dark light is ‘magic’ in a conceptual sense, not just technological. There is no conceivable technology that could make the absence of a thing behave as if it were the conceptual opposite, it’s just nonsense. But that doesn’t stop us from considering ‘dark light’ a potential ‘sci-fi’ concept.

I think time travel is the most interesting example of this. We understand we experience time as moving forward in a sequence, and we understand that sequences of things can be reversed. So in our minds there is no conceptual limitation to reversing time and we just naturally start filling in the blanks of what ‘reversing time’ would look like to a human experience, occasionally adding elements from interpretations of emerging theories such as alternate timelines or causal loops.

But the universe is under no obligation to expand to meet our conceptual potential. The passage of time may be an emergent property of the geometry of space-time and entropy of deterministic laws. Reversing it in a way that we could ‘travel’ through may be as nonsensical as ‘shining dark light’. There is no technology, science, or any other speculative study that would lead one to believe humans can ever use advanced technology to create a ‘dark light’, and I’d argue the same is true for time travel, there are just more people interested in arguing about it so it looks like a more compelling field of ideas.

Of course I can also ‘imagine’ a scenario where my future self shows up in a time machine with a dark light and shuts me right up. However, that’s another example of the same lack of constraint that allowed me to imagine the dark light in the first place.

We can clearly apply the indistinguishability of magic and technology to a less advanced observer’s perspective of technology we understand. But we can only imagine technologies so advanced that we might struggle to understand their human sources in a way that could make them appear as ‘magical’ to us as a lighter would to a caveman.

For something to appear truly ‘magical’, it must be so far beyond the observer’s context of understanding, that they cannot identify it as human technology. That’s an extremely subjective measure, and I could argue that it’s actually unattainable without a pre-existing belief in magic. Maybe even some very ancient individuals were so doggedly rational that once they saw something was possible, they would immediately understand it had to have been made possible by humans by virtue of its existence. Maybe if Plato saw a cell phone or a rocket he would simply be impressed with human progress. And some modern humans can hold demonstrably false beliefs about the Earth being flat while using technologies that would have to be ‘magic’ if it were.

So we have to take Clarke’s law as a very loose approximation even when analyzing the observer’s perspective of known technology. But it loses all relevance when we use it to predict technology based on our current perspective.

There are no relevant examples of anyone we consider ‘modern’ encountering inexplicably advanced technology, so even imagining ourselves in the position of observing ‘magic’ requires us to conceive of technologies that we not only don’t understand, but currently consider impossible.

To impress a modern, educated human with ‘magic’, you’d need to literally bring someone back from the dead, or something else that’s never been done and been proven to be impossible. And then you run into the Plato problem- maybe once they’ve seen it- they’ll assume there’s an explanation and the previous assumptions of impossibility were mistaken.

So there’s really nothing usefully invertible or reversible about Clarke’s law. It’s not a predictive law. It can only be applied retroactively to explain the perception of known technology as ‘magic’ to others, it cannot be used to predict the potential of any new technology or how we might perceive it. Basically it’s as meaningful as ‘yet’ in an argument over inconvenient explanations of why humans just can’t do some things.

So am I saying sci-fi is too unrealistic and all sci-fi should be hard sci-fi? Sort of, but not really- I still want my warp drive and teleporters and other stuff that goes against the whole point of this post. It is what it is. I’m satisfied that ‘sci-fi’ has become synonymous with ‘space-fantasy’ even in more respectable science fiction. Good ‘hard’ sci-fi is just always going to be rare. But it would be nice if the starting conversation for sci-fi was “what’s the most we could do with what we can do?” rather than “what’s the most we could do with no limits?”

So am I saying stop pushing the boundaries of science because they’re boundaries and it’s a waste of time- of course not, but I know that’s what some people hear when I talk like this. Those are generally the ‘I believe in science’ characters who see any objection to blind belief as resistance. But in some ways I envy people who can somehow believe that Maxwell’s Demon is just a description of a future technology. Must be hopeful. I guess I’d just like people to do a better job of distinguishing theoretical impossibility from practical impossibility, or at least stop dragging Clarke’s law into it.

Jun 282020
Here’s a balsa thing that has nothing to do with the rest of this post.

As far as human’s know, we have the most advanced theory of mind of any being. We did kind of come up with the idea though. The idea that other beings have inner lives comparable to our own is the basis for empathy, and cooperation, and deceit, and pretty much everything we associate with being a conscious being living among other conscious beings.

We base our whole concept of intelligence on a mind’s ability to create an identity and internal awareness of itself as an agent distinct from its surroundings and other creatures. It doesn’t make much sense at all to think of awareness without a self.

I think experience and awareness are emergent properties of massively integrated computation and memory of environmental data streams conveyed by the senses. These integrations form a simulation space for planning and prediction. The simulation space may form a representation of the entity hosting it and even the simulation itself. These internal representations of the system are the basis for a systems awareness of itself as a distinct self.

But what defines the parameters of the ‘self’ the computational system identifies? A mirror test can supposedly demonstrate an animal’s capacity to visually distinguish itself from another animal, and it’s a fair assumption that any animal with this capacity makes the distinction of their ‘self’ as their physical body.

A human body is a distinct unit, like all other bodies that support ‘minds’ we identify as comparable to ours. Even a cephalopod, which is probably the most alien intelligence to our own that we can still recognize as intelligent, is clearly built on a distinct individual body unit, just like us. The self is its separation from its environment. The boundaries of a self are the boundaries between the supporting computational system and the environment. In our experience, these boundaries are clearly associated with a unit body.

The value of this arrangement is obviously survival of the system that supports the self. The self’s ability to distinguish itself from its environment is what allows it to plan and interact with it in complex ways. The capacity for complex interaction is necessary when there are multiple individual body units competing for and utilizing one another as resources.

Predation may be the initial catalyst for more advanced forms of self awareness in both predators and prey species. When one being must consume and destroy another to survive, it’s to both’s advantage to be pretty clear about where one creature ends and the other begins.

Both predator and prey have an incentive to predict one another’s behavior. The more sophisticated a mind each has, the more accurate and useful their predictions and behavioral reactions become.

Predation requires a clear understanding of the boundaries of the structures supporting each ‘self’, but does not require a strong consideration of what lies inside those boundaries; another creature’s mind. But as predation and competition for resources becomes more sophisticated, a more advanced theory of mind becomes useful for purposes of deception.

Deception itself does not require a mind at all. Evolution fabricates deceptions for microscopic creatures with no discernable mind at all. But reactive behavioral deception seems to indicate a more refined understanding of the self to include awareness of the state and intents of other minds.

To actively deceive requires awareness of another creature’s expected reaction to a given stimulus, and manipulating that stimulus to affect a more advantageous outcome from that behavior.

The simplest deception is hiding but it probably doesn’t require any real awareness of the fact that if a predator cannot see you it has less chance of eating you. It’s probably parallel to simple avoidance behaviors that are universally effective. Deception behaviors are often very low-risk survival strategies, so it stands to reason that the more advanced a creature’s mind becomes, the greater the advantages of active deception become.

A squirrel that knows it’s being observed may fake burying nuts in various locations. Of course we cannot say with certainty what the squirrel understands about what it’s doing or why. We just know squirrels do that sometimes and apparently it works to some degree or they probably wouldn’t have evolved the instinct to bother. But even absent any meta cognitive awareness of its awareness of other awarenesses, it seems arrogant not to give the squirrel credit for at least understanding, or experiencing, that ‘things that watch me take my stuff’ and altering its behavior accordingly. That’s enough for me to give it the distinction of having at least a proto-awareness of self that I can extrapolate as having the potential to evolve something as complex as my own.

Deception and empathy are both potential paths to more advanced theories of minds. Empathy facilitates more cooperative interactions, but has essentially the same computational requirements as deception. Both require a creature’s simulations to include constructs for individual beings other than itself, and to maintain historical state and intent data for each. The advantages of empathy are generally limited to interactions within one’s own species, whereas the advantages of deception extend beyond the species. And while empathy may ultimately serve to advance a creature’s self awareness and theory of mind far beyond what deception can achieve, I think it’s possible the evolution of the capacity for deception is a necessary prerequisite for empathy.

What survival strategy better incentivizes the development of self that includes awareness of other selves than deception? What other basic survival advantage would understanding the state and intent of another creature’s mind grant? The capacity to predict and plan behaviors in response to stimulus quickly reaches a point of diminishing returns against environmental pressures that are totally transparent. Both utilizing deception, and defending against it, are catalysts for more advanced understanding of distinct selves.

So that’s the basis for the question- Is deception the origin of self? I’m sure I’m missing a lot but it seems like an interesting question with interesting implications. Also it’s got a ring to it. I don’t think there is an answer. I’m not sure how you’d go about proving a causal link between the survival utility of behavioral deception and the emergence of complex self awareness. But the question has been asked, so I figure why not take the next step. So what if it is? 

I don’t think it really changes much. It’s not even that useful a question and probably a little misleading without deep context, but I’m not sure how else to phrase it in a sentence.

Maybe it gives a little more definition to the ancient wisdom that Atman equals Brahman. I take the perspective that a ‘mind’ is like a flame in that it’s just a phenomenon that manifests in given conditions. It’s uniqueness is entirely in its initial conditions and environment. But it’s all the same phenomenon. So I think “There is only one mind in the universe” is wholly correct. There’s still only one mind in the universe, and our individual experience of it is defined by the construct of a ‘self’ that experiences and is aware of its own internal simulations. Nothing that new there, and what you do with that in terms of morality or whatever is pretty wide open.

I guess it feels somehow profound that our minds might be intrinsically separated and alone, with no possible structure to enable true union of mind beyond external communications with beings we presume have similar minds but can never confirm. That it might somehow explain unrequietable spiritual longing for unity and universal understanding. But I think that’s kind of pointless and anthropic.

To me the idea that deception is the origin of self raises a much more interesting question. Predation and deception are not universal strategies for life even on Earth. Given the expansive potential of life in the universe, might systems capable of thought develop from other pressures that might give rise to an intelligence or awareness without a self? How could that evolve or exist at all, and how might we characterize its ‘qualia’ of consciousness?

This obviously challenges the limits of human imagination, and I might be fooling myself that a mind built on a self could even comprehend the nature of a mind without a self, but here I go.

The mechanics and development of such a mind require looser parameters for what constitutes a being, or even thought. Animal nervous systems are extremely well defined computational and sensory structures. It’s difficult to imagine analogous internal states of thought emerging from a more distributed living system with no apparent executive control. I don’t think the states of thought between a self-mind and a non-self-mind would be analogous, but I do think there could still be a capacity for a kind of ‘thought’, or at least an experience, which could give rise to thoughts.

If a system can sense its environment, integrate sense information with memory of previous sense information, and physically alter itself or its environment based on that integration, I think it satisfies the basic requirements to have experience. We wouldn’t be looking for distinct, individual creatures as we’re familiar with them. I think the most likely place to find a non-self-mind would be a far more complex living structure such as an ecosystem, colony, or hive structure.

The mechanisms that provide the sense, integration, and memory functions may be difficult to identify, but they exist in various forms throughout the universe, especially if we stretch to the largest and smallest scales of time and space. A dense, ancient forest watched over centuries takes on extremely complex changes that could arguably be called ‘behaviors’ and ‘responses’. Interactions between species may constitute integration of different sensory inputs. Subtle evolution of creatures within the forest’s microbiome may constitute a form of long term memory. We can imagine analogs of living structures within convection cells in a star, or crystal growth that modifies its own electrical properties to improve self-replication in a dynamic environment.

Even if we call them analogs of life, we are reluctant to ascribe the property of ‘thought’ or even ‘behavior’ to these kinds of systems. They are so radically different from anything we identify as possessing those capacities. The absence of hierarchy or executive control mechanisms seems to imply an absence of will or internal experience. It is hard to imagine such a system having the same active internal simulation space that it could use to predict or plan behaviors. But are such simulation spaces truly necessary for all forms of ‘thought’, or just for self-aware meta-cognition?

I should probably use the term ‘experience’ more than thought to describe a non-self-mind, though I wonder if that’s a distinction without a difference in the context of a discussion of a mind without a self. It seems to me a mind without a self would experience thought more seamlessly than the human mind. Meta-cognition allows us to step outside of our experience of thought, but it is what creates the apparent distinction between thought and experience. Without a self, there may be no distinction to make. Does that mean that a non-self-mind is incapable of any kind of meta-cognition? Maybe, or just maybe only as we know it. This is probably the edge of my imagination. I can’t even approach how a non-self-mind might come to be aware of thought without having a ‘self’ to be aware of, but I don’t think that means something like it isn’t possible.

So if there are other minds that exist without a ‘self’, how might we interact with, or even observe them? Well, that’s the rub. We can’t do either, ever. It’s trying to multiply a number and a letter, doesn’t even make sense.

A non-self-mind cannot fully distinguish me as not itself, and I cannot even recognize a being that doesn’t have an easily definable unit body to interact with. Non-self entities may not have anything resembling language, or communication at all. It seems like it would be a kind of ‘pure thought’ that would have no need for symbolic expression. If there are such minds in the universe, they may be all around us- but they would be so fundamentally incompatible with our own that we appear to them as nature appears to us- mindless forces and phenomenon.

But also for practical purposes- we are simply too small and short-lived. The minds I’m imagining would most likely exist on geologic or planetary timescales and over expansive areas. The evolution of self-based intelligent agency can be catalyzed by biological evolution and predation, which are relatively rapid, violently iterative processes. A mind that emerged from forces other than individual survival would likely develop slowly, with no iterations, only a smooth flow of experience from the simplest correlation of sensory inputs, maybe all the way to kooky ponderings about the possibility of ‘minds’ that are distinct and separate from one another.

Or… maybe all this is just plain wrong and self is the origin of awareness, and there can be no awareness without self. Maybe ‘self’ is as simple as the simulation having a symbol for itself and all simulations do that eventually. Maybe any being that I’m thinking of not having a self actually would have a self, it would just be so vast and alien that I’m calling it something else, but it’s really just a giant self. Or maybe not even that. Maybe you really do need tightly integrated systems with well defined executive control for anything resembling a mind to emerge. Maybe whatever, but it’s fun to think about other kinds of minds for a while so I did that with mine.

Jun 132020

Here are more silicone tube lights with increasingly unlikely balsa gliders.

Here’s a video I made of the process of making the lights.

The classic toy ‘jetfire’ style balsa planes are aesthetically perfect to me. Form and function in unity. The little nose weights complete the look in the miniatures and it just looks great suspended in silicone all by itself. Add some swirly powder and LEDs and you got some staring to do.

But of course I can’t look at a balsa plane and not think about planes in general, so I started considering other possibilities. I’m not an aerospace engineer or an artist, so I thought about air frames that were very visually distinct and ones I liked just because. So far I’ve found three variations that worked out pretty well.

CTS (Cellulose Transport System) Orbiter – Psych! It’s the Buran! Sort of, not really, doesn’t matter. It is technically a glider air frame, but I positioned it in an orbital orientation so it’s not even pretending to glide, but whatever. It’s geometrically distinct and close to my heart, so this was inevitable.

P-38 Torchlight – Very distinct geometry. Very little sense as a glider. But it’s undeniably cool and was a very capable airplane so I gave it a shot. Turns out it’s pretty easy to make and much stiffer than a typical balsa plane so it’s easy to reposition in the silicone without fear of twisting the wings.

SR-71 Woodpecker – Negative zero glider sense here. Gigantic inert nacelles are not a thing. But who doesn’t love the borderline sci-fi aesthetic of this historic aircraft? I got the general shape and quit. Didn’t know how to make the inlet cones or afterburners and anyway it’s a balsa wood model of a supersonic jet so seemed good enough.

Not sure what’s next. I tried a biplane but getting silicone between the wings without voids is problematic. Not sure I’m ready to go full sci-fi balsa spaceship but it does seem like that’s on the horizon. I’d love to think I can carve Serenity or the Enterprise but I’m pretty sure I can’t. Maybe an X-Wing though, we’ll see.

Also I am willing to sell these but don’t care that much. Etsy seems like a waste of time and I don’t really want to deal with typical consumer expectations. But- if you want one enough to contact me about it- there’s a good chance you’ll get one. I’m thinking in the $100 range is enough to motivate me to put one in a box for a stranger, but if you’re a cool person and have an interesting reason for wanting one that’ll motivate me even more. They do take for freaking ever to cure though, like months. So if I make one custom don’t expect it for a good while.

Jun 012020

I’ve learned a lot about acetoxy silicone, but most of what I’ve learned is I have no idea what’s going on and I just try to make it do something resembling what I want, but not be too picky. I haven’t found much information online about using silicone this way, so I figured I’d make some notes about it.

Silicone make a uniquely perfect transparent diffusion. It somehow transmits and bounces enough light that a few LEDs can fill up a volume with light, and show a little of the ‘beam’, but the volume remains transparent. I’m not sure what makes it so perfect, but I’ve tried several other clear fluids and this silicone does this kind of diffusion better than anything I’ve tried. And so far this DAP Ultraclear acetoxy cure silicone is the only kind that’s water clear and still workable. I found some loctite adhesive that’s as clear, but it’s a different chemistry and hardens weirdly and just doesn’t work, also it has a slightly yellowish tint. I guess epoxy resin might have a similar effect with light, but it’s expensive and I think UV messes with that over time. For whatever reason clear silicone just makes a beautiful substrate for lighting little miniature scenes.

As I understand it there’s something called ‘cross-linking’ going on where H20 molecules are exchanged from the air with acetic acid in the silicone. That process is what solidifies the silicone. I only have the vaguest idea what that means chemically.

When you lay in the silicone as thick as the balsa tubes, it seems to ‘self-heal’ any interfaces between silicone layers. Very small bubbles in ridges between ‘beads’ tend to go away quickly. Bubbles up to about 3mm in diameter seem to go away within about a week.

I’m not sure these tubes will every fully cure. So far the oldest tube I have is about 4 months, and it’s still a bit malleable in the middle. You can push the whole scene up or down a few mm by pressing the ends. Pretty sure it’s just forming a ‘plug’ of cured silicone that eventually gets large enough to stop any deeper curing. But it does keep going for a while. I’ve found if I seal the ends flush, within about a month I’ll need to ‘top off’ the tube because it’s shrunk about 4-5mm in. I’ve started adding a layer of cling wrap once they’re in the lights but I’m not sure if they’ll just slowly shrink for years and end up looking crazy with big domes pulled in from either end.

Pre-cured silcone slabs with powder and glitter seem to blend into fresh silicone over time. The interface disappears within a day and you can only see the inclusions. I’ve pulled dioramas apart after about a month and it seems like the pre-cured silicone softens considerably. When pulling apart the silicone it has a uniform viscosity in the center, even in places where the pre-cured silicone layers were previously very solid.

I’ve had no big breakthroughs in speeding up the curing process. I haven’t been very scientific with control groups, but I have some observations:

MOVING AIR – I just put a fan on it. Seems like that has to do something. If you leave curing silicone in a closed space it starts to smell strongly of vinegar, so makes sense clearing that out with a fan might move things along.
MOISTURE – I’ve tried submersion, vapor, and mist. Submersion does nothing, almost seems like it prevents curing somewhat. Vapor and mist seem to help harden up the outer layers, but I don’t know if that’s actually bad for curing deeper within the silicone. I do notice that if you put an older tube in a closed space with a mister, it starts to smell more strongly of vinegar than in a dry space. So maybe it’s doing something and I’m just too impatient.
HEAT – I left them in my car on a hot day, submerged in nearly boiling water, and used a USB heater to keep them about 60C for a day. I destroyed about 3 tubes in the process. The PLA gets soft about 80C and things get weird. I might try to keep it closer to 40C for a day or two, but so far seems like heat causes more problems than it’s worth.
UVC – I got a 8W UVC tube light. Made a little black out box and stuck it in with a tube. It does something because you smell burnt rubber as soon as you turn it on, but after a couple of days it didn’t seem to cure any faster and the PLA was starting to fade. I’m guessing the UVC only penetrates a little bit and just cooks the silicone on the top and does nothing deeper in. Anyway I knew it was probably a bad idea, but I had the light and couldn’t not try it.
PRESSURE – I have a USB food vaccum pump that I was hoping would help get some bubbles out, but it doesn’t. I would like to see if possibly raising the ambient pressure a bit could help speed the curing process. Ideally a small chamber capable of 2-3atm with humidity and heat control, but I live in an apartment and my kitchen is insane enough as it is so that’ll have to wait.

The ‘nose weight’ on the balsa planes seems to create a yellowish cloud over time. It takes months and isn’t very noticable, but it’s very consistent. It expands out perfectly radially around the nose weight. Something is leeching out into the silicone, possibly tin or the rosin. You can only really tell with the LEDs off and held up to a light, so it’s not a big deal, but I may try to find a different material for the nose weights.

Keeping your fingers wet allows you to handle fresh silicone to some degree. It’s useful for smoothing and patting layers into each other. But it does seem to introduce a cloudyness in thick silicone. You can only really use water on the outer layers.

I figured I could move things around in the silicone with a kind of centerfuge so I made a kind of sling. As a test I used a 6″ section of 1″OD tube filled with fresh silicone. I put a couple of bismuth beads at the top. I figured if anything would move in the dense silicone it would have to be pretty dense. Very rough calculations of the radius and rpm spinning it by hand I got about 9G’s and kept that up for about 20m. I manager to move the beads all the way through, but they jammed up against the tube wall as they went down. I figured there’s no way to use that so that’s about as far as that whole thing went. I’m sure a more precise and powerful centerfuge could do better, but not sure if there’s a point.

Counterintuitively, cling wrap is the best material I’ve found for kind of ‘molding’ silicone. I tried aluminum foil and wax paper. Foil tears when you try to get it off, and wap paper leaves a residue even if it doesn’t tear. I also tried thicker sheets of plastic and the silicone tears when pulling it up. Cling wrap is flexible and strechable enough to remove from silicone if you let it shrink onto it. It doesn’t work as well if you ‘pre-strech’ the cling wrap like a canvas. It also works okay on fresh silicone if you peel it back very quickly. It will stick, but it leaves a fairly smooth interface.

I need to do some more testing with this as a release agent and such. I also wonder if a a ‘vape’ device generating glycerine vapor could help speed up the curing process, but haven’t figured out how to test that without things getting very messy.

I ordered some of those molds they use for epoxy resin, but they never came in. Still not sure if these would even work or if the silicone would bond too well. They do make some cool shapes though so I may still give these a shot.

I think I’ve tried injecting pretty much every household chemical I have to see what everything does and looks like when injected in clear silicone. Most stuff just looks like what you’d expect. vegetable oil, bleach, various glues, other silicones, detergent, goo-gone, acetone, and my favorite experiment- alka-seltzer. Nothing really did anything that interesting, execpt alka-seltzer- I ground up a couple of tabs and cured it in a tube for a few weeks, then injected water into it. It did about what you’d expect- just slowly pooed out the silicone. It was unimpressive, but worth mentioning I guess.

May 142020

Here is the first semi-functional build of a bot type thing I’ve been working on. I’m calling it ESP Creep, because it’s ESP based and it kind of creeps.

ESP Creep demonstrating how poorly wheeled vehicles perform without friction.

It was made to have a minimum part count and be simple to assemble and control. I’d like these to be available for anyone who wants an extremely inexpensive robotic camera platform. I always envisioned some kind of desktop multi-bot ‘soccer’ platform to help learn and play with vision control systems and such, but there weren’t any cheap-o bots that really fit the bill. This isn’t ready for much except more development, but it does most of what I intend it to do, albeit very poorly, so I figured I’d share.

Here are a couple of obligatory glamour shots of the bot. Just look at those unnecessarily long, flowing servo leads… majestic.

These are the parts involved, sans 3d printed parts and a half-dozen 8mm m2 screws.

~SG90 Hobby Servo (Angle)
~SG90 Hobby Servo (Continuous Rotation)
~16340 Battery Module and battery
~1000uf (6.3v) Electrolytic Capacitor
~Breakout PCB and Connectors.

The PCB breakout is the only custom part, and it’s not strictly necessary, just very convenient.

I chose not to do the traditional differential drive. I’m not entirely clear on why I didn’t want to, but I’ve rationalized it with a few apparent advantages. One it’s just easier to handle control wise. There’s no need for ‘mixing’ turn and throttle variables into the motor values. This just makes it +/- for drive, and +/- for turn. Also you don’t have to calibrate motor speeds to make the thing go straight. Mounting the motors for differential drive seemed to make the bot footprint larger, or wider at least. Also I like that it makes steering pan the camera. And I can’t always find continuous rotation motors and I hate modifying angle servos.

Obviously the next step in the 3d design is to get some friction happening on the wheels, and tighten up the wiring situation.

The big problem is the ESP32CAM software. It serves up the camera and parses UDP packets to command the servos. You can see in the video at the end the connection drops. It does that about 30 seconds after you connect. Sometimes I can reconnect right after, but sometimes I need to reboot the ESP. I know the ESP32CAM can be fairly stable because I have several running esphome on hass.io. But I cannot get these things to stay connected with Arduino based code. Some of it might be the motor power demands, the ESP’s are a little finicky with power, but it’s not consistent with motor power, it drops when it’s just sitting there. I added a big honking cap that I think resolves any brownouts but I don’t think the ESP is rebooting because I can still ping it right after it drops the camera connection. I can’t get any error output when it’s connected to serial that gives me any clue what’s happening. But I’ll keep working on it, I’d love some help if anyone ESP savvy has any ideas.

Here are the files. These are not really well organized. It’s everything you’d need to recreate this bot, but it’d take a pretty handy person to get it all working. I would love it if another DIY nerd wanted to jump into this, especially the ESP32CAM arduino sketch. Fair warning this is terrible code and I express my frustration in comments and variable names. Also I can’t find the stencil files for the PCB right now, but I got it made by OSHPark so they’re still up there. Eventually I’ll get more and maybe sell them in kits or something, but if anyone wants them just let me know, I think I can get the files from OSH. Also it’s just breaking out power and data for the servos so anyone could reproduce it.

~Blender 3d File
~Arduino Sketch
~Python File (keyboard control)

May 112020

No wise man ever said “You can’t start trying to make warp coil lights and get caught up in a whole other thing with the stuff you started making the warp coil lights with and then not eventually get back to warp coil lights.”

And you know what? They’re right- because nobody should ever say that, and that’s exactly what I did.

THERE ARE FOUR LIGHTS!!! on the right, and three on the left.

This is another warp coil light, this time with WLED but I haven’t added the warp effect loop yet, this is just WLED onboard effects. If I haven’t mentioned it enough- WLED rocks the\my casbah and\or world. The video shows the original warp coil light on the left and the new warp coil light on the right.

I wanted to take a video with the new warp light running the ‘warp’ loop, but somehow it became a familiy reunion of all the 3/8″ tube lights. The shotlight build hasn’t gotten much love lately, not sure if I’m going to get back to it, bit of a lark, but it does look cool next to it’s cousins. #TUBELIFE

Interestingly, the old tubes seems to do a better job of transmitting the light around the curve and I’m not sure why. The old light and the silicone is only a few months older than the new one, but the actual vinyl tubes I used for that light were ones I’ve had for years. I think that roll of tubing had been sitting in my parts bin for a decade. I do notice the older vinyl has a slightly yellowish tint. I’m not sure if that’s from the factory or from sitting and accumulating layers of tobacco smoke. Whatever it is, I wish I could duplicate it. You can almost tell in the video that the middle of the new light doesn’t get quite as much light, but the old one is pretty even throughout.

Anyway- the new one has four coils instead of three because THERE ARE FOUR LIGHTS!!!

Apr 292020

Today we pay tribute to a project that I never posted when it worked, but should have, because now it’s too late.

I downloaded the STLs for this mini (MAC) moving head light about 4 years ago and printed them immediately.

Then for the next 4 years I made several half-hearted attempts to assemble the thing and get it running with an arduino sketch. At some point I had it together with 9g hobby servos, then I decided I wanted metal gear servos so I swapped them out. Getting the tilt servo and LED wired in through the head is a pain, and I think the design puts a lot of stress on the tilt servo that even a MG servo can’t handle indefinitely.

I used a Lolin32 to drive the servos and LEDs, and at one point I got a YAML config that let me drive the servos and LED via Home Assistant. But I never really used it for anything, every time I got it working with something I’d pack it back up after a couple of days because it wasn’t very fun to control.

But then I finally got Art-Net working on other ESPs and QLC+ provided the kind of control I wanted. So I got a pretty crappy sketch going that was able to execute Art-Net commands for the LEDs and servos. I watched it draw a figure 8 pattern on my ceiling for about a half hour.

So yay! I finally found a place for my little MAC light! I’ll just let it sit in the corner and set up some little light show functions for alerts and that will be cool.

Hey- what’s that’s smell? Did something short out? idk… oh well, I’ll find it when it catches fire or something doesn’t work any more.

Hey… the little MAC light is at a weird angle, thought I had it default to centered…

Oh, the tilt commands aren’t doing anything, not even a sound from the motor. I wonder if the servo connector came loose- nope it’s on there. I guess I have to pull it apart.

Hmmm… servo’s a little warm, that’s not great. Do you remember how the servo horn is secured in there? Did I glue it? I don’t think so… it’s just stuck in there probably, I just need to pry it up a litt… SNAP… oh it was screwed in- and the infill density on that part was super low so… yeah, that’s totally broken now… and oh, the tilt motor is utterly frozen, can’t even turn it with pliers.

So that’s how it happened. I could reprint the part but I won’t, I like pan\tilt lights but this particular design maximizes the MAC light look but probably isn’t the best design for functionality.

But I spent a lot of time messing with this thing and looks like I’ll never get to post it in action so here’s a rememberance.

Apr 282020

My recent experience with WLED has made me think all these years coding out FX loops were a monumental waste of time. I should have just waited for WLED to exist. Not really, I learned a lot, but WLED is seriously the benevolent overlord of LED control code, and of course it includes the godfather of LED code- FastLED. I know I can gush over awesome open source projects, but WLED is a transcendental gift to reality. I have been looking for and vaguely pretending to plan to code something like this since I started playing with LEDs, but this is far beyond my abilities as a coder, or a human being. Anyway- WLED is the alpha and the omega for LED projects. So I’ve been smartening up a couple of dumb lights with it and smiling and clapping at some for the first time in a long while.

Here’s a video of a few lights running WLED, but it doesn’t demonstrate a fraction of the control options or effects.

Trusty Old 8×8 Matrix, ‘hextube’ (SEVEN), and a balsa tube

I’m still really digging the hextube configuration. I don’t really plan on making more of them because it’s kind of quirky and I don’t think many people would be into it, but I really dig it but I haven’t been able to figure out a good FX loop for it, so I gave it an ESP8266 brain and took it to WLED university. Now I can control it with QLC+ via E1.31, but the onboard WLED FX are pretty wicked too. WLED lets me define different sections of the strip to do different FX, so I defined ‘segments’ for the outer tube LEDs, the area LEDs, and the inner tube LEDs and set them all to slightly different loops and pallettes. The video shows ‘wipe’ running on the outer and area LEDs but with different timing and opposite directions, and ‘plasma’ running on the inner tube LEDs. I think it looks pretty cool. I don’t even want to start parsing out how I would recreate this loop in an Arduino function, and now I don’t have to- and I might never again.

The video also shows an 8×8 LED matrix I built a while back using WS2812B strips, the bluetooth breakout board, and about 20 lbs of acrylic. I have no idea why I thought 3 sheets of 1/2″ acrylic were appropriate for this, but the thing is solid. It’s been running the fire effect 24/7 for at least the past 5 years. It was pretty trivial to swap out the Nano board for an ESP01. I also added a capacitor across the +/- just because I’ve learned you should do that for larger displays. The display is just running ‘plasma’ on very low brightness to let the hextube shine.

And there’s an obligatory balsa tube because it’s running WLED too and balsa tubes are just my jam now. I modified the WLED source to add the little crossfade effect loop for the balsa tubes so it starts up running that and it’s selectable and dimmable in the webUI. I’m having a little trouble figuring out how to handle the WS2811 PCB LEDs with WLED. I want them to stay off for regular onboard FX and only use them in the custom FX, but if I put them in a different segment they don’t work in the custom FX either. It’s not a huge deal but I’d like to get it straight.

I would like to take this opportunity to give the hextube a more fitting moniker since I’ve called several tests and builds ‘hextube’. It’s become a bit of a ‘my grandfathers axe’ situation with the parts but I think it’s going to stay what it is now. So I’m going to start calling this particular build SEVEN.

Apr 252020

Information page for the lights available in the funkboxing Etsy shop.

BLOOM – Looks kind of like a weird underwater flower with fluorescent stems.
FLAME – A bubbly flame sort of thing, usually orange-reddish.
CLOUD – Like if you could drill a core sample from a cloud or something, but more colorful.
GUMBO – Whatever looks cool in a tube but isn’t one of the other styles.
SPACE – Scenes of whatever looks cool in a larger tube made from a fresnel lens sheet.

MicroUSB ATTINY85 Board, WS2812B LEDs (RGB and UV), WS2811 PCB with Discrete LEDS, Vinyl tubing, Silicone, Fluorescent\Glow-in-the-dark pigments.

~There’s a 10 second delay after you plug them in before the lights turn on. This is due to to the controller board being programmable and just is what it is because I want people to be able to reprogram them if they want. See ‘Hackability’ if you’re interested.
~These lights are not perfectly manufactured. They’re built entirely by one guy with a poorly calibrated 3d printer in the kitchen of a one bedroom apartment, but they should do what they’re made to do, which is light up and look kind of pretty.
~Don’t handle them too aggressively. They’re sturdy enough to survive light knocks, but they’re just display lights. The tubes are not completely rigid so you can squish them hard enough to destroy the scene if you try, but don’t try you should be fine. For best results just plug and stare.
~I guess they could catch fire, but most things could. These run at 5V and pull less than 50ma but they are made of electricity and rubber and that combination has some flammable potential so I feel I should mention it.
~Don’t consume them or let children or pets consume them. They’re probably toxic at some level and it just can’t be good for you. They look way better than they taste. Also these have zero considerations for children or pets so just keep them away entirely.
~I’ve hidden a false but very convincing secret of the universe in every 42nd light. The message is encoded in the LED’s PWM so it’ll become embedded in your subconscious the instant you turn on the light. Try not to fall for my cosmic lies.

At some point I’ll put more effort into documenting the process of working with silicone because it is pretty interesting and I haven’t found references to anyone else doing this kind of thing with it. I got some inspiration from people who work with clear resins, but silicone has a lot of different properties. My initial choice of silicone was by circumstance, it’s just cheap and available, but by now I appreciate some properties that make it a very unique substrate. I also found some information from people who had experimented with silicone to create homemade casting molds that turned out to be pretty useful.

This all started with the desire to make a kind of ‘warp coil‘ light. I found clear silicone worked well as a tube filler to make little ‘wave guide diffusers‘. Then at some point I had the notion to inject highlighter fluid into it for the fluorescent effect. A few dozen bizarre notions and experiments later I’d figured out several materials and techniques that looked cool enough to put in little lights.

The electronics were pretty simple since I’ve been working with Arduinos and LEDs for about a decade, though I did have to do some thinking and tinkering. I’ve been going back to the Arduino Nano for years. It’s my default for any non-wifi project, but I wanted USBMicro and the Nano is actually way overpowered just to drive 2-10 LEDs. I found the old digispark ATTINY85 board I got from their kickstarter (the USB-A version) and got it to run the FX loop after shaving off some superfluous code to get to 6000 bytes or whatver. So I ordered a bunch of the USBMicro version and those seem to work pretty well. Full disclosure I’m using the chinese knockoffs because they’re ridiculously cheap.

The BLOOM and SPACE lights have RGB LEDs at the top and UV at the bottom. The top of BLOOM is a 2×2 RGB matrix and SPACE is an 8 RGB ring. The bottom of BLOOM has a UV WS2812B pixel, and SPACE has a WS2811 PCB with 3 discrete UV LEDs arranged in a triangle for a kind of spotlight effect.

Designing the base\stand was painfully iterative. I’m a very lazy and imprecise 3d designer and really bad at maintaining\calibrating my 3d printer. But eventually I landed on a pretty simple but functional and aesthetically inoffensive design and that’s what I’ve been sticking with. I plan to adjust the base to make room for ESP based microcontrollers to implement WiFi, but overall I like the footprint and size of these so I’m going to try to keep this general look for a while.

These shouldn’t require any maintenance, they just sit there and make light. Maybe dust it off every now and again. The tubes and stand are vinyl or plastic so avoid solvents or anything sharp or abrasive. As far as I know if left alone these tubes should outlast me, but I can’t test that assumption. If anything happens with the electronics but you want to keep the tube I can fix it, but any damage to the tube is irreparable. I’ll offer electronics repair for undamaged lights for one year after purchase for no charge except international shipping, and we can work something out after that or if they’ve been damaged.

These are made with common, inexpensive parts and open-source code so if you’re handy you can modify them to do whatever you want. New FX can be uploaded via USB without any modification, though getting the micronucleous programmer USB drivers set up on your PC can be a hassle especially on Ubuntu. I may post some links to tutorials at some point but this is hackablity for already hacky people, it’s not an educational device. The data pin will probably be 2, but you’ll want to open the case and double check. The LEDs are just WS2812B so you can swap out the board for something with WiFi or BT if you want. I’m all about hackery so if you intend to or end up doing something with these that they weren’t designed for please share, or if you need some help I’ll see what I can do. At some point I plan to make a 4×4 matrix of the FLAMES that can be controlled via WiFi so if that kind of thing is your bag let’s jam.

The FX loops use the FastLED library. There are no user adjustable settings via buttons or serial interface at this time, you just plug them in and they do what they do. The FLAME\CLOUD\GUMBO effects cycle through the color wheel. The bottom LED cycles +\-50 hue offset. Each LED has an independent brightness that cycles randomly from about 40-100%. Both LEDs cycle saturation between 50-100%. The top LEDs of BLOOM and SPACE crossfade between adjacent LEDs to give a bit of a motion effect to the scene. The bottom UV LEDs of BLOOM and SPACE crossfade between adjacent UV LEDs and randomly cycle the maximum brightness. These loops should create continuous but fairly random look that is interesting enough to stare at but doesn’t become distracting if you’re not looking at it.

Apr 232020

In the past I’ve worked with bluetooth and serial remote control of LEDs and I cobbled together a system to control LEDs with UDP packets at some point, but I never landed on anything I really liked or found useful for more than just a rough test. I’ve known of DMX\Artnet for some time but never understood it or cared enough to implement it. Well I finally dug deep enough to get an ESP8266 controlled by QLC+ and it’s pretty sweet. I’m not a huge fan of DMX512 from an structure standpoint- 512 bytes per universe and channel\address offsets and all this are just archaic nonsense, but it is pretty simple and ubiquitous so it probably makes more sense than the wacky bespoke UDP nonsense I was cooking up. I also looked at MQTT and it’s probably superior, but it doesn’t seem as universal for lights as DMX\Art-Net.

First test, manual control and a test sequence.

I had to edit a bit to handle channel\address offsets I can send commands in the same DMX ‘universe’. I’m not sure if it’s best practice to make each light its own universe, but I thought using one made more sense for my needs. I’m still a little rough on how the Art-Net nets, subnets, universe, kilouniverses or whatever are supposed to be structured, but I’m thinking that only matters when you’re controlling a lot more lights than I ever intend to.

This next video is 3 lights, each with an WS2812B 8LED ring on top and some kind of LED on the bottom, left to right they have a 3-UVLED WS2811 PCB, a 3-WhiteLED WS2811 PCB, and a WS2812B UV LED.

Longer sequence with three separate lights.

And for some reason here’s a picture of one of the tubes right after putting the silicone in. Silicone this thick is relatively forgiving with small bubbles, as you can see from this image the initial ‘pour’ left some ugly voids but after about a week of curing they disappeared completely.

“Silicone is optically compassionate but tactilely sociopathic.” -Banksy’s neighbor’s friend from the hardware store.

I’m using this Arduino library – https://github.com/rstephan/ArtnetWifi. At some point I’ll write a DMX client sketch that includes codes for running onboard FX modes, but for now I’m just using individual RGB channels.

Part of the problem I ran into controlling LEDs with WiFi was lack of a suitably convenient board. Most of the cheap ESP8266 boards run at 3.3V and I’m too lazy to add a level shifter to every build. Some board\LED combos will still work at 3.3V but it was too inconsistent. I found some 5V ESP32 boards that worked but they were less cheap and I didn’t like how hot they seemed to get just driving a strip of LEDs. Also had trouble with some of my goto libraries working on ESP32.

I did find these ESP-01s RGB modules and they work pretty well, but they only break out one pin so I can’t drive APA102 or add a button or anything.

Bottom left is ESP-01s RGB with a 12LED ring. Bottom right is the ESP-01 TX\RX adapter. Above that is a MicroUSB power PCB. Top right to left are ESP8266 and programmer with boot switch.

I’ve also been sitting on a half-dozen of these ESP-01 TX\RX adapter modules that I originally got to add WiFi capability to a Nano. But I never got the AT mode to communicate with the Nano, and it’s kind of dumb anyway since the ESP is a perfectly capable microcontroller, the Nano just adds 5V and more IO pins, but I was only using 1 or 2 pins, and I could get 5V IO a dozen other ways.

Basic setup using the TX\RX module. TX(PIN1)>WS2812B CAPTOUCH>RX(PIN3)

Not sure why it took me literally years to realize this, but those modules also make the ESP8266 into a perfect WiFI LED driver board. It takes 5V and gives the ESP 3.3V, and the the TX\RX lines are already level shifted to 5V. You just have to add a line in the setup() function to define the TX\RX lines as GPIO:

pinMode(1, FUNCTION_3); //GPIO 1 (TX) swap the pin to a GPIO.
pinMode(3, FUNCTION_3); //GPIO 3 (RX) swap the pin to a GPIO.

Add a little MicroUSB connector and you’ve got a cheap ESP8266 LED controller with 2 IO pins. It’s a little annoying to code because you can’t just leave it plugged in to the USB and keep uploading new sketches like you can with a Nano or something. But I just have 2 ESPs and work with the protoboard plugged into a USB battery and the USB-ESP programmer to the PC and just keep swapping the ESPs back and forth. Alternatively for some things you can write code on another board like a NodeMCU or Lolin32 and just upload it to the ESP8266 when it’s good to go. I have a lazily iterative process so it’s easier for me if I can just change, upload, change, upload, etc, with as little delay as possible. It’d probably be better if I just thought things through more, but if I did that I probably wouldn’t be doing any of this in the first place.

So anyway with that rig, the ArtnetWiFi library, and a tutorial on QLC+ I quickly achieved my dream of finally becoming a a lighting designer for a portable micro airshow. Now I am content… but only just now… yeah it’s over, I’m not content anymore so I guess I’ll get back to tooling around and messing with stuff.