nicFW950 GPIO Diagnostic Console
Added 2025-11-09 20:19:37 +0000 UTCThis firmware enables a diagnostic console over the serial port. After flashing, open a terminal emulator (such as putty) and connect to the COM port of the radio at 115200 baud. It allows a degree of experimentation by probing the GPIO ports.
Use the terminal emulator to send commands:
A-E
Change GPIO Base GPIOA, GPIOB, GPIOC etc..+/-
Change Pin 0 to 15I or i
Change pin to input modeO or o
Change pin to output mode1
Set output pin as HIGH0
Set output pin as LOW
After every key press a status line will be displayed which shows the read status of the pin, so just press any unused key (such as return) to keep polling the input state.
This firmware does not keep track of the on/off switch (I don't even know which one it is yet). So you will need to pull the battery to turn the radio off. Be careful as there's nothing to indicate the device is powered on.
Known pins
PA0 = VOX DETECT
PA1 = BATTERY DETECT
PA2 = SINGLE IN
PA3 = BT UART IN
PA4 = BEEP OUT
PA5 = APC
PA6 = FM RESET
PA7 = V3FM EN
PA8 = GPS ENABLE
PA9 = BLUETOOTH RX
PA10 = BLUETOOTH TX
PA11 = DEVICE POWER OFF
PA12 = SK 4?
PA13 = SW SDA
PA14 = SW CLK
PA15 = REPLAY
PB0 = V3R ENABLE
PB1 = V3T ENABLE
PB2 = V3RX ENNABLE
PB3 = KEYPAD LIGHT
PB4 = EC1
PB5 = EC2
PB6 = SI4732 SCK
PB7 = SI4732 SDA
PB8 = MICROPHONE ENABLE
PB9 = LB POWER ENABLE
PB10 = GPS RX
PB11 = GPS TX
PB12 = FLASH CS
PB13 = FLASH SCK
PB14 = FLASH MISO
PB15 = FLASH MOSI
PC0 = KEYPAD RAS 0
PC1 = KEYPAD RAS 1
PC2 = KEYPAD RAS 2
PC3 = KEYPAD RAS 3
PC4 = RF BAND RELAY??
PC5 = VSW ENABLE
PC6 = LCD BACKLIGHT
PC7 = PTT DETECT
PC8 = SIDEPORT RX DETECT ??
PC9 = SIDEPORT PTT ??
PC10 = UART TX
PC11 = UART RX
PX12 = BEEP SW
PC13 = RED LED
PC14 = GREEN LED
PC15 = SIDEPORT EXTERNAL SPEAKER DETECTED ??
PD0 = LCD SDA
PD1 = LCD CS
PD2 = LCD RESET
PD3 = LCD RS
PD4 = KEYPAD CAS 3
PD5 = KEYPAD CAS 2
PD6 = KEYPAD CAS 1
PD7 = KEYPAD CAS 0
PD8 TO PD15 = PARALLEL DATA LINES TO LCD
PE0 = POWER SWITCH
PE1 = SPEAKER MUTE
PE2 = PTT 2
PE3 = PTT
PE4 = POWER AMP ENABLE
PE5 = SIDE KEY 1
PE6 = EXTERNAL PTT
PE7 = U3T EN
PE8 = BK4819 SEN1
PE9 = SW TO BT ??
PE10 = BK4819 SCK
PE11 = BK4819 SDA
PE12 = U3R ENABLE
PE13 = U6R ENABLE
PE14 = SW3T ENABLE
PE15 = BK4819 SEN2
Steer clear of PC10 and PC11 as these are the serial port TX and RX, if you futz with them you'll mess up the serial link.