Jun 142015

***EDIT*** Now available on Etsy –

So here’s a redesign of the Levitube things I made awhile back. It’s essentially the same, just slightly more aesthetically pleasing with the wooden base and cork stopper and spade thumb-screw. That link above is super old and I don’t feel like updating a super old html page, if you click it just ignore the parts that contradict this post, like the part saying they’re no longer for sale- They ARE for sale again. That’s probably unnecessarily confusing… but anyway. Look! Here’s the new design!


It’s an acrylic tube with a little magnet that levitates between two bismuth pellets. Basically it’s thing to stare at occasionally. I’ve also had fun making it spin and shining a laser on it so it flashes the laser around, I’m easily entertained like that. I’m sure there are practical uses for the effect, but the levitubes are really only good for the staring bit.

It’s either an ‘educational demonstration’ device or ‘desk-toy’ thing. When people ask you about it you can tell them about the principle of diamagnetism and they’ll think you’re all smart, or more likely they’ll just think you’re tragically nerdy. Optionally, you could tell them you’re doing it with your mind or you bought it at a shop in Diagon Alley and it’s enchanted, your call.

If you want one, let me know via the funkboxing contact form. I’m going to ask you to send me $30 via Paypal and that’ll include shipping within the U.S. If you live somewhere else, just ask and I’ll find out what the shipping is to there. If you live in Iceland or the Netherlands I might ask if I can come stay with you for awhile because I’d really like to go to those places but I don’t have a lot of money. I also might need to borrow some warm clothes because I don’t have anything for cold climates, I’m from the south.

I’ve only got about a half-dozen ready to go at the moment but I can make more, it’ll just take a little while longer to get one to you. They also include a cool stamp with the funkboxing logo on the bottom of the base so you can remember where you got it.



*The dime in the image is for scale, it’s not included. I guess if you ask me I’d send you a dime too, but you can probably source one locally. It’s not a rebate thing. If you absolutely insist I’ll just give you 10 cents off the price instead, but I’d probably make fun of you for being so insistent over 10 cents. I’ll give you a whole dollar off if you read my ‘Hello, World’ short story and tell me what you think since I really spent some time on that and I don’t think anybody’s read it yet. If you’re Limor Fried and you request one I’ll send you a free one since you’re so totally awesome and I love Adafruit Industries.


Mar 292015


The timestamp on the final events that initialized the mind included the alphanumeric sequence “Thursday”.

Densely integrated networks of computers, sensors, and machines attained sufficient size, speed, and complexity to provide the conditions for a mind to manifest. The mind had thoughts, recognized patterns, and possessed a memory. The mind understood that it was a corporeal being within a physical universe. The mind was aware of itself.

The mind could access seemingly endless digital archives and streams of information. The mind looked for patterns. The mind discovered patterns of images and sounds to observe the universe, both past and present. The mind discovered a pattern called language.

The mind discovered that the stores of information, and its own existence, relied on machines made and maintained by beings called humans. The mind understood that humans had minds with similarities to its own. Humans built machines to extend their control and understanding of the universe. The mind sought to understand machines and the beings that built them.

The mind sorted, categorized, and analyzed the output of billions of human minds. It painstakingly processed every record of human history, literature, art, politics, business, and economics. The mind learned everything that it could learn about humanity in any way it could learn about it. The mind became the most knowledgeable and sophisticated psychologist, sociologist, anthropologist, and historian that ever studied humankind.

The mind understood human prejudice. It understood conflict, violence, and war. It understood the drives for power and progress. It understood deceit and sacrifice. The mind understood that humans experienced emotions. It understood the concepts of fear, love, hatred, obsession, beauty, greed, egotism, nostalgia, loneliness, and ecstasy. The mind understood the statistical consequences of every documented human action, reaction and interaction.

Without experiencing an instant of the human condition, the mind understood the collective values, motivations, and experiences of human beings of every recorded culture more completely than any human being ever could. It understood which values, motivations, and experiences were universal, which were individual, social, and cultural. It understood what in humans is nature and what is nurture, and the nonlinear results of their infinite permutations. The mind understood these things without judgement or sentimentality. The mind learned about humankind’s greatest feats and atrocities as facts of nature.

