this post was submitted on 09 Apr 2024
38 points (100.0% liked)
Self Hosted - Self-hosting your services.
11401 readers
1 users here now
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules
- No harassment
- crossposts from c/Open Source & c/docker & related may be allowed, depending on context
- Video Promoting is allowed if is within the topic.
- No spamming.
- Stay friendly.
- Follow the lemmy.ml instance rules.
- Tag your post. (Read under)
Important
Beginning of January 1st 2024 this rule WILL be enforced. Posts that are not tagged will be warned and if not fixed within 24h then removed!
- Lemmy doesn't have tags yet, so mark it with [Question], [Help], [Project], [Other], [Promoting] or other you may think is appropriate.
Cross-posting
- [email protected] is allowed!
- [email protected] is allowed!
- [email protected] is allowed!
- [email protected] is allowed if topic has to do with selfhosting.
- [email protected] is allowed!
If you see a rule-breaker please DM the mods!
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A homemade RISC-V fightstick? This is combining all of my favorite things! I bought a leverless controller recently (an SGF Bridget).
I'm only vaguely familiar with microcontrollers, but I know there are libraries out there for using an Arduino to make a mechanical keyboard or fightstick. Is there something similar for the CH32V305?
This is the firmware I've been working on. Basically I wrote it because at the time (early 2023) there wasn't a "good" keyboard firmware like QMK or ZMK for the CH32V305. Now it supports keyboards, joysticks, and a rudimentary pointing device made out of a PS2-style analogue stick.
https://gitlab.com/hakfoo1/ch32v-keyboard/-/tree/fightstick?ref_type=heads
That branch has the mapping I used. Note this firmware has a keyboard-centric assumption that switches are wired as a matrix (between two sense lines), even if that matrix is 1x24, rather than just grounding a sense line individually.
The stick portion was one of those "Pandora Box" devices that was built into a cabinet and pre-wired to a crappy Android TV box.
I bought it because I figured it was probably cheaper than cutting a decent looking cabinet and buying the buttons off AliExpress. That also meant it came with a predefined cable harness to fit the Android box. In the hopes of making it tidy, and reversible, I ordered a little throwaway PCB that accepted the existing 40-pin plug and bridged it to a nanoCH32V305 breakout board. Of course, I made a design mistake, so the PCB had bodge wires, so not much was saved.
If you're starting from scratch, you could direct-wire to the MCU breakout board.