Skip to content

Instantly share code, notes, and snippets.

@johnschimmel
Last active November 25, 2023 21:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save johnschimmel/bd041c66bcfbbd7d6039a7e5d193987d to your computer and use it in GitHub Desktop.
Save johnschimmel/bd041c66bcfbbd7d6039a7e5d193987d to your computer and use it in GitHub Desktop.
Biobidet BB-2000 remote control commands

Button codes

Button (row/col) ENCODING CODE
STOP (1/1) NEC 0xFCFE8000
Posterior Wash (1/2) NEC 0xFCFE4008
F Wash (1/3) NEC 0xFCFEC0C0
Dry wash area (1/4) NEC 0xFCFE2040
Vortex wash ? (2/1) NEC 0xFCFEA0D0
Retract/Nozzle shower (2/2) NEC stopped: FCFEE000
Oscillate during posterior wash(2/2) NEC 0xFCFEE008
Oscillate during fem wash (2/2) NEC 0xFCFEE0C0
Oscillate during vortex(2/2) NEC 0xFCFEE0D0
Auto (2/3) NEC 0xFCFE6099
deodorize ? (2/4) NEC off: 0xFCFE0800 on: 0xFCFE0801
water temperature (3/2) NEC 0xFCFE7800
Down NEC 0xFCFE2400
Seat Temp (4/2) NEC 0xFCFEB800
Up NEC 0xFCFE2400
SAVE (5/4) NEC 0xFCFE1401

remote control manual screenshot

Full codes

Stop []

Encoding  : NEC
Code      : FCFE8001 (32 bits)
Timing[145]: 
     +9050, -4400     + 700, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 700, -1600     + 750, -1650     + 650, - 550
     + 650, - 500     + 700, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 650, -1650     + 650, -1650     + 700, -1600
     + 650, - 550     + 700, -1600     + 700, - 500     + 700, - 500
     + 650, - 500     + 650, - 550     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 550
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 700, -1650     + 650, -1650     + 650, - 550     + 650, - 500
     + 700, - 500     + 650, - 550     + 650, - 500     + 700, -1600
     + 700, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 650, - 550     + 700, - 500     + 650, - 550     + 650, - 500
     + 700, - 500     + 700, -1600     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 700, -1650     + 650, - 500     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 550
     + 650
unsigned int  rawData[145] = {9050,4400, 700,1650, 650,1650, 650,1650, 650,1650, 700,1600, 750,1650, 650,550, 650,500, 700,1650, 650,1650, 650,1650, 650,1650, 650,1650, 650,1650, 700,1600, 650,550, 700,1600, 700,500, 700,500, 650,500, 650,550, 700,500, 650,550, 650,500, 700,500, 650,550, 650,550, 650,500, 700,500, 650,550, 650,500, 700,1650, 650,1650, 650,550, 650,500, 700,500, 650,550, 650,500, 700,1600, 700,500, 700,500, 650,550, 650,500, 650,550, 700,500, 650,550, 650,500, 700,500, 700,1600, 700,500, 650,550, 650,500, 700,500, 700,500, 650,550, 650,500, 700,500, 700,500, 650,550, 650,500, 700,500, 650,550, 650,500, 700,1650, 650,500, 700,500, 650,550, 650,500, 700,500, 700,500, 650,550, 650};  // NEC FCFE8001
unsigned int  data = 0xFCFE8001;

Button Row 1 Col 2 (w)

Encoding  : NEC
Code      : FCFE4019 (32 bits)
Timing[145]: 
     +9700, -3750     + 700, -1600     + 700, -1650     + 650, -1650
     + 650, -1650     + 650, -1650     + 650, -1650     + 700, - 500
     + 650, - 550     + 650, -1650     + 650, -1650     + 650, -1650
     + 700, -1600     + 700, -1600     + 650, -1650     + 700, -1650
     + 650, - 500     + 700, - 500     + 700, -1600     + 650, - 550
     + 650, - 550     + 650, - 500     + 700, - 500     + 650, - 550
     + 650, - 550     + 650, - 500     + 700, - 500     + 700, - 500
     + 650, -1650     + 650, -1650     + 700, - 500     + 650, - 500
     + 650, -1700     + 650, -1650     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 500     + 700, -1650
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 550
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 650, - 550     + 700, -1600     + 700, - 500     + 700, - 500
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 500     + 700, -1650     + 650, - 500     + 650, - 550
     + 700, -1600     + 650, -1650     + 650, - 550     + 650, - 550
     + 650, -1650     + 700, - 500     + 650, - 500     + 650, - 550
     + 700, - 500     + 650, - 550     + 650, - 500     + 650, - 550
     + 700