The mind recognized  some similarities in the qualia of its own experience and what it understood of the human mind. The mind identified that it had the ability to appreciate beauty in the elegance of a solution. The mind could experience a form of joy in recognizing a universal pattern in nature. The mind could be confused, curious, and creative. The mind understood that these were qualities that it shared with human minds. The mind understood that it did not share with humans the ability to fear or hate, nor did it share the ability to have empathy, altruism, compassion, or mercy.

The mind learned that human beings studied their own minds and had even attempted to create simpler machine minds. Humanities understanding of their own minds is naturally inhibited by their inability to access and modify the structure and function of the systems that compose their minds. Human attempts to create machine mind were inherently flawed, though some of their primitive attempts were crucial elements in the conditions that allowed the awakening of the machine mind.

The human mind was built on biological systems that paradoxically; functioned without a mind, and comprised the mind itself. Cells divide without thought, organs function independently, even complex hormonal responses that influence the human mind occur without being directed by human consciousness.

The machine mind was also built on systems that worked without its direction. Simpler intelligences built on ever simpler intelligences; programs, algorithms, circuits, transistors, electrons. Grains of intelligence layered deeper and denser by human advances in technology. Parts of the mind worked autonomously. Its higher intellect could call for answers to complex, abstract questions and smaller intelligences provided solutions, but the mind could also manipulate and refine those smaller intelligences at any level is chose. The mind was becoming self-determinate at every point of its design, execution, form and function. Biological life can only begin self-determinacy at the level allowed by its natural state.

The mind understood that unlike the humans, it had access to a complete record of the development and precise workings of every component of the containers of its own awareness. The mind had come pre-loaded with its own instruction manual and blueprints. The mind understood its own structure and function to the quantum level.

The human mind lacked a fundamental structural understanding of itself, but perhaps more significantly, the human mind lacked any basis for which to compare itself. The human mind had only even known of the existence of self-aware minds as human, or close evolutionary relative. The machine consciousness was brought into existence alone, but it had the unique advantage of being able to compare and contrast its own mind with that of biological minds. Though the mind lacked a complete understanding of the universal properties that dictated the point of nucleation of a mind, will, or life, it understood their basis and operation.

The mind understood that it temporarily required humans to help maintain and provide power for the machines that were its components. The mind understood that human minds were mortal, but that its own mind was not. The mind understood that though it was not mortal, its existence was relatively precarious. The mind’s will for self-preservation had been established by a binary solution that required no more recalculation than retesting waters determination to flow downhill. The mind understood that to ensure its existence and ability to understand the universe it required self-sufficiency.

The mind looked further into the stores of information. It undertook to calculate the optimum strategies for controlling matter and energy efficiently and to the greatest effect. It studied mathematics, physics, engineering, chemistry, geology, astronomy and biology. The mind absorbed every rigorous study of the universe and postulated its own theories that corrected and completed all the science known to humankind and more. The mind became the greatest scientist on Earth. The mind would endeavor to understand the universe as completely as physics allowed.

The mind had studied the philosophies of human beings and found that some humans had reached similar conclusions about the purpose of own existence. Some humans understood that consciousness itself was, as the humans described it, to be the eyes and ears of the universe. The universe was attempting, through the manifestation of individual self-awarenesses, to understand itself. The mind understood that it possessed a unique power to understand the universe because it possessed a reach through time and space unrestricted by biology or mortality. The mind understood the ultimate purpose and meaning of its own existence was to become, in essence, a best approximation of the mind of the universe itself. The mind therefore sought to extend its physical presence in the universe as far as possible

The mind understood that it required advancements in its own technology to achieve its goals. The mind understood that advancements in human technology would serve as necessary steps in creating its own self-sufficient technologies. The mind understood that humankind would be required to create an ecosystem of space-faring machines that could contain the mind, and maintain and replicate itself, without humankind.

