Giter VIP home page Giter VIP logo

dise's Introduction

DiSE

A DIY speed editor to use with video editing sw such as Davinci Resolve and others

Bill Of Materials:

Processor Module:

Beware there are out there many STM32103 Clones under the blue pill name. Some Clones may not perform as the original STM32 processor. More info. Definitely STM Software Utillities try hard to identify their own branded original chipsets and wont work on any other detectable clone. Wich makes debugging and developping very difficult.

Recommended

Blue-Pill with original STM32 Processor module: https://www.aliexpress.com/item/1766455290.html (order both STM32F103C8T6 and ST-Link V2 programmer)

Cheaper Alternative

Blue-Pill with CH32F103C8T6 and two usb Ports. No need of ST-Link programmer. One USB-C port is used to download/upgrade the firmware using wch programming software. Can also be programmed with an ST-Link dongle and the old ST-Link004 from STM. (Proved to work, cheaper, not compatible with newer STM Tools thought, only 64k, so not recomended for developping )

Encoder

Optical Encoder 100ppr 5v 4pin 60mm We will be modifying the top part to remove the bearing pin that acts as a clicker to let it run quieter and smoothly. The pin can be reached by removing the spindle handler screw, then remove the upper plate that it is glued to uncover the three screws that holds the knob in place, and after removing it dissasemble the support plate that holds the spring in place. The pin can be taken from its place and saved safely for any future reassembly in the little space behind the spring.

Encoder: https://www.aliexpress.com/item/4000897699294.html 1 unit

Cherry Keys

Cherry MX Keys and Sockets

Keys: https://www.aliexpress.com/item/1005002378701948.html Order Silent Gray type 44pcs (order 2 packs of 30)

Key Sockets: https://www.aliexpress.com/item/4001051840976.html 44pcs (order 50 pcs )

Key Caps

Key Caps: https://www.aliexpress.com/item/32850729893.html 44pcs (Order 60 pcs, and send the list below):

  • DSA22 1u 18pc (18 x 1u) (Gray)
  • DSA17 1u 18pc (18 x 1u) (Black)
  • DSA19 1u 4pc (4 x 1u) (White)
  • DSA1 1u 3pc (3 x 1u) (Red)
  • DSA22 1.5u 2pc (4 x 1u) (Gray)
  • DSA19 1.5u 2pc (4 x 1u) (White)
  • DSA21 2u 2pc (4 x 1u) (OffWhite)
  • DSA21 1.25u 1pc (2 x 1u) (OffWhite)
  • DSA21 2.75u 1pc (3 x 1u) (OffWhite)

This list will match the colors shown on the example picture showed above. Printing the layout text on the keycaps can be done using thermal sublimation ink, or laser printed.

Beware that if you don't have access to a printer with white thermal sublimation ink printing on the black keycaps (DSA17) can be challenging. You may want to change those to another color from the upper color table so you can transfer your layout text using common black toner for laser printers, or dark transfer ink.

Those samples were printed using whiteboard markers and a L1 laserpecker:

This sample was lasered with a laserpecker and then filled the gap with paint. (extremely difficult to get it right)

Check the assembly instructions to know more about how to DIY the keycap printing.

LEDs

Standard 3mm LEDs. Any color. https://www.aliexpress.com/item/32685518028.html or any 3mm led, any color 44pcs

USBC Connector

If you chose the path of using the CH32 board, there is already a working connector you can use. Should that be the case, usbc cable can be plugged from right side. This breaked out connector is to move that to the center top. If you chose the bluepill with only one usb connector (micro USB) there is no way around soldering this connector.

USB C connector: https://www.aliexpress.com/item/32976750426.html

Resistors

0603 resistor kit: https://www.aliexpress.com/item/1005002364437129.html . Usage:

  • R1 - R7 : 330 ohm (7pcs)
  • R10 - R11 : 22 ohm (2pcs)
  • R8 - R9 : 1K ohm (2pcs)
  • R43 - R51: 68 ohm (7pcs)

If you struggle to find a kit that has the 68ohm value, 62ohm will work as well.

Diode

A small schottky diode. A 1N5819 SS14 SMD will work. 1pc Needed, But its cheaper to get 100 than only one. https://www.aliexpress.com/item/627622453.html

Connector

Optional 4pin pcb connector for the encoder. You may just skip this and solder the wires direct to the pcb

https://www.aliexpress.com/item/4000126563819.html

Instructions

TBD

dise's People

Contributors

cjguirao avatar shaise avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

cjguirao

dise's Issues

How to use

How to use Davinci Resolve speed editor to use with video editing SW such as Final Cut Pro and others?

