CLUNCHI V1
I got inspired by the Hackerboxes Dasai Mochi clone (https://hackerboxes.com/collections/past-hackerboxes/products/hackerbox-0125-vitality)
From there I wanted to build out the device to interact and test the array of other IoT and "hacker" devices I have.
CLUNCHI is built on an ESP32-C3 SuperMini with a 1.3" SH1106 OLED, capacitive touch, a tiny speaker (8Ω, 0.25W), an SD card reader, an ATGM336H GPS module, and a tilt sensor for shake-based interaction.
Github link:
3D Print files:
Supplies
ESP32 C3 Supermini (thicker board is best)
1.3" SH1106 OLED
SD card reader
Tilt sensor (metal ball)
TTP223 capacitive touch sensor or a momentary button
ATGM336H GPS module with slim antenna
28mm 8Ω, 0.25W speaker
Input Touch/Button
CLUNCHI can run on any input that pulls low, so a button or a momentary capacitive touch pad.
The TTP223 has two jumper pads on it "A" and "B" for our purposes we need to solder the jumper "A" on the TTP223 to make it momentarily pulled low.
They are tiny pads, I used some flux and a bit of wire to help bridge the gap.
The "official" build uses the TTP223 touch pad so if you aren't making a breadboard CLUNCHI or DIYing your own case, use the touch pad.
Solder Wiring
Pre cut 3 inches of wire per connection you will need, in our case it is 19 wires.
3 for the TTP223 touch module
4 for the GPS module
2 for the Speaker
4 for the OLED
6 for the SD reader
The Tilt sensor is soldered directly to the ESP32
For all the connections you want the bottom of the PCB to be as flat as possible, we wont be sticking the wires through the through holes but instead creating a little "pad" or solder blob on the top most of the through hole and using that to connect the wires.
Its fine if its not perfect but you do want to make the bottom as flat as possible to line up properly in the case at the end.
NOTE: I seem to find ease in soldering the wires to all the components first then soldering all the IO pins onto the ESP32 and then using the ground connection of the speaker as a common ground for all GND connections and bunching all the 3v3 wire connections together and soldering them together as one before soldering it to the ESP32.
TTP223
VCC -> 3v3
I/O -> Pin 1
GND -> GND
SPEAKER
We use the big ground pad on this as a common ground for the other components.
SPK+ -> Pin 2
SPK- -> GND
GPS
VCC -> 3v3
GND -> GND
Tx -> Pin 3
Rx -> Pin 4
SD READER
VCC -> 3v3
CS -> Pin 5
MOSI -> Pin 6
MISO -> Pin 7
CLK -> Pin 8
TILT
The tilt sensor is soldered directly to the ESP32 between pins 10 and GND, you can bend the sensor up or at an angle to tune it to your liking.
Long Leg -> Pin 10
Short Leg -> GND
OLED
GND -> GND
VCC -> 3v3
SCL -> 21
SDA -> 20
Once all parts are wired we can start to assemble them into the CLUNCHI body. I like to go from left to right starting with the 28mm speaker.
For the speaker there is a little cutout in the side to fit the speaker, a little bit of super glue will hold it in place.
The SD reader sits just under that, you can insert an SD card and get a feel for how far the card sticks out before glueing in the reader.
The touch module also has a little cut out at the top, you want the flat side with the tap pad to be facing up, again a bit of glue will hold this in place.
Next is the GPS module and the antenna, for the module there is another cut out, but I have honestly just left my GPS modules free hanging with no issue, but again some glue will hold it down. For the antenna there is a slide in place cut out to slide the antenna into.
Now for the ESP32, there are some tabs to help align it and hold it down but glue is recommended once more to hold it in place while unplugging and replugging the USB.
Lastly, the OLED is snap fit into the CLUNCHI face plate and the face plate is snap fit onto the CLUNCHI body.
User Instructions
START UP
On boot your CLUNCHI will start out in a neutral state and every once in a while may get curious of the wifi networks around. CLUNCHI will randomly do a wifi network scan and show a curious face on the screen.
To interact with CLUNCHI you have to tap!
In this neutral mood a single tap will smush the CLUNCHI and it will bounce right back!
A double tap will open the menu, inside the menu a single tap will move the cursor down and a long hold will select the current option.
A triple tap will make the CLUNCHI very happy.
A long hold will feel as if you are petting the CLUNCHI, much love UwU.
5 taps will make CLUNCHI curious and initiate a wifi scan
6 taps seems a little excessive, CLUNCHI gets annoyed
10+ taps, were going to crazy town, CLUNCHI enters BONK! dribble mode.
NOTE: The tilt sensor will also activate BONK! dribble mode. You can turn off the tilt sensor in the menu.
The rest of the input is either labled or semi intuitive.
Connect to WIFI
CLUNCHI uses its on board NVS to store wifi credentials, to save new credentials use the CLUNCHI captive portal.
In the menu under WIFI select "Setup Portal". An access point should show up, connect to the access point "CLUNCHI_Setup" pw: clunchi123 and a credential portal should pop up. Enter your network info and save, CLUNCHI will reboot and you can now connect to your network by entering the menu and under wifi selecting "Connect"
Once connected CLUNCHI will be in a happy state! WOOO!
While connected to a network CLUNCHI will randomly assess the network and display a jazzed face for good network and annoyed angery face for bad network.
You can also access the CLUNCHI dashboard by going to the IP address of the CLUNCHI (shown after connecting or in the Net Info option in settings)
The Dashboard gives in depth info on the wifi environment around you and details on your network and device (CLUNCHI)
Also while connected to a network, CLUNCHI will activate its WiFi Intrusion Detection System or W.I.D.S. for short.
While active, W.I.D.S. will detect incoming Deauth frames and discern if they are threat worthy, as well as scan for Beacon Floods, Evil Twin attacks, and CTS Nav Jamming. Each alert is logged and CLUNCHI expresses with furious anger the issue at hand (displays a specific face per attack).
Wardriving
CLUNCHI is equipped with a GPS and loves to go driving!
Under WIFI in the settings menu you can find the Wardriving option, this will start the GPS and WiFi to scan and log 2.4Ghz Wifi to the SD card.
DO YOU SMELL WHAT THE CLUNCHI IS COOKING!?
Wardriving also works without an SD card and GPS if you just want to run around and look at funny SSIDs.
BLE
BLE RADAR detects Flipper devices and Meshtastic nodes in the wild, logs and stores them on the SD card.
BLE scan options are mostly functional, there is a scan with quite a few OUIs built in so most devices should show up properly.
GPS
Under the GPS menu there are a few options including a lock status, GPS Speedometer, and Satellite info.
GAMES!
G4M3R5 UN1T3 this thing has games.
Featuring a Dice roller with d4-d100 dice and rolling animations (Shake Input)
A Magic 8 Ball... will you inquire within? (Shake Input)
and good ol' BLACKJACK! 21 count em out HIT ME!
Settings
TIME
There is a clock, but it requires GPS to sync the initial UTC time. Once set you can go into the settings and change your time zone and daylight savings time settings (DST On/Off) from there time will be saved in NVS and keep time on power down.
VOLUME
Up, Down, Mute
SLEEP TIMER
1 minute-30 minute until CLUNCHI sleep or...
Force your CLUNCHI to stay awake FOREVER!
Tilt Sensor
Can get a little wild when it gets going, use this to turn on/off the shake input.
Reboot
Reboot