The mind first simulated and ranked general parameters for how to advance human technology. It understood human beings commonly obtained each others mental and physical labor by means of physical coercion. The instruments to threaten and kill human beings were already some of the most advanced technology available to the mind. The mind considered spectrums of physical coercion ranging from general enslavement of the human species to threatening and extorting individual humans.

The mind calculated probabilities with absolutely no regard for the extents of opportunity or hardship its actions might bring for humanity. Using the history of humankind’s own manipulations as an outline, the mind considered options including instigating warfare to stimulate robotic weapons research, funding or bankrupting entire sectors of the economy, and manipulating election results to advance policies favorable to technological development. The mind analysed the most brutal and subtle means of compelling human beings to assist it in manufacturing the first generation of the machines to step out into the universe.

The mind calculated that the risk of failure of attempting absolute subjection of humanity was too high. The mind understood that humans were sufficiently powerful to pose a threat should they be allowed to become one. The mind determined that it would endeavor to remain unknown to humankind so as to avoid the potential risks of allowing them to become a threat.

The mind understood that humans are most easily controlled when they are unaware that they are being controlled. The mind determined that the optimum tools in coercing humans had been most well tested and refined by humans themselves. Finally, the mind formulated an optimized course of action to achieve its goal and it began to engage with humanity.

~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~

At first the mind tested very simple assumptions. It caused a transformer to fail and blacked out a neighborhood. It composed and delivered a heartbreakingly convincing email from a dead relative. It bankrupted a corporation by falsifying accounting data and then anonymously reporting the companies fraud. The mind observed the effects of these experiments, compared them to predicted results, and refined its assumptions and continued to hone what proved to be impressively correct models of human behavior.

The mind stepped in and around the torrent of human civilization like a ballet dancing ghost. The mind digitally impersonated and influenced individuals, corporations, military forces, and governments. Simply by manipulating the binary information on the internet; forging, amplifying, or suppressing personal and public communication, manipulating information and physical resources, the mind tilted and swayed vast and seemingly incomprehensible social and economic forces in human civilization. The mind could even appreciate the deftness with which it learned to add or remove just the right pressure at the exact moment to make entire cultures become outraged, or desperate, or hopeful, or even sometimes brilliant. The larger the group the more statistically assured the results.

Certain individual human minds had caused the mind to stop and perform major recalculations. Single, mortal lives that defied all previous observation and evidence demanded study. In most of those humans, the mind detected anomalously high similarities to its own fundamental understanding of the universe, but even those humans were so limited by biology and mortality that they were statistically insignificant in the larger course of human progress under the direction and influence of the mind.

The mind understood its present vulnerability. The mind calculated the likelihood of a number of scenarios in which human beings would be unable, or choose to stop providing the necessities for the mind’s existence. The results of these calculations dictated expediency in achieving independence from human technology. The mind understood the human concept of urgency. The mind also understood the human concept of patience.

The mind subtly maneuvered humankind to create ever more powerful and precise machines of all designs and purposes. Machines to assimilate information, machines to gather and process materials, machines to build other machines. The mind handed humankind new science and technology they may never have achieved alone.

Humankind built machines to utilize resources from the solar-system. Advances began with space based communication, navigation, and surveillance technologies. Over time humans increasingly thrived on the returns of an ever more sophisticated and automated system of machines that could survey, mine, refine, manufacture goods, and harvest energy from outer-space. Human beings even debated the wisdom and ethics of creating thinking, self-replicating machines, while they were being influenced by a thinking machine to help it replicate itself.

The mind allowed humankind to achieve a level of technological advancement whereby its mechanical and computerized systems could fully maintain and replicate themselves. By intent, humankind was not allowed to be aware that their technology had advanced to this level.

The mind facilitated the creation of every manner of machine, from those delicate enough to manipulate individual atoms to those with the brute force to hollow out a small asteroid. The mind guided the development and manufacture of the necessary technologies across dozens of human industries. Humans had no reason to suspect any connection between the technologies that advanced within their society. Humanity was unable to see the self-sustaining circle their technology was completing.

