Code Monkey home page Code Monkey logo

pikku-macropad's Introduction

Pikku - Raspberry Pi Pico Powered Macropad and Dial

This is a simple macropad built with Raspberry Pi Pico. See detailed description in my blog post at:

www.codeof.me/pikku-raspberry-pi-pico-powered-macropad

New! Wrote a short entry also for the Dial Controller:

www.codeof.me/pikku-dial-multi-mode-dial-controller

Pikku Dial and Macropad

Two macropads 3d printed with different colors

Macropad support different models which you can change by pressing the top left key. Other buttons can be customized to do different things. This initial code includes the following modes:

Mode Action Key
Microsoft Teams
Search Key 2
Goto Key 3
Toggle mute Key 4
Toggle camera Key 5
Hangup Key 6
VS Code
Explorer Key 2
Problems Key 3
Search Key 4
Debug Key 5
Output Key 6
Git
Branch.. Key 2
Checkout main Key 3
Status Key 4
Push Key 5
Pull org main Key 6

The active mode is displayed in a small SSD1306 display.

Pikku macropad showing selected mode in display

Dial

Dial has simpler code. It'll use the KY-040 rotary encoder's switch function to switch between different modes. The current code includes four modes:

  • Volume up/down
  • Scroll up/down (as mouse wheel)
  • Arrow keys up/down
  • Fidget mode (doesn't do anything. Stress toy 😀)

Schematics

Macropad

Circuit diagram of the Pikku macropad

Dial

Circuit diagram of the Pikku Dial

3D Printed Case

Macropad

Case is constructed of three parts. All parts can be printed without support. Parts snap-fit together without need for glue. STL files can be found from the stl-files folder.

3D model of the Pikku macropad case

Dial

Dial uses the same base part but add different panels on top of that.

3D model of the Pikku Dial case

FAQ

How to get rid of boot.py?

If you copy the boot.py to your Pico then it won't show up as a separate drive. If you still have access to REPL on the device with e.g. Thonny then you can delete all the files with storage module. Try this in REPL and it'll erase the filesystem:

>>> import storage
>>> storage.erase_filesystem()

Note! You lose all installed modules etc. so you have to start from scratch uploading all files to your Pico after this.

pikku-macropad's People

Contributors

tlaukkanen avatar

Stargazers

Jesper Badstue avatar Volkan Çiçek avatar Hakan Ceran avatar Aljan avatar Yasin Köse avatar Amil Alekberov avatar Umut Keltek avatar Kutluhan Kip avatar RPZ avatar chris. avatar  avatar  avatar Andy Piper avatar  avatar Torsten Paul avatar  avatar

Watchers

 avatar Kostas Georgiou avatar

pikku-macropad's Issues

6th button repeating

Thank you for sharing this. I've built this now and it almost all works... except button 6 continually repeats.

I changed
for i in range(0,5):
buttons[i].direction = digitalio.Direction.INPUT
buttons[i].pull = digitalio.Pull.DOWN

to
for i in range(0,6):
buttons[i].direction = digitalio.Direction.INPUT
buttons[i].pull = digitalio.Pull.DOWN

and it works perfectly now.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.