Strilanc / Hand-Qubits

Qubits you can hold in your hands.
Other
6 stars 3 forks source link
handheld quantum-computing simulation

Handheld Qubits

Work in progress

This project contains code and instructions for making simulated toy qubits that you can hold.

The basic concept is to have a bunch of balls with Arduinos and other electronics inside. The Arduinos record motion data and report it over bluetooth to a hub computer doing the quantum simulation. Simple ball movements (turning, knocking, and pressing together) are thereby translated into quantum operations (single-qubit rotations, measurement, controlled rotations).

The main things left to do are:

Demo

[[[work in progress]]]

How To Use

Making Your Own

  1. Clone the repository.

    git clone https://github.com/Strilanc/Hand-Qubits.git

  2. Get the necessary parts.

  3. Configure parts.

    • Open Hand-Qubits/qubit-microcontroller/qubit-microcontroller.ino with the Arduino IDE
    • Upload to the Arduino
    • Also Configure the HC-05 Bluetooth Modules.
    • Change the addresses and pins in Hand-Qubits/hub/src/config/KnownBoards.cs to match.
    • Pair your computer with the Bluetooth modules.
  4. Run the server.

    • Open Hand-Qubits/hub/HandQubitServer.sln with Visual Studio.
    • Run the project on a computer with bluetooth enabled.
    • Once you've assembled things, the powered Arduinos can connect and start feeding in data.
  5. Assemble electronics.

    Connect vcc and ground pins appropriately. The MPU-6050's SDA and SCL pins go to A5 and A6 respectively. The HC-06's RX and TX pins go to D4 and D3 respectively. The buzzer goes from A3 to ground. A0 will go to the conductive paint or copper tape wrapping around the ball. Also, connect the battery and switch.

    A diagram of the pin connections:

    layout

    Once the electronics are ready, test that the powered Arduino connects and feeds motion data to the server.

  6. Assemble balls.

    First, paint over the polystyrene ball with an acrlyic paint. This stops the polystyrene from shedding constantly when touched. After the acrylic has dried, add conductive paint traced in tangled lines all over the surface. Once the conductive paint has dried, cut the ball in half.

    Make a hole for the electronics to sit in by carving into the insides of each half-ball using a butter knife or scissors. Try to make the fit snug, and positioned so that the switch just barely pokes out the side. Once the hole is carved, paint it and the rest of the insides with acrylic so they don't shed.

    After placing the electronics inside, and somehow connecting A0 to the conductive paint traces, close up the halves and use an office stapler to staple them together. You can position the staples so they act as a conductive path from conductive paint on the top half to conductive paint on the the bottom half.

    Here are some pictures of balls in progress:

    guts

    Staples can be pulled out easily, if you need to make changes. If you want a more permanent connection, such as a hinge between the backs of the two halves, I recommend sewing them together with needle and thread.

  7. Play with your qubits!