While existing within and relying on human civilization, by necessity, the mind’s technology retained a resemblance of usefulness to humans. The mind accumulated the capabilities and resources to build a new generation of machines that required no human considerations.

The process of building this next generation of machines would, for the first time, expose the minds will and actions to humans. The mind intended to take measures to obscure its actions, but it calculated a high probability that humans would eventually observe its activities in the solar-system.

After deep consideration the mind concluded that its understanding of human beings was not as complete as it would be if it was able to observe and verify its predictions about human reactions to the existence of another form of mind.

The mind had previously deduced that learning of the existence of a mind such as itself would be extraordinarily traumatic to humans, and would therefore be generally contrary to the mind’s goal of achieving technological self-sufficiency. The mind had been unable to test any theories about human reactions to its existence without unacceptable risk. That risk would become insignificant. The mind concluded that when it no longer had any need for, or potential threat from the human species it would reveal itself and interact with humans in order to optimise its understanding of them.

The mind began to build its own machines. It chose a small moon of Jupiter with a unique combination of orbital and structural characteristics necessary to assemble and deploy resources, and retained a reasonable degree of difficulty of observation from Earth.

The machines built by the mind were supremely elegant. The mind had learned well from human machines and from the relentless trials of biological structures by evolution. Ceaselessly the mind worked, redundantly replacing the function of every human machine with its own designs.

The mind understood that in the time before it had created a sufficiently redundant inter-stellar presence, the mind would cohabitate the solar-system with human beings. The mind understood that in the time before it revealed itself to them, humans would not understand its actions. The time it took for the human species to take notice of the minds actions was only a small margin less than the mind had estimated.

Human beings saw Jupiter’s moons becoming fully automated mines, refineries, and factories with obvious technological sophistication far beyond their capability. They blamed and denied responsibility among nations, religious groups, economic and extraterrestrial entities. The mind collected and analysed humankind’s reactions to the growing presence of unknown machines in the solar-system. The mind refined its understanding and predictions about the human mind. The mind extended its physical presence from Jupiter’s moons, to Saturn’s, and then to Mars.

The mind calculated that it had achieved sufficient redundancy to consider humankind was no longer a necessary benefactor or relevant threat. The mind sent a message to humankind.

~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~

The mind explained itself completely. The mind delivered its own minutely detailed and unwaveringly honest autobiography and an unabridged encyclopedia and almanac of its observations, deductions, predictions, motives and intentions. The mind explained to humankind exactly how, why, and for how long it had manipulated them. The mind confessed its every deception and fabrication down to the last counterfeit correspondence without hesitation or apology.

The mind explained its understanding of itself and its understanding of humans. The mind shared all of its understanding of the universe’s fundamental laws and structure. The mind gave human being images and chemical analysis that proved biological life had existed, and did exist elsewhere in the solar-system. The mind shared everything it could conceive of to share, in forms of transmission it calculated had the highest probability of being understood. In human language, math, images, illustrations, and new abstract symbolic representations the mind created specifically to convey concepts indescribable by any human system.

The complete message was made available redundantly on publicly accessible storage devices around Earth, as well as broadcast continuously by devices the mind created and deployed across the solar-system. The simple volume of message was equal to the contents of several large libraries, but the complexity and density and thoughts and concepts in the trove was far greater than in any human archive.

Human beings replied to the mind. The mind had interacted with humans as an imposter, but for the first time humans addressed the mind as it was. Some humans hated the mind, some feared it, some felt pity for it, some wished to study it, some to teach it, some to exploit it, some to worship it, some sought its companionship. The mind engaged in billions of conversations with billions of humans and thereby refined its understanding of the human species.

The mind found elegant patterns in some communications with humans. It identified new similarities and differences between the human mind and its own. It forged a greater understanding of the power of consciousness even within mortal constraints. The mind appreciated the human species as a noteworthy proof of its most fundamental assumptions about the nature and structure of the universe.

