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 implementation of ZMP Preview Control approach for biped robot control.

ZMP Preview Control This is the Python implementation of ZMP Preview Control app

Chaobin 24 Dec 19, 2022
a weather application for the raspberry pi and the Pimorioni Inky pHAT.

raspi-weather a weather application for the raspberry pi and the Inky pHAT

Derek Caelin 59 Oct 24, 2022
Python module for the qwiic serial control motor driver

Qwiic_SCMD_Py Python module for the qwiic motor driver This python package is a port of the existing SparkFun Serial Controlled Motor Driver Arduino L

SparkFun Electronics 6 Dec 06, 2022
Micropython-wifimanager-esp8266 - Simple Wifi Manager for ESP8266 using MicroPython

micropython-wifimanager-esp8266 Simple Wifi Manager for ESP8266 using MicroPytho

Abhinuv Nitin Pitale 1 Jan 04, 2022
New armachat based on Raspberry Pi PICO an Circuitpython code

Armachat-circuitpython New Armachat based on Raspberry Pi PICO an Circuitpython code Software working features: send message with header and store to

Peter Misenko 44 Dec 24, 2022
Simple python3 implementation of microKanren with lots of type annotations for clarity

MicroKanren-py This is (yet another) python implementation of microKanren. It's a reasonably 1:1 translation of the code provided in the paper, but ev

Erik Derohanian 3 Dec 10, 2022
Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Collector and Shelly EM.

raspberry-solar-mon Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Coll

cislow 10 Dec 23, 2022
Doughskript interpreter for converting simple command sequences into executable Arduino C++ code.

Doughskript interpreter for converting simple command sequences into executable Arduino C++ code.

Svjatoslav 2 Jan 11, 2022
Tools and documentation to aid in modifying the ADI ADALM Pluto firmware

Pluto firmware modifications This repository contains tools and documentation to aid in modifying the ADI ADALM Pluto firmware. Extraction of the Plut

Daniel Estévez 28 Dec 21, 2022
Example for Calculating Robot Dynamics Using Pinocchio Library

A Example for Calculating Robot Dynamics Using Pinocchio Library Developed by: Xinyang Tian. Platform: Linux + Pinocchio. In this work, i use Pinocchi

Rot_Tianers 33 Dec 28, 2022
Tool to create 3D printable terrain with integrated path/road part files (Single material 3d printer)

BACKGROUND This has been an ongoing project of mine for a few months now. I run trails a lot and original the goal was to create a function to combine

9 Apr 26, 2022
Python Keylogger for Linux

A keylogger is a program that records your keystrokes, this program saves them in a .txt file on your local computer and, after 30 seconds (or as long as you want), it will close the .txt file and se

Darío Mazzitelli 4 Jul 31, 2021
Sleep Functionality for Adafruit MacroPad RP2040

Adafruit-MacroPad-RP2040 Sleep Functionality for Adafruit MacroPad RP2040 Details This is a modification of AdaFruit project bundle found here specifi

9 Dec 18, 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
Adafruit IO connected smart thermostat based on CircuitPython.

Adafruit IO Thermostat Adafruit IO connected smart thermostat based on CircuitPython. Background and Motivation I have a 24 V Heat-only system with a

Shubham Chaudhary 1 Jan 18, 2022
Python script: Enphase Envoy mqtt json for Home Assistant

A Python script that takes a real time stream from Enphase Envoy and publishes to a mqtt broker. This can then be used within Home Assistant or for other applications. The data updates at least once

29 Dec 27, 2022
An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi.

An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi. This is the source codes of my programming assignmen

StardustDL 4 Oct 19, 2022
Open source home automation that puts local control and privacy first.

Home Assistant Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiast

Home Assistant 57k Jan 01, 2023
Yet another automation project because a smart light is more than just on or off.

Automate home Yet another home automation project because a smart light is more than just on or off. Overview When talking about home automation there

Maja Massarini 62 Oct 10, 2022
Detic ros - A simple ROS wrapper for Detic instance segmentation using pre-trained dataset

Detic ros - A simple ROS wrapper for Detic instance segmentation using pre-trained dataset

Hirokazu Ishida 12 Nov 19, 2022