Rust Helps Make A $1 Handheld Console

These days, even an old Game Boy will set you back $100 or more, and a new handheld console will be many multiples of that. However, you can build a really cheap handheld gaming toy if you follow [Chris Dell’s] example.

In [Chris]’s own words, he used Rust to build a $1 handheld gaming console. How is that possible? Well, it all comes down to the CH32V003—a microcontroller cheaper than just about anything else out there. It sells for just 9 cents in bulk, and it’s no slouch either. The RISC-V device is a fully-fledged 32-bit chip running at 48 MHz, though with only 2 KB of RAM and 16 KB of flash. Still, that’s more than enough to make some little games. To this end, [Chris] paired the CH32V003 with an SSD1306 OLED display, and three tactile pushbuttons. He then whipped up some code in Rust with the aid of the ch32-hal project, implementing a neat platform game that ran at a healthy 25 fps.

The CH32V003 probably won’t be starring in a new handheld gaming revolution anytime soon. Still, it’s always interesting to see just what can be achieved with one of the cheapest microcontrollers on the market.

[Thanks to Kian Ryan for the tip!]

13 thoughts on “Rust Helps Make A $1 Handheld Console

  1. Almost 40 years ago Game Boy could achieve far more with a primitive 8-bit CPU clocked at 4 MHz.

    Maybe using an overhyped OO language designed for artistic coders doing “safety-critical” blinking LEDs on their dev boards is not the right choice?

    1. You… you think a Gameboy CPU is weaker than this thing?

      2D games don’t need speed. They need storage. This has 2 KB of RAM. That old Gameboy you’re maligning had 8 times that. It has 16 KB flash. The smallest Gameboy games were double that.

      But the biggest thing that’s missing from microcontrollers compared to old game systems is that they basically had the equivalent of a GPU.

      1. Apple proved that modern ARM CPU (like M1 in my Macbook) which is designed by Engineers instead of bean counters can consume less than 1W of electricity and easily outperforms Intel C2D E8400 with TDP of about 120-180W. (Not to mention older Northwood Celerons which even with water cooling could act as a space heater during long Canadian winters.)

      2. The CH32V003 is really limited by the amount of memory it has. For something like this, it would be better to spend 5 cents more and get a CH32V006F8. It has 8K of RAM and 62K of flash, although that’s still a lot less than a Gameboy.

  2. this already exists basically as a product…i can’t find it for sale but people kept getting them for my kids. it was dressed up like a tiny arcade cabinet, input is 4 directions and 2 buttons, it runs a small number of games. tiny color screen. cheap enough to be a ‘stocking stuffer’

  3. There are cheap chinese versions for around $15 that are much more polished. I don’t know if their hackable but with 400 games on board already not sure there’d be any need.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.