Skip to content

Add Cardputer ADV 3-in-1 RF profile with keyboard handoff - #2951

Draft
JoseAlfonsoPC wants to merge 1 commit into
BruceDevices:mainfrom
JoseAlfonsoPC:feature/cardputer-adv-3in1
Draft

JoseAlfonsoPC wants to merge 1 commit into
BruceDevices:mainfrom
JoseAlfonsoPC:feature/cardputer-adv-3in1

Conversation

@JoseAlfonsoPC

Copy link
Copy Markdown

Proposed Changes

Adds a dedicated m5stack-cardputer-adv-3in1 PlatformIO profile for Cardputer ADV with CC1101, nRF24L01 and SX1262 on the specified shared SPI pins. The profile restores the fixed radio pinout when persisted settings are loaded and selects the existing SX1262 support with BUSY on GPIO6. It hands GPIO8/9 from the TCA8418 keyboard I2C bus to nRF24 CE/CS on entry, then powers down the radio and restores keyboard I2C on exit. It reuses Bruce's SPI bus manager and preserves the existing radio menus.

Types of Changes

New board profile, keyboard/radio pin handoff, pin persistence fix, documentation and regression checks.

Verification

Clean PlatformIO build: pio run -e m5stack-cardputer-adv-3in1 — SUCCESS. The merged binary is 4,171,072 bytes. Existing CC1101, NRF24 and LoRa menu registrations remain present.

Testing

python -m unittest discover -s tests -p 'test_cardputer_adv_3in1.py' — 4 source-level checks passed. No hardware was flashed, and no radio operation or keyboard recovery has been verified on a physical board.

Linked Issues

None.

User-Facing Change

action required: The Cardputer ADV 3-in-1 profile exposes the fixed CC1101/nRF24/SX1262 pinout. Direct GPIO8/9 wiring between keyboard I2C and nRF24 CE/CS requires physical isolation for reliable simultaneous use.

Further Comments

Electrical limitation: This module connects GPIO8/9 directly to both the TCA8418 keyboard (SDA/SCL) and nRF24 (CE/CS), with no mux or isolator. While I2C is active, SCL can pull nRF24 CS low and SDA changes CE. The firmware handoff cannot guarantee electrical CS exclusion or reliable RF operation under this wiring. Physical isolation of the nRF24 CE/CS lines is needed before those guarantees can be made. While nRF24 owns the pins, GPIO0 exits the active function; keyboard navigation is unavailable during that interval.

Physical checks still pending: measure GPIO8/9 and radio CS lines during I2C/SPI activity; verify keyboard restoration and effective pinout after cold boot, reboot, deep sleep and repeated nRF24 entry/exit; test CC1101 and SX1262 RX/TX; and, after adding isolation, test nRF24 RX/TX and keyboard behavior.

This branch has not been deployed

No deployments
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