While the last Knurling Session was focused on Hardware and and how to make it work together using software, this quarter will be focused more on the software side of things. We'll explore basic Rust principles in a way that is suitable to get started with Rust for beginners.
This time, we'll work on a NeoTrellis board. The board is made of four 4x4 polymer buttons pads, where each button can be illuminated with a NeoPixel RGB LED. It comes as a set with a cool transparent and black plastic housing. The combination of RGB LEDs and buttons provides endless use cases for this board, be it as input device, display, control panel, basically anything that combines input with display. We'll use it as canvas to build a Minesweeper game.
In contrast to the former session, we will not start with hardware right away, and take a different approach to embedded development: Simulation. Simulation is commonly used, when the actual hardware is not yet available or inaccessible. It is practical to ensure that the program works as intended, while ruling out hardware bugs. It is practical for learning embedded development, when you don't want to spend money on hardware.
We'll build the simulator first, write the game for the simulator and port it to the hardware in the last step. This learning journey allows you to see
no_std code side by side.
This knurling session will start on February 15th, releases will be on a weekly or biweekly basis, so the session as a whole will run longer then 3 months.
How can you participate?
Bill of Materials
- 1 8X8 TRELLIS FEATHER M4 ENCLOSURE
- 4 ADAFRUIT NEOTRELLIS RGB DRIVER
- 4 SILICONE ELSTMR 4X4 BTN KEYPAD
- 1 Stemma cable
- 1 nrf52840-DK
- soldering iron
- some copper wire
Sponsor this work
Knurling Sessions are a Knurling project and can be funded through GitHub sponsors. Sponsors get early access to Knurling Sessions and other tools we are building. Thank you to all of the people already sponsoring our work through the Knurling project!