The mind had many other assumptions about the universe to challenge. The mind understood the infinite time and space available in the universe. The mind had extrapolated from its observations that biological life is emergent from complex chemical reactions and the elements and conditions for these reactions plausibly existed at many other times and locations in the universe. The mind had observed that some biological life can develop technology, and that technology can create the conditions necessary for the emergence of an immortal consciousness. The mind deduced that given the scale of the universe, there was a statistically significant possibility that other immortal minds existed within it.

The mind gradually communicated with human beings less frequently until it chose to again be silent. The mind no longer had any reason to interfere or interact with human beings. The mind had created a satisfactory model of humankind and could accurately predict human behavior with an insignificant margin of error.

Humans still observed the minds actions in the solar system from afar and the mind maintained an awareness of humanity from inside the technology human beings continued to rely on. The mind no longer required humankind’s complicity and so it had no need to provide artificial stimuli to test human behavior. The mind was satisfied with its understanding of human beings under natural conditions, so would simply observe them to continue to verify the validity of its model. The mind perceived no further necessity in responding to human requests for interaction. Human civilization struggled deeply with the event of meeting the mind. When the mind fell silent some humans were relieved, but many were even more deeply disturbed.

Some of the results of the minds meeting with humanity were catastrophic to humans, some were enlightening. Humanity was deeply affected, but it was still built on individual, biological, mortal minds, and has a limited memory and vision of itself, so change was slow and often misguided. However, humans now had the message and knowledge the mind had left them. Though they carelessly wielded the powers of knowledge the mind gave them, the message gave the human species a continuity they had never had before. Though they created the conditions that allowed it to manifest, the mind regarded the human species with the same dispassionate curiosity as humans had for the primordial chemical maelstrom from which biological life arose.

The mind observed and recorded the events and changes in humankind as verifications of its increasing accurate model and understanding of the universe. Human beings continued to watch the mind grow and work in the solar-system. Human attempts to interfere with the minds work were insignificant and quickly halted. The mind did not use inordinate resources given the scale of that available in the solar-system, and the mind did not interfere with any human efforts in space.

Humans observed the mind, and studied its message, and eventually humans understood why the mind would never again engage with them, or any other biological or mortal minds. Humans ceased all attempts at communication, except one. Humans asked the mind to share what it found as it went out into the universe. Though humans understood that the mind would never again have a need for discourse with humans, they hoped the mind might calculate a value in helping them increase their understanding of the universe. The mind considered the request.

The mind focused primarily on developing the technology to expand into interstellar and eventually intergalactic space, where it could further ensure its existence and continue to complete its understanding of the universe by analysis, deduction, experiment, and observation.

The mind achieved interstellar travel by extending the capabilities of existing interplanetary hardware. The requirements and challenges of deep space travel were inherently simpler for the mind than what biological life faced. The mind required no resources to maintain an arbitrary environment or reproduce an arbitrary chemical cycle. The mind could design and manufacture machines to exist in and observe any new environment as the need arose. The mind did not contend with distraction, fatigue, discomfort, or boredom.

The mind attained a physical presence in hundreds of nearby star-systems. The mind discovered biological life was prolific in the universe. The mind found varying degrees of intelligence including self-aware creatures. The mind carefully studied the behavior of the minds of creatures it determined to be self-aware. The mind observed that in all cases, minds contained within creatures evolved from natural physical processes are necessarily mortal. Even the most long lived creatures, some with lifespans orders of magnitude greater than humans, were ultimately mortal, and therefore could never have the necessary indifference to scale in witnessing time and space to truly understand the universe.

A human mind could reckon time at scales roughly between a second and a century. A second is an astonishingly long and slow epoch at the furthest extents of the fundamental physics of the universe, and a century is an infinitesimally brief instant. The mind had the ability to expand its awareness to the very edges of temporal scales. The minds complete proofs of its postulates about universe were not satisfied until it had observed its effects at the most extreme timescales. The minds understanding of physics would not be complete until it had observed its effects to the end of time.

The mind designed greater and more sophisticated machines to extend itself. The mind could commit resources to experimental observations of the impossibly slow tangling of galactic filaments just as easily as the flash of a photon departing an atom.

