Skip to content

Byteboi rev2 target#291

Draft
abossard wants to merge 7 commits intoducalex:masterfrom
abossard:byteboi-rev2-target
Draft

Byteboi rev2 target#291
abossard wants to merge 7 commits intoducalex:masterfrom
abossard:byteboi-rev2-target

Conversation

@abossard
Copy link

This pull request adds support for the CircuitMess ByteBoi Rev. 2 hardware target to the retro-go project. The changes introduce a new target configuration, including hardware pin mappings, display initialization, and build environment settings. Additionally, the SPI display driver is updated to allow target-specific SPI mode selection, and initialization routines are made more robust for shared SPI buses.

New hardware target: ByteBoi Rev. 2

  • Added byteboi-rev2 target configuration file with all relevant hardware settings, pin mappings, display initialization sequence, and battery calculation macros in components/retro-go/targets/byteboi-rev2/config.h.
  • Added documentation for ByteBoi Rev. 2, including hardware details, button mapping, display profile, flashing instructions, and verified app size examples in components/retro-go/targets/byteboi-rev2/docs/README.md.
  • Added build environment configuration and default app set for ByteBoi Rev. 2 in components/retro-go/targets/byteboi-rev2/env.py.
  • Added ESP-IDF sdkconfig file for ByteBoi Rev. 2, specifying serial flasher, optimization, SPI RAM, filesystem, and other settings in components/retro-go/targets/byteboi-rev2/sdkconfig.
  • Enabled selection of ByteBoi Rev. 2 target in the main config header by including its config file when RG_TARGET_BYTEBOI_REV2 is defined in components/retro-go/config.h.

Display driver improvements

  • Made SPI mode configurable per target by introducing RG_SCREEN_SPI_MODE macro and updating the SPI device interface config in components/retro-go/drivers/display/ili9341.h. [1] [2]
  • Added logging of SPI display bus configuration for easier debugging in components/retro-go/drivers/display/ili9341.h.

Platform initialization robustness

  • Improved SPI CS line initialization to check for valid GPIO numbers before setting direction and level, preventing issues with floating devices on shared buses in components/retro-go/rg_system.c.

abossard and others added 7 commits February 17, 2026 16:54
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Set byteboi-rev2 LCD SPI mode to 3, guard NC CS pin init, and switch to a ST7789-native init sequence with MADCTL 0xA0 for correct upright non-mirrored output. Also document the validated display profile in target docs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant