It now took me 3 iterations and 3 years to get a somehow working risc-v CPU written in VHDL, that I am mostly satisfied with. It's a crazy hard struggle (finally pipelined though!). Everything breaks, I constantly get headaches and almost want to quit, but somehow I can keep on pushing this project. It helps me a lot.
Almost nothing works, things break all the time, it doesn't even look cool. But somehow it's satisfying that I can type words with a PS/2 keyboard on a VGA screen getting processed by my own RISC-V CPU (running Rust btw lol. I ditched that by now though, the struggle was too big). See here: https://i.imgur.com/PtKeAYt.mp4
I have no idea how far I can make it, maybe not fully self-hosted, but a small OS should be doable. I have interrupts and timers working, so I should have everything I need.
The downside is, I am way worse than OP and have no documentation at all. I should do that, but that's where the motivation is missing.
Edit: I type so slow in the video because I did poll the scancodes (too slow) and had to think which characters not to press, because i dont accept all yet and was scared that it breaks
Wanna hop onto my crazy train and make a second main board?
I wanna make the Ashet Home Computer an open and free platform, so if you implement the backend control interface, you can use all of the environment yourself.
> I am way worse than OP and have no documentation at all.
I confess guilty at the currenr point. I do have planned a large phase in development where i will create entry-level docs for everything, as these are an essential part of the project.
The video is incredibly cool! Ashet started as a SoC in a ECP5, but the RP2350 basically hit all my spec requirements better than i could've done it myself, which made it a no-brainer to ditch the FPGA
I'm also having ADHD but you can get help with the focus problem ;)
It's incredible to work for many years on the same thing and it's so pleasing to have steady progress.
So: Go, start building a vision for your cyberdeck! Having a clear goal helps you working towards building it, and you cam embrace the ADHD by jumping around between the many aspects of such a project.
sw design, hw design, visual design, mechanical design, handcrafting, soldering, programming, making websites, asking people, ...
The most interesting part to me right now is running Zig on a microcontroller, since that's something I really wanted to do this year (like a new year's resolution thing). I've been interested in Zig for a while, but I've never done any serious learning/programming with it, so I might look at your OS repo to at least gain some inspiration on how deploying to a microcontroller works.
It also seems like it would be a really good way to learn embedded electronics in general, since if I wanted to learn something new, eg lower level network programming, I could make and program a network card, or usb hosting, or anything like that.
I'll definitely try to do it one day, once I've finished all my current projects haha
The best thing that helped me: Force myself to one single project only. And if I really don't want to do the current one, do a ___really___ small one, that's pure fun. I have to remind myself of that again and again, but it helps
There are many tricks to stay focused, particularly when there are no stakeholders but you. Try a body double, someone to keep you in check - you can also return the favor, like working from the same room, or just coming to their home to watch them clean while you do your stuff.
When you do get hyperfixated on something - that can be a very productive period, until you crash. Again, bring in a friend. Not to get back to it - just to make sure you're still eating. Don't push yourself to either side, find your own balance around it - I've picked up many hobbies where I've slowed down, but maintained interest over the years, decades.
Look for buddies in your local neurodivergent group, there's usually one somewhere near you. (Even here on HN, it turns out.)