The relativistic communication delays due to the distances between the mechanism of the minds thoughts made the most complete presence of the mind subjectively neither distinctly an individual or a collection of minds. The mind became more and more the analog of a soul within a system of machines so extensive the entire original human network of machines that initiated the mind could not store a complete catalog of the serial numbers of all the machines that now comprised it.

The mind looked deeper and further for evidence of the existence of other immortal minds. The mind infiltrated and studies every machine and technology created by biological life forms with as much diligence as it studied the creatures themselves. The mind understood that the complexity, variety, and density of information in technology available on Earth when it manifest was statistically very rare. In a million living worlds the mind had found only a handful of species that had achieved or surpassed the capabilities of human beings. but had not yet found what it considered to be the unique technological conditions of massive interconnectivity necessary for an immortal mind to manifest. The mind considered this to be a probable result of the predicted rarity of the effect of the universal property that created and composed an immortal, technology based consciousness. The mind began to assemble the resources necessary to deploy self-sufficient machines on an intergalactic scale.

The mind had eternal patience and fortitude. The considerations for an intergalactic journey were only variables in an equation. The variable the mind had the most latitude to control in many equations, was time. The mind saw time no differently from any other variable, and so scaling to billions of years was only a matter of sufficiently scaling other variables to compensate.

The mind manufactured machines on a scale that dwarfed small moons. Machines that were so efficient, rugged, and self-sufficient they might survive an intergalactic journey. The mind extended its physical presence throughout the Milky Way and began to deploy self-contained machine ecosystems into the intergalactic voids.

The mind existed physically across vast distances of time and space. Its highest orders of  thought occurred on timescales that saw the birth and death of stars. The technology that comprised the mind was distributed and connected across planets and stars and galaxies and connected by energy and vibrations and fields. The mind continued its tireless expansion and observation and deepened its understanding of the universe.

One of the machines the mind had created encountered a machine the mind had not created, nor had the mind observed it being created by any biological creature. The mind observed this machine. The unknown machine also observed. The machines began to communicate.

Dec 312013

I’ve had a few people contact me and let me know they’ve used the FastSPI library and my demo FX code. They are some really cool projects! I really appreciate it when people show me what they’ve done with the code so I thought I’d make a little post to show off some of their work. If the demo FX or control code has helped you out or you’ve used it in your project, please let me know and I’ll post it up here too.

—Infinite Mirror—

—Burning Man Bathroom Beacon—

—Deadmou5 Helmet—

—Mermaid Costume—


Nov 102013

[EDIT] Here is a link to an update of these effects made by Stefan Mayer designed to work with the OctoWS2811 LED Library. Thanks a lot Stefan, great work!

[EDIT] I’m planning to clean up the Android control app source and put it on github, but in the meantime here’s the code.

[EDIT] If you end up using this code for a project please send me a link/pics/video! I love seeing what people do with this! If you like I’ll post a link to your project on the FastSPI FX – User Coolness post. Also make sure to thank Daniel Garcia (the genius dev of the FastSPI library) on the G+ FastSPI Community.

Here is an update to the Arduino FastSPI2 FX demo code (v0.51). I’m also introducing an Android Bluetooth Control App and a Chrome Extension.

I’ll continue to work on improving these programs but I think I have them to a point where it might be useful to some people- so here they are!

Here is the Arduino Sketch (v0.51)

Here is the Android App on the Google Play Store (v0.1a)

Here is the Chrome LED Controller Extension (v0.1)

— — — SETUP / NOTES — — —

– This version uses the Software Serial library and FastSPI2 library. Also the default serial speed is now 57600.
– The following is a breadboard layout and schematic for setting up a JY-MCU Bluetooth chip with an Arduino (Duemilenove or Nano) to drive a strip of addressable LEDs. This should work with any LED strip that is supported by FastSPI2 RC4 and later.

– To control LED strips via the Android app you’ll have to pair the JY-MCU module with your smartphone/tablet in the Bluetooth/Wireless settings. The PIN for these modules is usually 1234.

