2020-09-03 23:24:06 +00: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.
2020-09-07 23:25:26 +00:00
## Hardware / BoM
2020-09-03 23:24:06 +00:00
2020-09-07 23:25:26 +00:00
| Item | Quantity | Unit Cost |
| ---- | -------- | --------- |
| [Keyboard FeatherWing (Keybaord + LCD) ](https://www.tindie.com/products/arturo182/keyboard-featherwing-qwerty-keyboard-26-lcd/ ) | 1 | $55.00 |
| [Feather nRF52840 Express ](https://www.adafruit.com/product/4062 ) | 1 | $24.95 |
| [Feather M0 Basic Proto ](https://www.adafruit.com/product/2772 ) | 1 | $19.95 |
| [FeatherWing Proto ](https://www.adafruit.com/product/2884 ) | 1 | $4.95 |
| [2x20 pin IDC Box Header ](https://www.adafruit.com/product/1993 ) | 1 | $0.75 |
| [GPIO Ribbon Cable for Raspberry Pi ](https://www.adafruit.com/product/1988 ) | 1 | $2.95 |
2020-09-07 23:34:52 +00:00
| [Header Kit for Feather ](https://www.adafruit.com/product/2886 ) | 1 | $0.96 |
| [I2C Non-Volatile FRAM Breakout ](https://www.adafruit.com/product/1895 ) | 2 | $9.95 |
2020-09-03 23:24:06 +00:00
## Hardware Docs
- [https://www.solder.party/docs/keyboard-featherwing/downloads/ ](https://www.solder.party/docs/keyboard-featherwing/downloads/ )
- [https://github.com/arturo182/bbq10kbd_i2c_sw ](https://github.com/arturo182/bbq10kbd_i2c_sw )
- [https://github.com/lvgl/lv_arduino ](https://github.com/lvgl/lv_arduino )
## Implementation (Incomplete)
2020-09-07 23:34:52 +00:00
- Main board has FRAM break out for configuration persistence
- Converter board has FRAM break out for configuration persistence
2020-09-03 23:24:06 +00:00
- 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
2020-09-07 23:34:52 +00:00
- Adapter board falls back to saved config *and* goes into stand alone via usb port *if* it's not seeing the main board
2020-09-03 23:24:06 +00:00
- 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
2020-09-08 02:10:48 +00:00
## 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.
2020-09-03 23:24:06 +00:00
## Licensing
Unless otherwise stated all source code is licensed under the [Apache 2 License ](LICENSE-APACHE-2.0.txt ).
Unless otherwise stated the non source code contents of this repository are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License ](LICENSE-CC-Attribution-NonCommercial-ShareAlike-4.0-International.txt )