An open source two key macro-pad modeled to look like a cartoony melting popsicle

Related tags

Hardwaremacropopsicle
Overview

macropopsicle

An open source two key macro-pad modeled to look like a cartoony melting popsicle.

alt text

Build instructions

Parts List

-1x Top case half (3D printed)

-1x Bottom case half (3D printed)

-1x Switch plate (3D printed)

-1x Ice Cream piece (3D printed)

-1x Ice cream bite (3D printed)

-2x Key caps cherry style (3D printed or sourced)

-1x Popsicle stick

-2x Cherry style switches

-3x Black wires (for ground)

-2x Colored wires (for data)

-5x short M3 bolts

-3x long M3 bolts

-Solder (consumable)

-1x Adafruit QT Py - SAMD21 Dev Board

alt text

A note on the dev board: Boards of a similar form factor to the Adafruit QT Py - SAMD21 may also work with this case without needing any modifications. However the Adafruit QT Py - SAMD21 is the only board that has currently been tested and confirmed to work.

Fabrication

All parts except the development board, wires, switches, popsicle stick and bolts need to be fabricated the parts have been designed for 3D printing however they could also be made through other fabrication methods such as machining.

All parts are designed to print with very little to no support material. All parts feature large flat surfaces I recommend printing with these face down on the build plate if using a filament extrusion 3D printer.

Assembly

The case consists of five pieces main pieces.

Of the five pieces the two main halves, colored orange provide the majority of the structural support.

Before assembling the case insert the switches into the switch plate.

alt text

Soldering:

Wiring diagram:

alt text

Solder the 1 black wire onto the ground pin of the dev board make sure the wire does not poke through to the side. Then splice the remaining two wires onto the ground wire.

Next Solder the data wires onto the A1 and A2 pins, once again make sure the wires do not poke through to the other side of the dev board.

Once all wires have been soldered onto the dev board. Solder one ground wire and one data wire onto the leads of each switch. The polarity does not matter.

Software:

-Before assembling the case ensure that the firmware has is loaded onto the dev board and that all wiring is correct.

If using Circuit Python load the Circuit Python boot loader. Please see the instructions for your specific dev board to install circuit python.

Once the dev board is flashed with the Circuit Python boot loader add the code that will allow our macro pad to function. The code file (code.py) is included with this repository

Drag and drop the code file onto the Circuit Python drive.

Some libraries are also required for this code to function. Links are included below. Adds all libraries to the Libraries folder on the Circuit Python Drive.

Mechanical Assembly:

The keyplate is secured by four 4mm long bolts into the top case half.

alt text

The white small bite piece is secured to the lower case half with a single bolt 4mm bolt.

alt text