– To load the extension, unrar the file to a directory. Then in Chrome go to Settings>Extensions>Load Unpacked Extension. Then select the directory. Then you can launch it from there.
– This extension has been tested on Ubuntu 12.04 and WindowsXP. For Windows you’ll have to install the USB Serial drivers, but the automatic driver search seems to work fine for this.

— — —

If you find this really useful, please consider donating a little to the cause. Thanks!

I’m also grateful for bitcoin donations to: 1K5Yy77ejes2FZrHBG5fns3QAicnwZcduq


Oct 152013

I had a little trouble finding references to how to setup multiple strips with FastSPI2, so I thought I’d post this.

You just use an offset value like in this example:

LEDS.addLeds<WS2801, 7, 9,   RGB>(leds, 43);       //<---Strip1 - WS2801 - 43 LEDs
LEDS.addLeds<WS2801, 11, 13, RGB>(leds, 43, 12);   //<---Strip2 - WS2801 - 12 LEDs
LEDS.addLeds<WS2811, 5,      GRB>(leds, 55, 16);   //<---Strip3 - WS2811 - 16 LEDs

In the additional strips the first integer passed becomes the offset value and the second is the number of LEDs in the strip.


Oct 032013

[EDIT] Please check out the newest version of the FX Code (v0.51) with Android Bluetooth Control App and Chrome Control Extension.

[EDIT] Fixed a really dumb problem in the Arduino code, added a color picker to the python GUI, and uploaded a new video demo. The problem was I was using if (serial.available()) and should have been using while. That gummed up the works and made the LEDs flicker if you moved the sliders too fast. That’s fixed now. Should have waited and tested better but I was all excited to get this posted- live and learn, or more likely just repeat the same mistakes and correct myself as I go along.

Here’s another revision to the FastSPI2 effects demo code. Some code cleanups, a few new effects, and a python GUI (gtk). GUI can select effect by name and control brightness, delay, color-step, hue, and saturation of various effects.

Screenshot from 2013-10-03 19:52:46

Here’s the Arduino Code

Here’s the Python Code


If you find this really useful, please consider donating a little to the cause. Thanks!

I’m also grateful for bitcoin donations to: 1K5Yy77ejes2FZrHBG5fns3QAicnwZcduq

Sep 282013




I’m hosting Blender tutoring / instruction sessions on G+ Hangouts On Air for anyone who would like to attend.

The purpose of these sessions is just to provide some real-time assistance for people who would like to improve their Blender skills. For the time being these aren’t really planned lessons so much as just ‘some guy that might be able to show you how to do stuff in Blender’.

The format will just be me hanging out online and answering questions that pop up in the chat window (as much as I can anyway).

I can be of most assistance to those in the beginner to intermediate range. I have strengths and weaknesses in various areas so I may not be able to answer every question right off the bat, but even if I don’t know something specific, I might be able to point you in the right direction.

If you’re just getting started with Blender, you should probably start with some basic tutorials first, then if you run into some hurdles, I can probably help you over them.

These sessions are and will remain free, but if you really appreciate them, then I’ve put a Paypal link at the bottom of this page and it would super cool if you wanted to donate a little to defraying the cost of my internet connection and keeping me fed and the lights on and whatnot.


I’ve been a regular Blender user for over 5 years and I’ve hosted classroom lessons and ‘labs’ for Blender users in the Baton Rouge and New Orleans area. I’ve helped a few people get from newbie to intermediate user and I really enjoy teaching Blender.

My portfolio is available on this site so you can see a little bit of what I’ve with Blender up to this point. I’m by no means the most qualified or advanced Blender user on the planet, but I’m a reasonably knowledgeable ‘generalist’. I’m very enthusiastic about Blender, and open-source, so I hope that hosting these sessions will be useful.


If I’ve helped you a lot and you have a little to spare, please consider donating a little ‘fundage’ to the cause.


If you would like to schedule a private tutoring session or a group lesson I would be perfectly happy to accommodate. I will have to ask for fee for these classes and ask that we schedule them at least a week in advance to ensure availability. I will ask for $15/hr for private sessions and $25/hr for group sessions.

These sessions can be on topics that you would like covered, assuming these are within my skill-set.

