The RCX is based on the Single-bit Renesas H8/300 microcontroller, including 32 KB of ROM for low-level IO functions, along with 32 KB of RAM to store high-level firmware and user programs. The RCX is programmed by uploading a program using a dedicated infrared interface. After the user uploads a program, the RCX can run it on its own without needing access to a computer. Programs may take use of three sensor input ports and three 9 V output ports, in addition to the IR interface, enabling several RCX bricks to communicate. A built-in LCD can display the battery level, the status of the input/output ports, which program is selected or running, and other information.