Position the microcontroller in place (use the tweezers if neccessary to ensure it's properly seated)

alt text

The larger white piece secures first to the lower orange case half and then to the upper case half once fully assembled.

alt text

alt text

Assemble two halves are assembled togeather using three 20mm long bolts.

alt text

All pieces which have bolts seated into them have holes designed to allow M3 bolts to screw into the plastic.

Once the popsicle case is assembled the keycaps and popsicle switch can be press fitted into place. Your macropopsicle is should now be assembled and appear like the one in the image at the top of this document.

alt text

License

I have invested time and resources providing this open source design. If you have benefited from this design being open source, please consider making a small donation if you are able to. Donations are never expected but always appreciated, donations will help me create more open source designs in the future.

Designed by Dylan Rice / oxisidia.

Creative Commons Attribution/Share-Alike, all text above must be included in any redistribution. See license.txt for additional details.

Python module for controlling Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs

Python module for controlling Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs

Matthew Garrett 1.2k Jan 04, 2023
Lenovo Legion 5 Pro 2021 Linux RGB Keyboard Light Controller

Lenovo Legion 5 Pro 2021 Linux RGB Keyboard Light Controller This util allows to drive RGB keyboard light on Lenovo Legion 5 Pro 2021 Laptop Requireme

36 Dec 16, 2022
πŸŽƒ Some spooky code samples to hack yourself a pumpkin πŸ‘»

πŸŽƒ Tech Or Treat πŸ‘» It's spooky season for those who celebrate Halloween, and to get in the spirit (spirit - get it? πŸ‘» ) we thought it would be fun t

Jim Bennett 5 Feb 07, 2022
Huawei Solar sensors for Home Assistant

Huawei Solar Sensors This integration splits out the various values that are fetched from your Huawei Solar inverter into separate HomeAssistant senso

Thijs Walcarius 151 Dec 31, 2022
raspberry pi servo control using pca9685

RPi_servo-control_pca9685 raspberry pi 180Β° servo control using pca9685 Requirements Requires you to have the adafruit servokit library installed You

1 Jan 10, 2022
Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED.

RPie-keyboard-game Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED. Randem LED (general output) is lit up on rasberrypi rand

Shawn Dowling 1 Oct 24, 2021
A ESP32 project template with a web interface built in React

ESP AP Webserver demo.mp4 This is my experiment with "mobile app development" for the ESP32. The project consists of two parts, the ESP32 code and the

8 Dec 15, 2022
A battery pack simulation tool that uses the PyBaMM framework

Overview of liionpack liionpack takes a 1D PyBaMM model and makes it into a pack. You can either specify the configuration e.g. 16 cells in parallel a

PyBaMM Team 40 Jan 05, 2023
Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Mark McIntyre 64 Oct 11, 2022
A PYTHON Library for Controlling Motors using SOLO Motor Controllers with RASPBERRY PI, Linux, windows, and more!

A PYTHON Library for Controlling Motors using SOLO Motor Controllers with RASPBERRY PI, Linux, windows, and more!

SOLO Motor Controllers 3 Apr 29, 2022
Alarm Control Panel component for Zigbee Keypads using action_transaction field

hass_transaction_alarm_panel Alarm Control Panel component for Zigbee Keypads using action_transaction field. Works together with zigbee2mqtt Supporte

Konstantin 4 Jun 09, 2022
Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Julen Smith 3 Jan 12, 2022
USB Rubber Ducky with the Rasberry Pi pico microcontroller

pico-ducky Install Install and have your USB Rubber Ducky working in less than 5 minutes. Download CircuitPython for the Raspberry Pi Pico. Plug the d

AnOnYmOus001100 3 Oct 08, 2022
BMP180 sensor driver for Home Assistant used in Raspberry Pi

BMP180 sensor driver for Home Assistant used in Raspberry Pi Custom component BMP180 sensor for Home Assistant. Copy the content of this directory to

747Developments 1 Dec 17, 2021
Better support for Nuki devices to the Home Assistant

Another attempt to add a better support for Nuki devices to the Home Assistant Features: Lock interface implementation Uses local webhook from bridge

Konstantin 105 Jan 07, 2023
Hook and simulate global mouse events in pure Python

mouse Take full control of your mouse with this small Python library. Hook global events, register hotkeys, simulate mouse movement and clicks, and mu

BoppreH 722 Dec 31, 2022
Hotplugger: Real USB Port Passthrough for VFIO/QEMU!

Hotplugger: Real USB Port Passthrough for VFIO/QEMU! Welcome to Hotplugger! This app, as the name might tell you, is a combination of some scripts (py

DARKGuy (Alemar) 66 Nov 24, 2022
Quasi-static control of the centroid of quadruped robot

Quasi-static control of quadruped robot γ€€γ€€This is a demo of the quasi-static controller for the centroid of the quadruped robot. The Quadratic Program

Junwen Cui 21 Dec 12, 2022
A simple Python script for toggling Philips Hue Lights by clapping

LightsClap A simple Python script for toggling Philips Hue Lights by clapping Usage pip3 install -r requirements.txt python3 main.py and press the Ent

Flux Industries 2 Nov 16, 2021
Micropython automatic watering

micropython-automatic-watering micropython automatic watering his code was developed to be used with nodemcu esp8266, but can be modified to work with

1 Nov 24, 2021