Skip to content

v1.0.0-rp2040 — First tagged release for Concept-Bytes Kickstarter backers

Pre-release
Pre-release

Choose a tag to compare

@semichcsc-byte semichcsc-byte released this 11 May 15:10
· 14 commits to main since this release

What this release is

A drop-in fix-fork firmware for the Concept-Bytes OpenChess Kickstarter board with the Arduino Nano RP2040 Connect. Combines three upstream PRs that the original repo (last commit Aug/2025, 0 PRs ever merged) hasn't reviewed:

  • PR #9 — WiFi AP→STA fix: AI mode no longer hangs after Connecting to WiFi...
  • PR #10 — 5 quality fixes: medium depth bug, HTTP body parser, bot move validation, MODE_GAME_3 loop, MAX_MOVES_PER_PIECE consistency
  • PR #11 — Full chess rules + UX polish + 10 self-tests

What works now

  • ♟️ Chess rules: check, checkmate, stalemate, castling (kingside + queenside), en passant, 50-move rule, insufficient material, promotion choice (Q/R/B/N via 4 LEDs)
  • 🤖 AI mode via Stockfish.online API (was broken in upstream)
  • 🛡️ Bot move validation via local engine (rejects malformed API responses)
  • Sensor debounce (no more piece-flicker on slide)
  • 🔋 AP shutdown when not needed (~100mA saved)
  • 10 self-tests at every boot — Fool's Mate, pinned pieces, both castlings, en passant, K-vs-K, etc. Red flash on failure.
  • 🆔 Boot banner prints firmware version and fork name to serial

How to flash (no Arduino IDE required)

The .uf2 binary works as drag-and-drop on the Arduino Nano RP2040 Connect:

  1. Double-tap the white reset button on the board.
  2. The board mounts as a USB drive named RPI-RP2.
  3. Drag OpenChess-v1.0.0-rp2040.uf2 onto that drive.
  4. Board reboots automatically into the new firmware.

For arduino-cli users:

arduino-cli upload --fqbn arduino:mbed_nano:nanorp2040connect \
  -p /dev/cu.usbmodem201301 \
  --input-file OpenChess-v1.0.0-rp2040.bin

WiFi credentials

Before the AI mode works you need to put your home WiFi credentials in arduino_secrets.h and recompile. The pre-built binaries in this release will not connect to your WiFi out of the box. (We can't ship credentials baked in for obvious reasons.)

If you want to use the binaries as-is, only Human-vs-Human and Sensor Test modes work immediately.

Verified on

  • Arduino Nano RP2040 Connect
  • WiFiNINA firmware 3.0.1
  • Concept-Bytes PCB v1
  • arduino-cli 1.4.1, arduino:mbed_nano core 4.5.0

Build stats

  • Sketch: 150799 bytes (0% of 16 MB flash)
  • RAM: 44640 bytes (16%)
  • Self-tests: 10/10 passing

Source code