unsigned int  rawData[145] = {9700,3750, 700,1600, 700,1650, 650,1650, 650,1650, 650,1650, 650,1650, 700,500, 650,550, 650,1650, 650,1650, 650,1650, 700,1600, 700,1600, 650,1650, 700,1650, 650,500, 700,500, 700,1600, 650,550, 650,550, 650,500, 700,500, 650,550, 650,550, 650,500, 700,500, 700,500, 650,1650, 650,1650, 700,500, 650,500, 650,1700, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,500, 700,1650, 650,500, 700,500, 650,550, 650,550, 650,500, 700,500, 650,550, 650,500, 650,550, 700,1600, 700,500, 700,500, 650,550, 650,500, 650,550, 650,550, 650,500, 700,1650, 650,500, 650,550, 700,1600, 650,1650, 650,550, 650,550, 650,1650, 700,500, 650,500, 650,550, 700,500, 650,550, 650,500, 650,550, 700};  // NEC FCFE4019
unsigned int  data = 0xFCFE4019;

Button Row 1 Col 3

Encoding  : NEC
Code      : FCFEC0C1 (32 bits)
Timing[145]: 
     +9050, -4450     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 700, -1600     + 650, -1650     + 700, - 500
     + 650, - 550     + 650, -1650     + 650, -1650     + 700, -1600
     + 650, -1650     + 700, -1650     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, -1650     + 650, -1650     + 650, - 550
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 700, - 500     + 700, -1600     + 650, -1650     + 700, - 500
     + 700, - 500     + 650, - 550     + 650, - 500     + 700, - 500
     + 650, -1650     + 700, -1600     + 650, - 550     + 700, - 500
     + 650, - 550     + 650, - 500     + 700, - 500     + 650, -1650
     + 650, - 550     + 650, - 550     + 650, - 500     + 650, - 550
     + 700, - 500     + 650, - 550     + 650, - 500     + 650, - 550
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, - 500
     + 700, - 500     + 650, - 550     + 650, - 550     + 600, - 550
     + 700, - 500     + 650, -1650     + 650, - 550     + 650, -1650
     + 700, - 500     + 650, - 500     + 700, - 500     + 650, - 550
     + 650, -1650     + 650, - 550     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 500     + 700, - 500
     + 650
unsigned int  rawData[145] = {9050,4450, 650,1650, 650,1650, 650,1650, 650,1650, 700,1600, 650,1650, 700,500, 650,550, 650,1650, 650,1650, 700,1600, 650,1650, 700,1650, 650,1650, 650,1650, 650,550, 650,1650, 650,1650, 650,550, 650,500, 700,500, 650,550, 650,500, 700,500, 700,1600, 650,1650, 700,500, 700,500, 650,550, 650,500, 700,500, 650,1650, 700,1600, 650,550, 700,500, 650,550, 650,500, 700,500, 650,1650, 650,550, 650,550, 650,500, 650,550, 700,500, 650,550, 650,500, 650,550, 650,550, 650,1650, 650,550, 650,500, 700,500, 650,550, 650,550, 600,550, 700,500, 650,1650, 650,550, 650,1650, 700,500, 650,500, 700,500, 650,550, 650,1650, 650,550, 650,550, 650,500, 650,550, 650,550, 650,500, 700,500, 650};  // NEC FCFEC0C1
unsigned int  data = 0xFCFEC0C1;

Button Row 1 Col 4 (*)

Encoding  : NEC
Code      : FCFE2041 (32 bits)
Timing[145]: 
     +9000, -4450     + 650, -1650     + 650, -1650     + 700, -1600
     + 700, -1600     + 700, -1600     + 650, -1700     + 650, - 500
     + 700, - 500     + 700, -1600     + 650, -1650     + 700, -1650
     + 650, -1650     + 650, -1650     + 650, -1650     + 650, -1650
     + 700, - 500     + 650, - 550     + 650, - 500     + 700, -1600
     + 650, - 550     + 650, - 550     + 650, - 550     + 650, - 500
     + 650, - 550     + 700, - 500     + 650, -1650     + 650, - 550
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 550
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 500
     + 650, - 550     + 700, - 500     + 650, - 500     + 700, -1650
     + 650, -1650     + 650, - 550     + 650, - 500     + 700, - 500
     + 650, - 550     + 650, - 500     + 650, - 550     + 700, - 500
     + 650, - 550     + 650, - 500     + 650, -1700     + 650, - 500
     + 700, - 500     + 650, - 550     + 650, - 500     + 700, - 500
     + 650, - 550     + 650, -1650     + 700, - 500     + 650, -1650
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, - 500     + 700, - 500     + 650, - 550
     + 650, - 500     + 650, - 550     + 700, - 500     + 650, - 550
     + 650
