IoT Fidget




Introduction: IoT Fidget

About: Make it yourself if you cannot buy one!

This instructables show how to make an IoT Fidget.

When you playing a fidget cube, someone may ask: "what is the effect when you press the Fidget's button?"

Apart from the explanation of how to reduce your stress level, lets make your click become part of IoT big data. It may help to analyse how stress you are...

Step 1: Preparation

Switches and Buttons

buttons, lots of buttons, you may find some from your spare parts or reclaim it from your old toys

PCB board

6 of 14 x 14 holes PCB board, it will be combined into a cube

ESP8266 Breakout Board

This time I use a WeMos D1 Mini, any ESP8266 breakout board should be ok

Lipo Charge Board

This time I use a WeMos Lipo charge board, any small Lipo charge board should be ok

Lipo Battery

A Lipo battery that can fit in the PCB cube


Some coated wire for circuit connection

Step 2: Cut the PCB Board Into 14 X14 Holes Size

Step 3: Smoothen the PCB Edge and Corner

Step 4: Design the Button Layout

My design is imitating a dice faces from 1 to 5. The design is arbitrary just depends on what switches and buttons in hand.

Some points about the IO connection:

  • WeMos board have 9 IO pins (not count the serial port) from D0 to D8
  • D0 and D4 cannot pull down while boot up
  • D8 already pull down by default, so cannot detect button pressed with common GND
  • if pull down D3 while boot up, it will enter program mode, this side effect can be used while programming
  • including D3, only 6 IO available, so on each face all buttons connect to same IO pin
  • multiple switches on the same face require independent IO to detect single click

Step 5: Face 1

Step 6: Face 2

Step 7: Face 3

Step 8: Face 4

Step 9: Face 5

Step 10: Connect Each Face With Wire

Step 11: Decorate With Button Caps

Step 12: Soldering Work

Here is my circuit connections summary:

Lipo Charge Board 5V  -> WeMos 5V
Lipo Charge Board GND -> WeMos GND -> all PCB common GND
WeMos D1 -> Face 5 trigger pin
WeMos D2 -> Face 4 trigger pin
WeMos D3 -> Face 3 trigger pin
WeMos D5 -> Face 2 switch 1
WeMos D6 -> Face 2 switch 2
WeMos D7 -> Face 1 three way switch pin 1 and 3

Step 13: Squeeze Altogether

Step 14: Program ESP8266 Board

Download the code:

Create your new IoT data channel at:

Fill your AP and channel details into the code:

#define APSSID "Your AP name" // your network SSID (name)
#define APPASS "Your AP password" // your network password #define CHANNELID 0 // your thingspeak channel ID #define WRITEAPIKEY "YOURAPIKEY" // your thingspeak write API key

If you are not familiar how to program WeMos, you may try follow this instructables:

Step 15: Happy Fidget!

It is now all your click recorded into the internet. Record the click is not the end, you can do much more. e.g. make this fidget as a WiFi remote control, utilise it as a wireless gamepad, etc...

Internet of Things Contest 2017

Runner Up in the
Internet of Things Contest 2017



    • Fix It! Contest

      Fix It! Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Metalworking Contest

      Metalworking Contest

    20 Discussions

    Great! Another Fun IoT gadget.

    This is cool! You made a working fidget cube out of computer parts. I really like the design, good job!

    Does anyone know if you could put an ipac usb controller hub inside of this or know of one that might fit? Rectangular fidget cube might not be out of the question to get it to actually do something. Get this paired with a window/blind automated setup, turn items and lamps on in your room.. A room and home based IOT controller.. I can dig it

    Solo una pregunta. Que se debe estudiar para entender todo ese quilombo? Soy aprendiz de electricidad industrial me parece interesante lo que isieron pero no entiendo nada

    1 reply

    electronica, programación, aunque en realidad no hace gran cosa, es mas que nada un juguete hagalo-usted-mismo medio interesante

    Neat Built! Great idea for iot startup.


    1 year ago

    Great project! I like the way, you've joined all the pcbs with the wire. I can see tailor skills.

    WOW I am so impressed!!! at first i thought it was just a cube with buttons but it has so much more!!! again i am so impressed! i bet you could sell those for a lot! ( i voted )

    2 replies

    Before make it for sell, it still a big problem for the battery. WeMos + charge board drill itself drilled over 300 mA! I am seeking other alternative. And also I want it can generate power for each physical click, if I can make it, the IoT can self-powered.

    I really hope you figure that out, its a great idea. I don't see why its shouldn't be possible.

    I had the idea of using a fidget cube design for a versatile controller of some sort for some kind of game system, and now I know that it is possible! Great job and thanks a lot!


    but the only thing is it is hard to make

    1 reply

    Yes, I also feel a little bit hard when I am making it. It should be much better if I use pin headers for physical connection and circuit connection instead of using wire.

    make it & I bet we will buy it.


    1 year ago

    Let's see, you took a passive design, made it active. Created a device that operates on IoT, and on top of that, imitates a die for its layout. And gives some usable output. Well done!

    Also helpful for some cutting PCB and soldering practice. Nice use of the holes and wires.

    Using 15 resistors of different value and the analog pin you can differentiate all the switches and use those DIO for some led patterns response. Maybe in cube n°2 ?

    Good instructables :)


    1 year ago

    the dream toy! so useless and redundant... yet so pretty! wish I could make one myself! :)

    Nice take on a classic toy!

    I do like the idea of one of these things actually being useful for something besides making noise, good work.