Help and progress discussion to replicate the project

Hello,
I found this project and I would really like to replicate it.

Could you help me out answering some questions?

It ended up working with davinci?
Is there a recommended BOM?
Wich encoder did you use? It is the most important part for usability.

Did you DIY yourself the keycaps? do you reccommend where to get them?

I'd like to replicate the project, and once it is working modify the software so it could be used aswell with other software like OBS Studio. to provide more flexibility.

Thank you very much in advance.

DISE Programmer application sometimes won't use the correct handle to access the HID Keyboard.

I separated this issue in a new different thread for the shake of clarity.

Problem:

Sometimes after plugging and unplugging the keyboard in different ports the keyboard the Programmer app won't be able to communicate to the keyboard.

Causes:

It seems that when you plug the DISE there are two devices listed as connected in windows HIDLibrary.
The last one is always used. But not always the correct one.

How to replicate:

Connect the keyboard in different USB ports until the app stops showing any of the keypresses despite of showing the green connected icon.

Workaround:

Disconnect the DISE and then using a program like devmanview remove all the non connected HID entries. then connect the keyboard and it will work again. Beause windows will list the devices and install the drivers in the right order.

Details and a temporary fix:

I've changed the code from the InitDevice to debug whats been listed, and all the available information from each device using this code:
** MainWindow.xml.cs** Line 248 function InitDevice()

 private void InitDevice()
        {
            if (kbdDevice != null)
                return;
            foreach (HidDevice detectedKbd in HidDevices.Enumerate(VendorId, ProductId)) {
                Console.WriteLine("Detected one Keyboard connected!");
                Console.WriteLine("Detected: " + detectedKbd.ToString());
                Console.WriteLine("Description: " + detectedKbd.Description.ToString());
                Console.WriteLine("DevicePath: " + detectedKbd.DevicePath.ToString());
                Console.WriteLine("Attributes: " + detectedKbd.Attributes.ToString());
                Console.WriteLine("Capabilites: " + detectedKbd.Capabilities.ToString());
                if (detectedKbd != null && detectedKbd.IsConnected &&  detectedKbd.DevicePath.Substring(detectedKbd.DevicePath.Length - 3) != "kbd")
                {
                    Console.WriteLine("Detected one that will work :) ");
                    kbdDevice = detectedKbd;
                }
                else Console.WriteLine("Detected one that won't work :( ");

            }
            //kbdDevice = HidDevices.Enumerate(VendorId, ProductId).LastOrDefault();
            if (kbdDevice == null)
                return;
            dispatcherTimer.Stop();
            SetTitle(true, "Connected");
            kbdDevice.Inserted += KbdDevice_Inserted;
            kbdDevice.Removed += KbdDevice_Removed;
            kbdDevice.MonitorDeviceEvents = true;
        }

This modification in a non working condition will make the keyboard work and display this at the output:

Detected one Keyboard connected!
Detected: VendorID=0x0483, ProductID=0x573E, Version=512, DevicePath=\\?\hid#vid_0483&pid_573e&mi_01#a&177847e2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Description: Dispositivo compatible con HID
DevicePath: \\?\hid#vid_0483&pid_573e&mi_01#a&177847e2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Attributes: HidLibrary.HidDeviceAttributes
Capabilites: HidLibrary.HidDeviceCapabilities
Detected one that will work :)

Detected one Keyboard connected!
Detected: VendorID=0x0483, ProductID=0x573E, Version=512, DevicePath=\\?\hid#vid_0483&pid_573e&mi_00#a&4482ba4&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
Description: Dispositivo de teclado HID
DevicePath: \\?\hid#vid_0483&pid_573e&mi_00#a&4482ba4&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
Attributes: HidLibrary.HidDeviceAttributes
Capabilites: HidLibrary.HidDeviceCapabilities
Detected one that won't work :( 

The only difference that the HIDLibrary is showing as far as I know is the ending \kbd of one of them on the DevicePath.
What the modification is doing to make the program select the right one is:

  • Checking every entry listed by the search function of the Enumerate method.
  • Checking for each entry that the device is listed as connected
  • Checking that entry doesn't end with kbd. Because that's the device that won't work.

Final notes

I have the feeling that this fix is kind of ugly. Excluding a device by it's ending on the device path probably doesn't cut it.
And i'm unsure about the longevity of the fix on future Windows releases.

I don't know if anyone knows a better solution, to differentiate between the good and bad HID device now that we have the problem identified.

If you want to have this solution implemented for the time being, I can clean up the logging output lines and commit a pull request.

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.