unsigned int  rawData[145] = {9000,4450, 650,1650, 650,1650, 700,1600, 700,1600, 700,1600, 650,1700, 650,500, 700,500, 700,1600, 650,1650, 700,1650, 650,1650, 650,1650, 650,1650, 650,1650, 700,500, 650,550, 650,500, 700,1600, 650,550, 650,550, 650,550, 650,500, 650,550, 700,500, 650,1650, 650,550, 650,500, 700,500, 700,500, 650,550, 650,1650, 650,1650, 650,550, 650,500, 650,550, 700,500, 650,500, 700,1650, 650,1650, 650,550, 650,500, 700,500, 650,550, 650,500, 650,550, 700,500, 650,550, 650,500, 650,1700, 650,500, 700,500, 650,550, 650,500, 700,500, 650,550, 650,1650, 700,500, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,550, 650,500, 700,500, 650,550, 650,500, 650,550, 700,500, 650,550, 650};  // NEC FCFE2041
unsigned int  data = 0xFCFE2041;

Button Row 2 Col 1

Encoding  : NEC
Code      : FCFEA0D1 (32 bits)
Timing[145]: 
     +9000, -4450     + 650, -1650     + 650, -1650     + 650, -1700
     + 600, -1700     + 600, -1700     + 650, -1650     + 650, - 550
     + 600, - 550     + 650, -1700     + 600, -1700     + 650, -1650
     + 600, -1700     + 600, -1700     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, -1650
     + 650, - 550     + 650, - 550     + 600, - 550     + 650, - 550
     + 600, - 600     + 600, -1700     + 600, -1700     + 650, - 550
     + 600, -1700     + 600, - 600     + 600, - 550     + 650, - 550
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 550
     + 600, -1700     + 600, -1700     + 650, - 550     + 600, - 600
     + 600, - 550     + 650, - 550     + 650, - 550     + 600, - 600
     + 600, - 550     + 650, - 550     + 600, - 600     + 600, - 550
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, - 550
     + 600, - 550     + 650, - 550     + 650, - 550     + 650, - 550
     + 600, - 550     + 650, -1700     + 600, -1700     + 600, -1700
     + 600, - 600     + 600, - 550     + 650, -1650     + 650, -1700
     + 600, - 550     + 650, - 550     + 650, - 550     + 600, - 550
     + 650, - 550     + 650, - 550     + 600, - 600     + 600, - 550
     + 650
unsigned int  rawData[145] = {9000,4450, 650,1650, 650,1650, 650,1700, 600,1700, 600,1700, 650,1650, 650,550, 600,550, 650,1700, 600,1700, 650,1650, 600,1700, 600,1700, 650,1650, 650,1650, 650,550, 650,1650, 650,550, 650,1650, 650,550, 650,550, 600,550, 650,550, 600,600, 600,1700, 600,1700, 650,550, 600,1700, 600,600, 600,550, 650,550, 650,1650, 650,1650, 650,550, 650,550, 600,1700, 600,1700, 650,550, 600,600, 600,550, 650,550, 650,550, 600,600, 600,550, 650,550, 600,600, 600,550, 650,550, 650,1650, 650,550, 650,550, 600,550, 650,550, 650,550, 650,550, 600,550, 650,1700, 600,1700, 600,1700, 600,600, 600,550, 650,1650, 650,1700, 600,550, 650,550, 650,550, 600,550, 650,550, 650,550, 600,600, 600,550, 650};  // NEC FCFEA0D1
unsigned int  data = 0xFCFEA0D1;

Button Row 2 Col 2 (<< -- >>)

if stopped

