Using the Twiddler 4
Using the Twiddler 3
Twiddler Tuner
Typing Tutor
Twiddler Technical
Twiddler Legacy Instructions
Using the Twiddler 4
Using the Twiddler 3
Twiddler Tuner
Typing Tutor
Twiddler Technical
Twiddler Legacy Instructions
This is an old revision of the document!
In the event of product damage, part failure or code issue, the Twiddler will go into an Error state and blink red. Decoding the blinks will allow you to pinpoint the issue.
The first set of blinks are rapid blinks to get your attention. Take note of which LEDs are blinking red, they indicate the type of error that is occuring.
1st pattern – Rapid Flashing indicating type of failure
L1 | L2 | L3 | Error |
---|---|---|---|
RED | Hardware | ||
RED | Software | ||
RED | RED | Bluetooth | |
RED | Initialization | ||
RED | RED | RED | Debug (Developer Only) |
So, if the Twiddler is rapidly blinking L3 (the right most LED) then it is a Hardware Error.
After the type of failure has been indicated, the Twiddler will slowly blink to indicate the failure point.
2nd pattern – Slow Flashing indicating failure point
Hardware (L3)
L1 | L2 | L3 | Failure Point |
---|---|---|---|
R | ERR_HW_I2SINIT | ||
R-R | ERR_HW_I2SINIT | ||
R-R-R | ERR_HW_I2SINIT | ||
R-R-R-R | ERR_HW_I2SINIT |
Software (L2)
L1 | L2 | L3 | Failure Point |
---|---|---|---|
R | ERR_HW_I2SINIT |
Bluetooth (L2 & L3)
L1 | L2 | L3 | Failure Point |
---|---|---|---|
R | ERR_BLE_ADV_START | ||
R-R | ERR_BLE_ADV_PEER_ADDR_REPLY | ||
R-R-R | ERR_BLE_ADV_WHITELIST_REPLY | ||
R | ERR_BLE_PM_ID_LIST | ||
R | R | ERR_BLE_PM_WHITELIST_GET | |
R | R-R | ERR_BLE_PM_WHITELIST_SET | |
R | R-R-R | ERR_BLE_PM_DATA_BONDING_LOAD | |
R | R-R-R-R | ERR_BLE_PM_DEVICE_IDENTITIES_SET | |
R | R-R-R-R-R | ERR_BLE_PM_PEERS_DELETE | |
R-R | ERR_BLE_EVT_GAPCONNECTED_QWR_CONN_HANDLE_ASSIGN | ||
R-R | R | ERR_BLE_EVT_GAP_PHY_REQ_PHY_UPDATE | |
R-R | R-R | ERR_BLE_EVT_GATTC_TIMEOUT_DISCONNECT | |
R-R | R-R-R | ERR_BLE_EVT_GATTS_TIMEOUT_DISCONNECT | |
R-R | R-R-R-R | ERR_BLE_EVT_HIDS_OUTP_REP_GET | |
R-R-R | ERR_BLE_ERRORHANDLER_HIDS | ||
R-R-R | R | ERR_BLE_ERRORHANDLER_PARAMS | |
R-R-R | R-R | ERR_BLE_ERRORHANDLER_NRF_QWR | |
R-R-R | R-R-R | ERR_BLE_ERRORHANDLER_ADV |
Initialization (L1)
L1 | L2 | L3 | Failure Point |
---|---|---|---|
R | ERR_INIT_I2C_INIT | ||
R-R | ERR_INIT_NRF_DRV_CLK_INIT | ||
R-R-R | ERR_INIT_NRF_PWR_MGMT_INIT | ||
R | ERR_INIT_BLE_GAP_NAME_SET | ||
R | R | ERR_INIT_BLE_GAP_APPEARANCE_SET | |
R | R-R | ERR_INIT_BLE_GAP_PCCP_SET | |
R | R-R-R | ERR_INIT_BLE_DIS_INIT | |
R | R-R-R-R | ERR_INIT_BLE_BAS_INIT | |
R | R-R-R-R-R | ERR_INIT_BLE_QWR_INIT | |
R | R | ERR_INIT_BLE_GAP_PARAMS | |
R | R | R | ERR_INIT_BLE_GATT |
R | R | R-R | ERR_INIT_BLE_CONN_PARAMS_INIT |
R | R | R-R-R | ERR_INIT_BLE_HIDS |
R | R | R-R-R-R | ERR_INIT_BLE_ADV_INIT |
R | R | R-R-R-R-R | ERR_INIT_BLE_NRF_SDH_EN_REQ |
R | R-R | ERR_INIT_BLE_NRF_SDH_BLE_DEFAULT_CFG_SET | |
R | R-R | R | ERR_INIT_BLE_NRF_SDH_BLE_EN |
R | R-R | R-R | ERR_INIT_BLE_PM_INIT |
R | R-R | R-R-R | ERR_INIT_BLE_PM_SEC_PARAMS_SET |
R | R-R | R-R-R-R | ERR_INIT_BLE_PM_REGISTER |
R-R | ERR_INIT_APP_USBD_INIT | ||
R-R | R | ERR_INIT_APP_USBD_CLASS_APPEND_MOUSE | |
R-R | R-R | ERR_INIT_APP_USBD_CLASS_APPEND_KB | |
R-R | R-R-R | ERR_INIT_APP_USBD_CLASS_APPEND_MSD | |
R-R | R-R-R-R | ERR_INIT_APP_USBD_CLASS_APPEND_CONSUMER | |
R-R | R-R-R-R-R | ERR_INIT_APP_USBD_POWER_EVTS_EN | |
R-R-R | ERR_INIT_APP_TIMER_INIT | ||
R-R-R | R | ERR_INIT_APP_TIMER_CREATE | |
R-R-R | R-R | ERR_INIT_APP_TIMER_START |