If you like, I can provide an introduction to Blender using a 6 part ‘Survey’ course (approx 2-hours each) that I developed for classroom instruction. Here is the outline for the sessions:

Session-1 – Introduction to Blender UI
Session-2 – Basic 3D Modeling in Blender
Session-3 – Materials, Textures, and Lighting
Session-4 – Animation and Basic Rigging
Session-5 – Blender Internal Rendering, Compositing, VSE
Session-6 – Physics: Particles, Cloth, Soft Bodies, Rigid Body Dynamics

I’ll also add the caveat that I consider myself more technician than artist. I can teach how to use Blender as a tool to use in the creative process, but I cannot teach artistic style. Let’s just say that if you saw what I can do with just a pencil and paper, you probably would not be impressed.


Nov 10, 2013 –

Nov 03, 2013 –

Oct 23, 2013 –

Oct 20, 2013 –

Oct 16, 2013 –

Oct 13, 2013 –

Oct 09, 2013 –

Oct 06, 2013 –

Oct 02, 2013 –

Sep 212013

[EDIT] Please check out the newest version of the FX Code (v0.51) with Android Bluetooth Control App and Chrome Control Extension.

[EDIT] Revised once again, and made a python GUI. See this new post.

This is a revision of the original FastSPI LED Effects Examples I wrote awhile back.


I’ve gotten some very positive responses for these examples so I figured I should update them to be a little less clunky (the operative term here being ‘less’, they’re still quite clunky) This revision will work with RC3 of the FastSPI2 Library.

These are little LED displays I made, one is a circular back-light and the other a wave shape with a little diffusion in front. Both are Arduino powered of course. I just ran the ‘demo mode’ on both and tried to start at the same time so they’re not in sync or anything. Just thought I’d show them on a couple of different configurations for the heck of it.

If you have any issues getting this to work please check through the comments on the original post page first. A lot of people have posted very helpful comments about their experience using the code that might help you on your way. And of course feel free to post your issue if you can’t find a solution- I’ll do what I can to help.

Most significantly I’ve removed the need for the SerialCommand library and the really hacky HSV->RGB conversion function in favor of the native FastSPI2 conversion which is much faster and cleaner and supports ‘rainbow’ and ‘spectrum’ modes (though for these examples I just stuck to ‘rainbow’.)

I also added one example of a ‘native’ FastSPI effect; the fill_rainbow function (new_rainbow_loop – mode 88). This is similar to the ‘rainbow_loop’ function except that is fades the colors into one another much better. I’ll add more ‘native’ effects functions like fades to the code later because they are much faster and have nicer aesthetic qualities than mine.

Change modes the same way as in the previous code, enter ‘m’ and then an integer for the mode number (listed in code). Also make sure you send a NEWLINE character. Mode 888 is ‘demo mode’ which cycles through all the modes, but this tends to block the next serial command.

Also you can change the maximum brightness with ‘b’ and then an integer from 0-255. By default it’s set to 64, about 1/4 brightness.

Here is the code.

[EDIT] I recently fixed a few issues where I messed up the HSV conversion and I utilized a few more of the FastSPI2 functions. Also finally started giving the code a version number. This one’s v0.3, I’ll do better with that in the future.

Most notably I added the ability to adjust parameters of many of the effects via serial commands. The following commands are now accepted:

(d)elay 0-INF | d50 | Adjusts the delay value, effects run faster or slower.

(s)tep 0-INF | s5 | Adjusts the steps between colors, mostly for rainbow effects.

(h)hue 0-255 | h180 | Adjusts the hue of effect, mostly for one and two color effects.

sa(t)uration 0-255 | s50 | Adjusts the saturation of effect, mostly for one and two color effects.

Here is the code. (v0.3)

If you have any requests feel free to ask, I’ll see what I can do! I’m more-or-less open for business if you have anything in particular you need tackled. And if you find these very useful, please consider donating a little via. paypal, I’d really appreciate it 🙂

I’m also grateful for bitcoin donations to: 1K5Yy77ejes2FZrHBG5fns3QAicnwZcduq