/ README.md
README.md
 1  # picotouch
 2  
 3  Tiny capsense touch MIDI keyboard from a Raspberry Pi Pico
 4  
 5  <img width=700 src="./docs/picotouch_smd_top1.png"/>
 6  <img width=700 src="./docs/picotouch_top2.png"/>
 7  
 8  [For sale on Tindie!](https://www.tindie.com/products/todbot/picotouch-capsense-midi-keyboard-for-raspi-pico/)
 9  
10  
11  ## Demos
12  
13  
14  https://user-images.githubusercontent.com/274093/216477797-90a1e4ca-b68f-4eb2-be46-de1d6d81551e.mp4
15  
16  
17  Also see videos in this Twitter thread : https://twitter.com/todbot/status/1382469033061093377
18  
19  And check out [picotouch videos on my Youtube channel](https://www.youtube.com/@todbot/search?query=picotouch)
20  
21  ## Materials needed
22  
23  If you [buy a black 'picotouch SMD' board from my Tindie store](https://www.tindie.com/products/todbot/picotouch-capsense-midi-keyboard-for-raspi-pico/), the <b>resistors are soldered</b> for you, so you only need to
24  [solder the Pico](https://www.youtube.com/watch?v=dW9LiOq3Dso).
25  
26  If you're building one by hand, you will need:
27  - 1 - picotouch PCB ([order from OSHpark](https://oshpark.com/shared_projects/5MnI1jPf))
28  - 1 - Raspberry Pi Pico
29  - 23 - 1M ohm 0805 SMD resistors  ([Digikey cart with this & Pico](https://www.digikey.com/short/w381rn4w))
30  
31  
32  ## How to solder the Pico
33  
34  It's not too bad!  A pretty easy first-time SMD soldering project.  Here's
35  [how to solder the Pico down](https://www.youtube.com/watch?v=dW9LiOq3Dso).
36  The technique is: line up the Pico solder one corner, solder the other, then finish all the rest.
37  In the video you see I don't get it aligned perfectly straight (hard to see around the camera), but it still works great!  ([Youtube version of the below video](https://www.youtube.com/watch?v=dW9LiOq3Dso))
38  
39  https://user-images.githubusercontent.com/274093/217670870-b04d55ed-e37d-4be2-bea7-4985d2b3f8c4.mp4
40  
41  
42  
43  ## Firmware Installation
44  
45  * Install CircuitPython
46    - Hold down BOOT button while plugging in Pico to get RPI-RP2 drive
47    - Download CircuitPython UF2 from https://circuitpython.org/board/raspberry_pi_pico/
48    - Drag UF2 to RPI-RP2 drive. CircuitPython is now installed!
49  
50  * Install CircuitPython libraries onto Pico
51    - If you have Python on your computer you can do:
52      ```
53      pip3 install circup
54      circup install adafruit_midi adafruit_debouncer adafruit_ticks
55      ```
56    - Otherwise, download the CircuitPython Libraries Bundle at https://circuitpython.org/libraries
57      and copy over the `adafruit_midi`, `adafruit_debouncer`, & `adafruit_ticks` libraries
58      to the `CIRCUITPY/lib` folder on the Pico.
59  
60  * Install picotouch `code.py`
61    - Via commandline:
62      ```
63      cp picotouch/circuitpython/picotouch/code.py /Volumes/CIRCUITPY/code.py
64      ```
65    - Or you can drag-n-drop using your computer's GUI
66    - Note: this will delete the previous `code.py` on your Pico.
67        Normally this is fine, but if it's not, be sure to save it if you want to keep it!
68  
69  
70  ## Going further
71  
72  There's other things you can do with the picotouch board.
73  
74  - Use it as a MIDI slider bank
75  
76      Install
77     [`picotouch_midislider/code.py`](https://github.com/todbot/picotouch/blob/main/circuitpython/picotouch_midislider/code.py) instead of the regular picotouch code.py.
78  
79     - youtube demo: [midislider demo video](https://youtu.be/1Psw3PLqYS8)
80  
81  - Use it as a HID keyboard macropad
82  
83     - example code: [`picotouch_macropad/code.py`](https://github.com/todbot/picotouch/blob/main/circuitpython/picotouch_macropad/code.py)
84  
85     It's early days, but it's a start at that idea
86  
87  
88  ## Press
89  
90  - https://www.hackster.io/news/tod-kurt-s-ultra-slim-picotouch-is-a-button-free-23-key-raspberry-pi-pico-powered-midi-keyboard-700a3ce2227b