.vscode | ||
.clang-format | ||
.gitignore | ||
build.ps1 | ||
LICENSE-APACHE-2.0.txt | ||
LICENSE-CC-Attribution-NonCommercial-ShareAlike-4.0-International.txt | ||
list.ps1 | ||
make.ps1 | ||
notes.md | ||
README.md | ||
serial_debugger.ino | ||
upload.ps1 |
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 (Keybaord + 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
- https://www.solder.party/docs/keyboard-featherwing/downloads/
- https://github.com/arturo182/bbq10kbd_i2c_sw
- https://github.com/lvgl/lv_arduino
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