Encoding  : NEC
Code      : FCFEE001 (32 bits)
Timing[145]: 
     +9000, -4450     + 600, -1700     + 600, -1700     + 650, -1650
     + 650, -1650     + 650, -1650     + 650, -1700     + 600, - 550
     + 650, - 550     + 650, -1650     + 650, -1650     + 650, -1700
     + 600, -1700     + 600, -1700     + 600, -1700     + 600, -1700
     + 650, - 550     + 600, -1700     + 600, -1700     + 650, -1650
     + 650, - 550     + 600, - 600     + 600, - 550     + 650, - 550
     + 650, - 550     + 600, - 600     + 600, - 550     + 650, - 550
     + 650, - 550     + 600, - 600     + 600, - 550     + 650, - 550
     + 600, -1700     + 650, -1650     + 650, - 550     + 600, - 600
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 550     + 600, - 550
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, - 550
     + 650, - 500     + 650, - 550     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, -1650     + 650, -1650
     + 650, -1650     + 650, -1700     + 650, - 500     + 650, -1650
     + 650, - 550     + 650, - 550     + 600, - 600     + 650, - 500
     + 650, - 550     + 600, - 600     + 650, - 500     + 650, - 550
     + 650
unsigned int  rawData[145] = {9000,4450, 600,1700, 600,1700, 650,1650, 650,1650, 650,1650, 650,1700, 600,550, 650,550, 650,1650, 650,1650, 650,1700, 600,1700, 600,1700, 600,1700, 600,1700, 650,550, 600,1700, 600,1700, 650,1650, 650,550, 600,600, 600,550, 650,550, 650,550, 600,600, 600,550, 650,550, 650,550, 600,600, 600,550, 650,550, 600,1700, 650,1650, 650,550, 600,600, 650,1650, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,550, 650,500, 650,550, 650,550, 650,550, 600,550, 650,550, 650,1650, 650,550, 650,550, 650,500, 650,550, 650,550, 650,500, 650,550, 650,550, 650,1650, 650,1650, 650,1650, 650,1700, 650,500, 650,1650, 650,550, 650,550, 600,600, 650,500, 650,550, 600,600, 650,500, 650,550, 650};  // NEC FCFEE001
unsigned int  data = 0xFCFEE001;

if running

Encoding  : NEC
Code      : FCFEE001 (32 bits)
Timing[145]: 
     +9000, -4450     + 650, -1650     + 650, -1700     + 650, -1650
     + 650, -1650     + 650, -1650     + 650, -1650     + 650, - 550
     + 600, - 600     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 650, -1650     + 650, -1700     + 600, -1700
     + 650, - 500     + 650, -1700     + 650, -1650     + 600, -1700
     + 650, - 550     + 600, - 550     + 650, - 550     + 600, - 600
     + 600, - 600     + 600, - 550     + 650, - 550     + 600, - 600
     + 600, - 550     + 650, - 550     + 650, - 550     + 600, - 600
     + 600, -1700     + 600, -1700     + 650, - 550     + 600, - 550
     + 650, -1700     + 600, -1700     + 650, - 500     + 650, - 550
     + 650, - 550     + 600, - 600     + 600, - 550     + 650, - 550
     + 650, - 550     + 600, - 600     + 600, - 550     + 650, - 550
     + 600, - 600     + 600, -1700     + 600, - 600     + 600, - 550
     + 650, - 550     + 650, - 550     + 600, - 550     + 650, - 550
     + 650, - 550     + 600, - 600     + 600, -1700     + 650, -1650
     + 600, -1700     + 650, -1650     + 650, - 550     + 600, -1700
     + 650, - 550     + 600, - 600     + 600, - 550     + 650, - 550
     + 650, - 550     + 600, - 600     + 600, - 550     + 650, - 550
     + 600
unsigned int  rawData[145] = {9000,4450, 650,1650, 650,1700, 650,1650, 650,1650, 650,1650, 650,1650, 650,550, 600,600, 650,1650, 650,1650, 650,1650, 650,1650, 650,1650, 650,1700, 600,1700, 650,500, 650,1700, 650,1650, 600,1700, 650,550, 600,550, 650,550, 600,600, 600,600, 600,550, 650,550, 600,600, 600,550, 650,550, 650,550, 600,600, 600,1700, 600,1700, 650,550, 600,550, 650,1700, 600,1700, 650,500, 650,550, 650,550, 600,600, 600,550, 650,550, 650,550, 600,600, 600,550, 650,550, 600,600, 600,1700, 600,600, 600,550, 650,550, 650,550, 600,550, 650,550, 650,550, 600,600, 600,1700, 650,1650, 600,1700, 650,1650, 650,550, 600,1700, 650,550, 600,600, 600,550, 650,550, 650,550, 600,600, 600,550, 650,550, 600};  // NEC FCFEE001
unsigned int  data = 0xFCFEE001;

Button Row 2 Col 3 (auto)

