adafruit / adafruit/Adafruit_nRF52_Arduino

SPI hardware issue(?) - MISO held low crashes nrf52

Open
#762 2 comments 0 reactions 0 assignees View on GitHub
Bug
Dominant language
C
Stars
699
Forks
570
PR merge metrics
No merged PRs in 30d

Description

### Operating System

MacOS

### IDE version

1.8.19

### Board

nrf52840 Express

### BSP version

1.3.0

### Sketch

Blink Example / DigitalReadSerial (added: #include // Needed for NRF52840 USB CDC)

### What happened ?

When hardware MISO input (pin 24) is connected to ground, sketches will run properly after upload, but then if the board is power cycled by unplugging the USB and re-plugging it in, the serial port connects but nothing further happens (board seems to hang). This is true for any sketch, even the most basic (just a serial.print). The board restarts and works as normal if MISO is left floating.

Background: I'm working with an unusual SPI sensor (Heimann thermopile array) that uses its only CS input to switch between EEPROM and the SENSOR (respectively high and low), so it is never fully deactivated and must be the only device on the bus (quite annoying). The sensor works fine like this, but only immediately after flashing code - if power is cycled, the nrf52 hangs (as replicated above), seemingly due to MISO line being held low.

I have tried on M4 express, M0 express and M0 Bluefruit - all do not exhibit this behavior.

### How to reproduce ?

1. Flash any sketch while MISO (pin 24) is held low.
2. Cycle power with USB cable.

### Debug Log

_No response_

### Screenshots

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

No source file or test is named. Reproduce the issue on the nrf52840 Express by holding MISO (pin 24) low, flashing a sketch, and power cycling over USB; compare this with a floating MISO line and the other boards listed. Done means the board boots and runs a basic serial sketch after power cycling with MISO held low.

Written by the indexing model from the issue text.

Assessment

Tech stack
arduino, c
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.