# 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)](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 | | [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 | ## 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) - 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 ## 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)