{"id":15020630,"url":"https://github.com/ijnekenamay/m8headlessstaging","last_synced_at":"2025-10-26T04:30:46.547Z","repository":{"id":42181658,"uuid":"424573947","full_name":"ijnekenamay/M8HeadlessStaging","owner":"ijnekenamay","description":"This is a DIY project to push the Dirtywave M8 Headless into a PCB and make it handheld.","archived":false,"fork":false,"pushed_at":"2022-05-30T08:35:24.000Z","size":1697,"stargazers_count":115,"open_issues_count":0,"forks_count":8,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-10-11T02:02:30.042Z","etag":null,"topics":["daw","dietywave","m8","m8c","raspberry-pi-3","sampler","sequencer","synthesizer","teensy","teensy41","tracker"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ijnekenamay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-04T11:42:26.000Z","updated_at":"2024-10-05T20:08:19.000Z","dependencies_parsed_at":"2022-09-07T01:01:13.963Z","dependency_job_id":null,"html_url":"https://github.com/ijnekenamay/M8HeadlessStaging","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijnekenamay%2FM8HeadlessStaging","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijnekenamay%2FM8HeadlessStaging/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijnekenamay%2FM8HeadlessStaging/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ijnekenamay%2FM8HeadlessStaging/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ijnekenamay","download_url":"https://codeload.github.com/ijnekenamay/M8HeadlessStaging/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219864035,"owners_count":16555943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daw","dietywave","m8","m8c","raspberry-pi-3","sampler","sequencer","synthesizer","teensy","teensy41","tracker"],"created_at":"2024-09-24T19:55:21.795Z","updated_at":"2025-10-26T04:30:40.943Z","avatar_url":"https://github.com/ijnekenamay.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# M8 Headless Staging\n\n![Design Sketch](https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/head.jpg)\nThis is a DIY project to push the [Dirtywave M8 Headless](https://github.com/Dirtywave/M8HeadlessFirmware) into a PCB and make it handheld.\nTest build was done on the fabricated PCB. MIDI I/O AUDIO OUT seems to be working well.\nKicad data has been withheld from the public due to criticism that it would damage the market. Please contact.\n\n## Now progress\n\n- [x] Idea sketch\n- [x] Draw proto Schematics\n- [x] Design proto PCB\n- [x] Proto type\n- [x] Design PCB\n- [x] Fabrication PCB\n- [x] Test Build\n\n## Latest Status\n\n\u003cimg src=\"https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/image7.jpg\" width=\"320\"\u003e\n\u003cimg src=\"https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/image6.jpg\" width=\"320\"\u003e\n\u003cimg src=\"https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/image8.jpg\" width=\"320\"\u003e\n\n# Build\n\n- It works almost perfectly, except for the audio input. I carefully researched Dirtywave's Discord, but could not\n  figure it out. I gave up on it.\n- Some wiring must be done by hand.\n  This means that some wiring is not included on the PCB.\n  For example, it is necessary to connect the key switch to the GPIO pins of the RSPi, and to connect the shutdown button to the GPIO pins.\n\n## Parts list\n\n- Raspberry Pi 3 Model B+(Raspberry Pi 4 Model B is better) \\*1\n- Teensy 4.1 \\*1\n- 90 deglee USB cable(You can find them at [Aliexpress](https://ja.aliexpress.com/item/10000315945874.html)) \\*1\n- Display for the Raspberry Pi (You can find them at [Aliexpress](https://aliexpress.com/item/4000380101537.html)) \\*1\n- PCM5102dac decorder (You can find them at [Aliexpress](https://aliexpress.com/item/1005002898278583.html)) \\*1\n- Kailh Low profile key switch with cap (You can find them at [Aliexpress](https://ja.aliexpress.com/item/32959996455.html)) \\*8\n- 3.7V Litium poly battery (You can find them at Aliexpress) \\*1\n- Ajustable battery module (You can find them at [Aliexpress](https://ja.aliexpress.com/item/4000087101515.html)) \\*1\n- Slide switch (2.54mm pich) \\*1\n- Tact switch (6mm*6mm) *1\n- 30mm long hex spacer \\*4\n- 15mm long hex spacer \\*4\n- 6N138 optocoupler \\*1\n- other resistors and capacitor (STM assenbly use by JLCPCB)\n\n## Setup Teensy\n\nBe sure to follow the official manual.\nThe version you install must be 2.0.5. Otherwise, the midi i/o will not work.\nhttps://github.com/DirtyWave/M8Docs/blob/main/docs/M8HeadlessSetup.md\n\n## Setup Raspberry Pi\n\n- Setup m8c\n- Setup full screen\n- Setup autostart\n- Setup shutdown key(Use Tact switch)\n- Setup key switches\n\n### Setup m8c\n\nThe client software for Headless is [m8c](https://github.com/laamaa/m8c), which is published by laamaa.\nThe setup for using the m8c and Raspberry Pi can be seen in detail in the littlescale video.\n\n[![littlescale](http://img.youtube.com/vi/CqUvGfdyEnM/0.jpg)](https://www.youtube.com/watch?v=CqUvGfdyEnM)\n\n### Setup full screen\n\nYou can set the fullscreen in the config in the m8c installation folder.\n\n### Setup autostart\n\nPut in a general autostart program.It's probably faster to ask Google than to ask me.\nThen KICK The m8c startup command, \". /m8c\".\n\n### Setup shutdown key(Use Tact switch)\n\nThis one also plants a commonly used shutdown program. We connected the GND of the tact switch and the \"shutdown button\" pad on the PCB to GPIO5 (PIN29) and GND (PIN30) respectively.\nThis is because pins 1 to 28 are blocked by the display.\nhttps://www2.quartoknows.com/page/raspberry-pi-shutdown-button\n\n### Setup key switches\n\nKey mapping is done using a program called \"GPIONext\", which is often used in RetroPi.\nThe GND must be connected to PIN39 or PIN34, but the other pins can be configured as you like. Use a wire to arrange the wires.\nhttps://github.com/mholgatem/GPIOnext\n\nThe key layout to be set should follow the m8c manual.\n\nKeys for controlling the progam:\n\n- Up arrow = up\n- Down arrow = down\n- Left arrow = left\n- Right arrow = right\n- a / left shift = select\n- s / space = start\n- z / left alt = opt\n- x / left ctrl = edit\n\n## Other Parts\n\nOther parts, such as the DAC module, simply need to be soldered as shown in the image to function.\n\n## The following is a memorandum for development, but I leave it here just in case.\n\n## Design Outline\n\n![Design Sketch](https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/image1.jpg)\n\n- M8 Headless will be installed on teensy4.1.\n- The client software for Headless is [m8c](https://github.com/laamaa/m8c), which is published by laamaa.\n- The client computer will be a Raspberry Pi3 Model B+.\n- For the display, we will use a third party display for the Raspberry Pi. (You can find them at [Aliexpress](https://aliexpress.com/item/4000380101537.html))\n- We will implement MIDI IN \u0026 OUT.\n- We will use the GPIO pins of the Raspberry pi to perform key emulation and try to get close to the original key layout.\n- Sandwich the above various devices on two PCBs.\n- If there is enough room, I would like to implement a battery module as well.\n\n---\n\n### Task1 Client and Display\n\n---\n\nThe setup for using the m8c and Raspberry Pi can be seen in detail in the littlescale video.\n[![littlescale](http://img.youtube.com/vi/CqUvGfdyEnM/0.jpg)](https://www.youtube.com/watch?v=CqUvGfdyEnM)\n\nSince this video shows video and audio output from the HDMI port, we will assume that audio output is available using a 3.5mm stereo jack if you use a touch display with audio output, available from [Aliexpress](https://aliexpress.com/item/4000380101537.html).\nOr I'm thinking of getting the sound through a DAC module.\n\n\u003cblockquote class=\"twitter-tweet\"\u003e\u003cp lang=\"en\" dir=\"ltr\"\u003ehacked together a quick teensy 4.1 midi i/o and audio out board for making it a bit easier to use the \u003ca href=\"https://twitter.com/hashtag/m8tracker?src=hash\u0026amp;ref_src=twsrc%5Etfw\"\u003e#m8tracker\u003c/a\u003e headless version in my dawless setup \u003ca href=\"https://t.co/O24RRRLSRL\"\u003epic.twitter.com/O24RRRLSRL\u003c/a\u003e\u003c/p\u003e\u0026mdash; Jonne Kokkonen (@laamaa) \u003ca href=\"https://twitter.com/laamaa/status/1404158507188985856?ref_src=twsrc%5Etfw\"\u003eJune 13, 2021\u003c/a\u003e\u003c/blockquote\u003e\n\n## Practical notes\n\n- Use Headless version 2.0.5, because MIDI I/O does not work well.\n\n---\n\n### Task2 MIDI IN\u0026OUT\n\n---\n\nAs has been discussed several times on Dirtywave's Discord, it seems possible to implement MIDI IN and OUT in a Headless environment.\nThe developer, trash80, commented \"MIDI in is pin 28, MIDI out is pin 1, it's enabled\".\nI plan to implement them as shown in the schematic below.\n\n![midi schematic](https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/midi_in_out.png)\n\n---\n\n### Task3 Key Switch\n\n---\n\nKey emulation (key mapping) using the GPIO pins of the Raspberry Pi is also currently in the hypothetical stage.\nThere are plenty of people practicing something similar with the Retropi!\nFor the keyswitch itself, I will use the same one as the M8 original.\n\n[![GIPO Key Mapping](http://img.youtube.com/vi/BV_nVu8Be7M/0.jpg)](https://www.youtube.com/watch?v=BV_nVu8Be7M)\n\n---\n\n### Task4 Battery Module\n\n---\n\nI'd like to use the tiny little battery charging modules that [Aliexpress](https://ja.aliexpress.com/item/4001196670805.html) sells so that I can seamlessly connect the power supply, PSU, and charging.\nI think I will agonize over where to put the batteries!\n\n---\n\n### Reference data\n\n---\n\nJames' work has addressed some of the concerns of this project!\n\u003cimg src=\"https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/image2.jpg\" width=\"320\"\u003e\n\u003cimg src=\"https://github.com/ijnekenamay/M8HeadlessStaging/raw/main/image5.jpg\" width=\"420\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fijnekenamay%2Fm8headlessstaging","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fijnekenamay%2Fm8headlessstaging","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fijnekenamay%2Fm8headlessstaging/lists"}