Godot Machine Is The Project You’ve Been Waiting For

Are you waiting for something that may never happen? Maybe it’s the end of your ennui, or the release of Half Life 3. While you wait, why not build a Godot Machine? Then you can diversify your portfolio and wait for two things that could happen today, tomorrow, or at sunrise on the 12th of Never.

The Godot Machine is a functional art piece that uses a solar panel and a joule thief to charge a bank of capacitors up to 5V. Whenever that happens, the Arduino comes online and generates a 20-bit random number, which is displayed on an LED bar. If the generated number matches the super-secret number that was generated at first boot and then stashed away in EEPROM, the Machine emits a victory beep and lights a green LED. Then you can go back to complaining about whatever.

We like that [kajnjaps] made his own chaos-based random number generator instead of just calling random(). It uses a guitar string to collect ambient electronic noise and an entropy generator to amplify it. Then the four least significant digits are used to seed the logistical map, so the initial value is always different.

You don’t have to create your own entropy for truly random numbers, though it’s probably more fun that way. Did you know that someone wrote an Arduino entropy library?

18 thoughts on “Godot Machine Is The Project You’ve Been Waiting For

    1. Just as the seed of a plant is not the mature plant, a random seed is not the random number that results.
      Just as a mature plant has been “shaped” by the multitude environmental conditions that it grew in (e.g. amount and timing of sunlight, water, carbon dioxide, as well as soil contents and conditions), the random seed only gives the initial conditions for the rest of the number generation process.

      That said (written); because the seed is one of sixteen possible, the final output would be considered “pseudo random”

      Now, if you excuse me, I must get back to waiting for Godot to arrive.

  1. You can greatly simplify joule thief contstruction with a small pulse-type transformer. The trick is finding them cheaply. I have a rather non-optimal one (mH vs uH) which still manages to output about 26mA when voltage regulated by a small n-FET.

  2. What is the advantage anyway of using joule thief for solar cell instead of simple boost like MCP1640? It starts at 0.65V and can work down through 0.35V, and that sound good to me.

    1. The MCP1640 solution is definitely more efficient. And that’s a way to go if you have an MCP1640 in your junk box.

      The Joule thief circuit is rough and ready, works with parts on hand/part substitutions, and is significantly more instructional to build yourself than simply buying a (well-designed) integrated solution and then following the datasheet circuit: https://www.microchip.com/Developmenttools/ProductDetails/MCP1640RD-4ABC

      For this project, which is muuuuuch more about a DIY ethic and a circuit-punk design, the well-engineered solution would be entirely out of place. It would have brought the whole “mess of transistors awaiting enlightenment” factor down. I wouldn’t go so far as to say it would have killed the aesthetic, but almost. Certainly not as cute as a JT for the boost.

      I don’t think that you’d want to swap out the power regs in your computer for Joule thieves either.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.