Encoding  : NEC
Code      : FCFE6099 (32 bits)
Timing[145]: 
     +9050, -4400     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 650, -1700     + 650, -1650     + 650, - 500
     + 650, - 550     + 650, -1650     + 650, -1650     + 650, -1700
     + 650, -1650     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, - 550     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 500     + 700, -1650     + 650, - 500     + 650, - 550
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 550
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 550
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 500     + 650, - 550
     + 650, -1650     + 650, - 550     + 650, - 550     + 600, - 550
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, - 500     + 650, -1650     + 650, -1700
     + 650, -1650     + 650, -1650     + 650, -1650     + 600, -1700
     + 650, - 550     + 650, - 550     + 650, - 500     + 650, - 550
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650
unsigned int  rawData[145] = {9050,4400, 650,1650, 650,1650, 650,1650, 650,1650, 650,1700, 650,1650, 650,500, 650,550, 650,1650, 650,1650, 650,1700, 650,1650, 650,1650, 650,1650, 650,1650, 650,550, 650,550, 650,1650, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,500, 700,1650, 650,500, 650,550, 650,1650, 650,1650, 650,550, 650,550, 650,1650, 650,1650, 650,550, 650,550, 650,1650, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,500, 650,550, 650,1650, 650,550, 650,550, 600,550, 650,550, 650,1650, 650,550, 650,550, 650,550, 650,500, 650,550, 650,550, 650,550, 650,500, 650,1650, 650,1700, 650,1650, 650,1650, 650,1650, 600,1700, 650,550, 650,550, 650,500, 650,550, 650,550, 650,500, 650,550, 650,550, 650};  // NEC FCFE6099
unsigned int  data = 0xFCFE6099;

