An Arduino setup that allows for debugging raspberry pi's and other similar serial ttl hardware easily Includes lcd/keyboard combo board to allow on-site debugging and repairs
This repository has been archived on 2024-07-04. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2020-09-08 21:53:59 -04:00
.vscode Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
src/guislice Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
.clang-format Initial bring up 2020-09-03 19:24:06 -04:00
.gitignore Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
build.ps1 Update tools to simplify compile/upload ; note them in the readme 2020-09-07 22:10:48 -04:00
LICENSE-APACHE-2.0.txt Initial bring up 2020-09-03 19:24:06 -04:00
LICENSE-CC-Attribution-NonCommercial-ShareAlike-4.0-International.txt Initial bring up 2020-09-03 19:24:06 -04:00
list.ps1 Initial bring up 2020-09-03 19:24:06 -04:00
make.ps1 Update tools to simplify compile/upload ; note them in the readme 2020-09-07 22:10:48 -04:00
notes.md Initial bring up 2020-09-03 19:24:06 -04:00
README.md Fix typo in readme 2020-09-07 23:04:22 -04:00
serial_debugger.ino Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
serial_debugger.ino.beta Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
serial_debugger.ino.orig Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
serial_debugger.prj Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
serial_debugger_GSLC.h Convert UI to GUI Slice and cleanup some small stuff along the way 2020-09-08 21:53:59 -04:00
upload.ps1 Update tools to simplify compile/upload ; note them in the readme 2020-09-07 22:10:48 -04:00

Serial Debugger

A debug console for serial TTL. This can be used to work with serial TTL directly or operate as a pass through for a computer.

Hardware / BoM

Item Quantity Unit Cost
Keyboard FeatherWing (Keyboard + LCD) 1 $55.00
Feather nRF52840 Express 1 $24.95
Feather M0 Basic Proto 1 $19.95
FeatherWing Proto 1 $4.95
2x20 pin IDC Box Header 1 $0.75
GPIO Ribbon Cable for Raspberry Pi 1 $2.95
Header Kit for Feather 1 $0.96
I2C Non-Volatile FRAM Breakout 2 $9.95

Hardware Docs

Implementation (Incomplete)

  • Main board has FRAM break out for configuration persistence
  • Converter board has FRAM break out for configuration persistence
  • Setup 2nd feather + proto board as a 40 pin socket
  • 2nd feather acts as a mux between different rpi uarts (0 and 1 and 5 in particular)
  • 2nd feather talks via qwiic connector over i2c to main board
  • User button on feather to flip between usb and local serial (aka : can be used as a serial adapter)
    • Note this on the UI
  • Fall back to internal uart pins if no expander is present
    • Note this on the UI
  • Adapter board falls back to saved config and goes into stand alone via usb port if it's not seeing the main board
  • Main board startup shows connection setup + waits for OK prompt via main hat switch
  • Main board has a status bar @ bottom with battery level, selected uart, selected speed
  • Main board does simple display of serial in/out via lcd
  • Main board has a button for accessing symbols via pop-up list that aren't on keyboard
  • Main board has a button for accessing a uart selection pop-up that maps to rpi uarts
  • Main board has a button for accessing password selection pop-up to help with password entry over serial
  • Main board has a button for accessing uart speed pop-up to help with configuring line speeds

Implementation (Complete)

  • Battery level on feather neopixel (green = >80% ; yellow >=40% ; orange >= 25% ; red < 25%)
  • User LED (red) always on when feather is running

Building / Uploading

The make.ps1, build.ps1 and upload.ps1 scripts can be used to build/upload this project. These scripts call the arduino-cli commands programatically.

Licensing

Unless otherwise stated all source code is licensed under the Apache 2 License.

Unless otherwise stated the non source code contents of this repository are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License