All / RSS /

006 2023-01-03

Year of the Microcontroller


Happy New Year! If 2018 was the Year of the Linux Desktop, then like Dave I'm also declaring 2023 the Year of the Microcontroller.

Microcontroller programming

I've been programming microcontrollers for quite a few years, but it's usually in C++ with the Arduino IDE or Lua with the NodeMCU. My use-case has always been super simple projects, such as controlling some NeoPixel LEDs, managing small servos, and reading sensor data. I'm thankful for the libraries provided by those ecosystems, but the entire process always left me wanting more control of the devices.

Two years ago, I dipped my toes in Rust to create an SRAM driver, but the amount of high-level abstractions and boilerplate just to do something simple ultimately drove me towards smaller and simpler systems.

RISC-V and Forth

Around the same time, in early 2021, I re-discovered Forth and started learning RISC-V Assembly programming in order to contribute to derzforth. I fixed a few issues and discovered a few others, but life got the best of me and I found myself unable to continue working on that project (which was also incomplete and not fully functional).

Eventually towards the end of 2021 I began writing my own RISC-V Forth called FiveForths. I didn't make much progress and let it stall for an entire year until I decided to try completing FiveForths.

I'm happy to report it's almost done! So now, I'm preparing for the next projects where I'll port it to other devices and actually use it for the simple use-cases I mentioned above.

Microcontroller projects

Like Dave, I have a few unfinished (and unstarted) projects, each using one of the microcontrollers shown above. Here's the list in order from top-left to bottom-left.

In the right column, I have non RISC-V devices:

Moving forward

So that's my plan for 2023. To wrap-up, I have a few other unpublished projects, and some minor changes to this website and my company's website in the works.

Stay tuned for updates.
2023-01-03 14:06:16 UTC