Button Row 2 Col 4 ([[///]])

Encoding  : NEC
Code      : FCFE08D9 (32 bits)
Timing[145]: 
     +9050, -4450     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 700, -1600     + 650, -1650     + 700, - 500
     + 650, - 550     + 650, -1650     + 650, -1650     + 700, -1600
     + 650, -1650     + 700, -1600     + 700, -1650     + 650, -1650
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 550
     + 650, - 500     + 700, -1600     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, -1650     + 650, -1650     + 650, - 550
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 500
     + 700, -1650     + 650, -1650     + 650, - 500     + 700, - 500
     + 700, - 500     + 650, - 500     + 650, - 550     + 650, -1650
     + 700, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 500     + 700, - 500
     + 700, - 500     + 650, -1650     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 550     + 650, - 500
     + 650, - 550     + 700, - 500     + 650, -1650     + 650, - 550
     + 650, -1650     + 650, - 500     + 700, -1650     + 650, - 500
     + 700, -1600     + 650, - 550     + 700, - 500     + 650, - 550
     + 650, - 500     + 650, - 550     + 700, - 500     + 650, - 500
     + 700
unsigned int  rawData[145] = {9050,4450, 650,1650, 650,1650, 650,1650, 650,1650, 700,1600, 650,1650, 700,500, 650,550, 650,1650, 650,1650, 700,1600, 650,1650, 700,1600, 700,1650, 650,1650, 650,500, 700,500, 650,550, 650,550, 650,500, 700,1600, 650,550, 650,550, 650,550, 650,1650, 650,1650, 650,550, 650,1650, 650,1650, 650,550, 650,500, 700,1650, 650,1650, 650,500, 700,500, 700,500, 650,500, 650,550, 650,1650, 700,500, 700,500, 650,550, 650,500, 650,550, 650,550, 650,500, 700,500, 700,500, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,550, 650,500, 650,550, 700,500, 650,1650, 650,550, 650,1650, 650,500, 700,1650, 650,500, 700,1600, 650,550, 700,500, 650,550, 650,500, 650,550, 700,500, 650,500, 700};  // NEC FCFE08D9
unsigned int  data = 0xFCFE08D9;

Button Row 3 Col 2 (thermometer)

Encoding  : NEC
Code      : FCFE7801 (32 bits)
Timing[145]: 
     +9050, -4450     + 650, -1650     + 650, -1650     + 650, -1650
     + 700, -1600     + 650, -1650     + 650, -1650     + 700, - 500
     + 700, - 500     + 650, -1650     + 700, -1600     + 650, -1650
     + 700, -1650     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, - 550     + 650, -1650     + 650, -1650
     + 650, -1650     + 650, -1650     + 700, - 500     + 650, - 500
     + 700, - 500     + 700, - 500     + 700, - 500     + 650, - 500
     + 700, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 700, -1650     + 650, -1650     + 650, - 500     + 700, - 500
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, - 500
     + 700, - 500     + 700, - 500     + 650, - 550     + 650, - 500
     + 700, - 500     + 650, - 550     + 650, - 550     + 650, - 500
     + 700, - 500     + 700, -1600     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 550
     + 650, - 500     + 650, -1700     + 650, - 500     + 650, -1650
     + 700, -1650     + 650, - 500     + 700, -1600     + 700, -1650
     + 650, - 500     + 650, - 550     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 500
     + 700
unsigned int  rawData[145] = {9050,4450, 650,1650, 650,1650, 650,1650, 700,1600, 650,1650, 650,1650, 700,500, 700,500, 650,1650, 700,1600, 650,1650, 700,1650, 650,1650, 650,1650, 650,1650, 650,550, 650,550, 650,1650, 650,1650, 650,1650, 650,1650, 700,500, 650,500, 700,500, 700,500, 700,500, 650,500, 700,500, 700,500, 650,550, 650,500, 700,1650, 650,1650, 650,500, 700,500, 650,550, 650,1650, 650,550, 650,500, 700,500, 700,500, 650,550, 650,500, 700,500, 650,550, 650,550, 650,500, 700,500, 700,1600, 700,500, 650,550, 650,500, 700,500, 700,500, 650,550, 650,500, 650,1700, 650,500, 650,1650, 700,1650, 650,500, 700,1600, 700,1650, 650,500, 650,550, 700,500, 650,550, 650,500, 700,500, 700,500, 650,500, 700};  // NEC FCFE7801
unsigned int  data = 0xFCFE7801;`

Button 4 Col 1 (down)

while in operation

Encoding  : NEC
Code      : FCFE2400 (32 bits)
Timing[145]: 
     +9050, -4450     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 700, -1600     + 700, -1600     + 700, - 500
     + 700, - 500     + 650, -1650     + 650, -1650     + 700, -1600
     + 700, -1600     + 700, -1600     + 700, -1650     + 650, -1650
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, -1650
     + 650, - 550     + 650, - 500     + 700, -1650     + 650, - 500
     + 700, - 500     + 700, - 500     + 650, - 500     + 700, - 500
     + 700, - 500     + 650, - 550     + 650, - 500     + 700, - 500
     + 700, - 500     + 650, -1650     + 650, - 550     + 650, - 500
     + 700, -1650     + 650, -1650     + 650, - 500     + 700, - 500
     + 700, - 500     + 650, - 550     + 650, - 500     + 700, - 500
     + 700, - 500     + 650, - 500     + 700, - 500     + 700, - 500
     + 650, - 550     + 650, - 500     + 700, - 500     + 700, - 500
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 550
     + 650, - 500     + 700, -1650     + 650, -1650     + 650, - 500
     + 700, -1650     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 700, - 500     + 650, - 550     + 650, - 500
     + 700, - 500     + 650, - 550     + 650, - 500     + 700, - 500
     + 700
unsigned int  rawData[145] = {9050,4450, 650,1650, 650,1650, 650,1650, 650,1650, 700,1600, 700,1600, 700,500, 700,500, 650,1650, 650,1650, 700,1600, 700,1600, 700,1600, 700,1650, 650,1650, 650,500, 700,500, 700,500, 650,1650, 650,550, 650,500, 700,1650, 650,500, 700,500, 700,500, 650,500, 700,500, 700,500, 650,550, 650,500, 700,500, 700,500, 650,1650, 650,550, 650,500, 700,1650, 650,1650, 650,500, 700,500, 700,500, 650,550, 650,500, 700,500, 700,500, 650,500, 700,500, 700,500, 650,550, 650,500, 700,500, 700,500, 650,500, 700,500, 700,500, 650,550, 650,500, 700,1650, 650,1650, 650,500, 700,1650, 650,1650, 650,1650, 650,1650, 650,1650, 700,500, 650,550, 650,500, 700,500, 650,550, 650,500, 700,500, 700};  // NEC FCFE2400
unsigned int  data = 0xFCFE2400;

Button Row 4 Col 2 (F)

Encoding  : NEC
Code      : FCFEB801 (32 bits)
Timing[145]: 
     +9000, -4450     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1700     + 650, -1650     + 650, -1650     + 650, - 550
     + 650, - 500     + 650, -1700     + 600, -1700     + 650, -1650
     + 650, -1650     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, -1650
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, - 500     + 650, - 550     + 600, - 600
     + 650, -1650     + 650, -1650     + 650, - 550     + 650, - 550
     + 600, -1700     + 650, -1650     + 650, - 550     + 600, - 550
     + 650, - 550     + 650, - 550     + 650, - 550     + 600, - 550
     + 650, - 550     + 650, - 550     + 650, - 500     + 650, - 550
     + 650, - 550     + 650, -1650     + 650, - 550     + 650, - 550
     + 600, - 550     + 650, - 550     + 650, - 550     + 650, - 500
     + 650, - 550     + 650, - 550     + 650, - 550     + 650, -1650
     + 650, - 550     + 600, -1700     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650
unsigned int  rawData[145] = {9000,4450, 650,1650, 650,1650, 650,1650, 650,1700, 650,1650, 650,1650, 650,550, 650,500, 650,1700, 600,1700, 650,1650, 650,1650, 650,1650, 650,1650, 650,1650, 650,550, 650,1650, 650,550, 650,1650, 650,1650, 650,1650, 650,550, 650,550, 650,550, 650,500, 650,550, 650,550, 650,550, 650,500, 650,550, 600,600, 650,1650, 650,1650, 650,550, 650,550, 600,1700, 650,1650, 650,550, 600,550, 650,550, 650,550, 650,550, 600,550, 650,550, 650,550, 650,500, 650,550, 650,550, 650,1650, 650,550, 650,550, 600,550, 650,550, 650,550, 650,500, 650,550, 650,550, 650,550, 650,1650, 650,550, 600,1700, 650,1650, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,550, 650,500, 650,550, 650,550, 650};  // NEC FCFEB801
unsigned int  data = 0xFCFEB801;

Button Row 5 Col 4 (save)

Encoding  : NEC
Code      : FCFE1401 (32 bits)
Timing[145]: 
     +9050, -4450     + 600, -1700     + 650, -1650     + 650, -1650
     + 650, -1650     + 650, -1650     + 700, -1600     + 700, - 500
     + 650, - 550     + 650, -1650     + 700, -1600     + 650, -1650
     + 700, -1600     + 650, -1700     + 650, -1650     + 650, -1650
     + 650, - 550     + 650, - 500     + 700, - 500     + 650, - 550
     + 650, -1650     + 650, - 550     + 650, -1650     + 650, - 550
     + 650, - 500     + 700, - 500     + 700, - 500     + 650, - 500
     + 700, - 500     + 650, - 550     + 650, - 550     + 650, - 500
     + 700, -1650     + 650, -1650     + 650, - 500     + 650, - 550
     + 650, -1650     + 700, -1600     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, - 500     + 650, - 550     + 700, - 500
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 550     + 650, -1650     + 650, - 500     + 700, - 500
     + 650, - 550     + 650, - 500     + 650, - 550     + 700, - 500
     + 650, - 550     + 650, -1650     + 650, -1650     + 650, -1650
     + 650, -1650     + 700, -1600     + 650, -1700     + 650, -1650
     + 650, - 550     + 650, - 500     + 650, - 550     + 650, - 550
     + 650, - 500     + 700, - 500     + 650, - 550     + 650, - 550
     + 650
unsigned int  rawData[145] = {9050,4450, 600,1700, 650,1650, 650,1650, 650,1650, 650,1650, 700,1600, 700,500, 650,550, 650,1650, 700,1600, 650,1650, 700,1600, 650,1700, 650,1650, 650,1650, 650,550, 650,500, 700,500, 650,550, 650,1650, 650,550, 650,1650, 650,550, 650,500, 700,500, 700,500, 650,500, 700,500, 650,550, 650,550, 650,500, 700,1650, 650,1650, 650,500, 650,550, 650,1650, 700,1600, 650,550, 650,550, 650,550, 650,500, 650,550, 700,500, 650,550, 650,500, 650,550, 650,550, 650,550, 650,1650, 650,500, 700,500, 650,550, 650,500, 650,550, 700,500, 650,550, 650,1650, 650,1650, 650,1650, 650,1650, 700,1600, 650,1700, 650,1650, 650,550, 650,500, 650,550, 650,550, 650,500, 700,500, 650,550, 650,550, 650};  // NEC FCFE1401
unsigned int  data = 0xFCFE1401;
//------------------------------------------------------------------------------
// Include the IRremote library header
//
#include <IRremote.h>
//------------------------------------------------------------------------------
// Tell IRremote which Arduino pin is connected to the IR Receiver (TSOP4838)
//
int recvPin = 2;
IRrecv irrecv(recvPin);
//+=============================================================================
// Configure the Arduino
//
void setup ( )
{
Serial.begin(9600); // Status message will be sent to PC at 9600 baud
irrecv.enableIRIn(); // Start the receiver
}
//+=============================================================================
// Display IR code
//
void ircode (decode_results *results)
{
// Panasonic has an Address
if (results->decode_type == PANASONIC) {
Serial.print(results->address, HEX);
Serial.print(":");
}
// Print Code
Serial.print(results->value, HEX);
}
//+=============================================================================
// Display encoding type
//
void encoding (decode_results *results)
{
switch (results->decode_type) {
default:
case UNKNOWN: Serial.print("UNKNOWN"); break ;
case NEC: Serial.print("NEC"); break ;
case SONY: Serial.print("SONY"); break ;
case RC5: Serial.print("RC5"); break ;
case RC6: Serial.print("RC6"); break ;
case DISH: Serial.print("DISH"); break ;
case SHARP: Serial.print("SHARP"); break ;
case JVC: Serial.print("JVC"); break ;
case SANYO: Serial.print("SANYO"); break ;
case MITSUBISHI: Serial.print("MITSUBISHI"); break ;
case SAMSUNG: Serial.print("SAMSUNG"); break ;
case LG: Serial.print("LG"); break ;
case WHYNTER: Serial.print("WHYNTER"); break ;
case AIWA_RC_T501: Serial.print("AIWA_RC_T501"); break ;
case PANASONIC: Serial.print("PANASONIC"); break ;
case DENON: Serial.print("Denon"); break ;
}
}
//+=============================================================================
// Dump out the decode_results structure.
//
void dumpInfo (decode_results *results)
{
// Check if the buffer overflowed
if (results->overflow) {
Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWBUF");
return;
}
// Show Encoding standard
Serial.print("Encoding : ");
encoding(results);
Serial.println("");
// Show Code & length
Serial.print("Code : ");
ircode(results);
Serial.print(" (");
Serial.print(results->bits, DEC);
Serial.println(" bits)");
}
//+=============================================================================
// Dump out the decode_results structure.
//
void dumpRaw (decode_results *results)
{
// Print Raw data
Serial.print("Timing[");
Serial.print(results->rawlen-1, DEC);
Serial.println("]: ");
for (int i = 1; i < results->rawlen; i++) {
unsigned long x = results->rawbuf[i] * USECPERTICK;
if (!(i & 1)) { // even
Serial.print("-");
if (x < 1000) Serial.print(" ") ;
if (x < 100) Serial.print(" ") ;
Serial.print(x, DEC);
} else { // odd
Serial.print(" ");
Serial.print("+");
if (x < 1000) Serial.print(" ") ;
if (x < 100) Serial.print(" ") ;
Serial.print(x, DEC);
if (i < results->rawlen-1) Serial.print(", "); //',' not needed for last one
}
if (!(i % 8)) Serial.println("");
}
Serial.println(""); // Newline
}
//+=============================================================================
// Dump out the decode_results structure.
//
void dumpCode (decode_results *results)
{
// Start declaration
Serial.print("unsigned int "); // variable type
Serial.print("rawData["); // array name
Serial.print(results->rawlen - 1, DEC); // array size
Serial.print("] = {"); // Start declaration
// Dump data
for (int i = 1; i < results->rawlen; i++) {
Serial.print(results->rawbuf[i] * USECPERTICK, DEC);
if ( i < results->rawlen-1 ) Serial.print(","); // ',' not needed on last one
if (!(i & 1)) Serial.print(" ");
}
// End declaration
Serial.print("};"); //
// Comment
Serial.print(" // ");
encoding(results);
Serial.print(" ");
ircode(results);
// Newline
Serial.println("");
// Now dump "known" codes
if (results->decode_type != UNKNOWN) {
// Some protocols have an address
if (results->decode_type == PANASONIC) {
Serial.print("unsigned int addr = 0x");
Serial.print(results->address, HEX);
Serial.println(";");
}
// All protocols have data
Serial.print("unsigned int data = 0x");
Serial.print(results->value, HEX);
Serial.println(";");
}
}
//+=============================================================================
// The repeating section of the code
//
void loop ( )
{
decode_results results; // Somewhere to store the results
if (irrecv.decode(&results)) { // Grab an IR code
dumpInfo(&results); // Output the results
dumpRaw(&results); // Output the results in RAW format
dumpCode(&results); // Output the results as source code
Serial.println(""); // Blank line between entries
irrecv.resume(); // Prepare for the next value
}
}
/*
* IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
* An IR LED must be connected to Arduino PWM pin 3.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
IRsend irsend;
void setup()
{
}
void loop() {
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0xFCFE1401,32);
delay(40);
}
delay(5000); //5 second delay between each signal burst
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment