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.

A Home Assistant integration for Solaredge inverters

A Home Assistant integration for Solaredge inverters. Supports multiple inverters chained through RS485.

Seth 50 Dec 23, 2022
Raspberry Pi Pico and LoRaWAN from CircuitPython

Raspberry Pi Pico and LoRaWAN from CircuitPython Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040-based board using CircuitPython

Alasdair Allan 15 Oct 08, 2022
Home Assistant custom components MPK-Lodz

MPK Łódź sensor This sensor uses unofficial API provided by MPK Łódź. Configuration options Key Type Required Default Description name string False MP

Piotr Machowski 3 Nov 01, 2022
A DUCO (Duino-Coin) miner for GigaDevice ARM boards.

GD32 Duino-Coin Miner Description Contains the firmware and miner software for mining DUCO (Duino-Coin) on GigaDevice GD32 chips. Supported boards GD3

Maximilian Gerhardt 2 Feb 20, 2022
ROS2 nodes for Waveshare Alphabot2-Pi mobile robot.

ROS2 for Waveshare Alphabot2-Pi This repo contains ROS2 packages for the Waveshare Alphabot2-Pi mobile robot: alphabot2: it contains the nodes used to

Michele Rizzo 2 Oct 11, 2022
A iot Bike sytem based on RaspberryPi, Ardiuino

Cyclic 's Kernel ---- A iot Bike sytem based on RaspberryPi, Ardiuino, etc 0x1 What is This? Cyclic 's Kernel is an independent System With self-produ

Retr0mous 2 Oct 09, 2022
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
Raspberry Pi Power Button - Wake/Power Off/Restart(Double Press)

Control Raspberry pi with physically attached button. Wake, Power Off, and Restart (Double Press) . Python3 script runs as a service with easy installation.

Stas Yakobov 16 Oct 22, 2022
Home Assistant custom integration to fetch data from Powerpal

Powerpal custom component for Home Assistant Component to integrate with powerpal. This repository and integration is not affiliated with Powerpal. Th

Lawrence 32 Jan 07, 2023
The software that powers the sPot: a 4th generation

This code is meant to accompany this project in which a Spotify client is built into an iPod "Classic" from 2004. Everything is meant to run on a Raspberry Pi Zero W.

Guy Dupont 683 Dec 28, 2022
Simple Python script to decode and verify an European Health Certificate QR-code

A simple Python script to decode and verify an European Health Certificate QR-code.

Mathias Panzenböck 61 Oct 05, 2022
Like htop (CPU and memory usage), but for your case LEDs. 😄

Like htop (CPU and memory usage), but for your case LEDs. 😄

Derek Anderson 3 Dec 08, 2021
ArduinoWaterHeaterIOT - IoT Probe of a solar PV water heating system - Arduino, Python, MQTT, MySQL

ArduinoWaterHeaterIOT IoT Probe of a solar PV water heating system - Arduino, Raspberry Pi, Python, MQTT, MySQL The Arduino sends the AC and DC watts

Jacques Fourie 1 Jan 11, 2022
ESP32 recording button presses, and serving webpage that graphs the numbers over time.

ESP32-IoT-button-graph-test ESP32 recording button presses, and serving webpage via webSockets in order to graph the responses. The objective was to t

f-caro 1 Nov 30, 2021
Robot Framework keyword library wrapper for atlassian-python-api

Robot Framework keyword library wrapper for atlassian-python-api

Marcin Koperski 3 Jul 29, 2022
A IC scan test interface for Arduino

ICSCAN_ARDUINO Prerequisites Python 3.6 or higher arduino uno or nano what is this It is a bitstream tranceiver to test IC chip It sends bitstream to

Nifty Chips Laboratory 0 Sep 15, 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
KIRI - Keyboard Interception, Remapping, and Injection using Raspberry Pi as an HID Proxy.

KIRI - Keyboard Interception, Remapping and Injection using Raspberry Pi as a HID Proxy. Near limitless abilities for a keyboard warrior. Features Sim

Viggo Falster 10 Dec 23, 2022
Baseline model for Augmented Home Assistant

Dataset Preparation Step 1. Rename the Virtual-Home output directory to 'vh.[name]', for example: 'vh.door' Make sure the directory contains 100+ fram

Stanford HCI 1 Aug 24, 2022
Event-based hardware simulation framework

An event-based multi-device simulation framework providing configuration and orchestration of complex multi-device simulations.

Diamond Light Source Controls Group 3 Feb 01, 2022