IoT Fidget





Introduction: IoT Fidget

Internet of Things Contest 2017

Runner Up in the
Internet of Things Contest 2017

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...



    • Epilog Challenge 9

      Epilog Challenge 9
    • Paper Contest 2018

      Paper Contest 2018
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.




    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

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

    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 )

    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.