The Model I combined the mainboard and keyboard into one unit, although it had a separate power supply unit. It used a Zilog Z80 processor clocked at 1.77 MHz (later models were shipped with a Z80A). The basic model originally shipped with 4 KB of RAM, and later 16 KB.
Many users complained about the TRS-80 keyboards, which used mechanical switches and suffered from "Keyboard Bounce", resulting in multiple letters being typed accidentally. A Keyboard De-Bounce tape was distributed as a software solution, causing key contact closures to be ignored if they were detected within a short time of a contact opening, and slowing down polling of the keyboard. Eventually, this was added to a later ROM revision. The keyboard hardware was also changed to be less vulnerable to bounce.
The TRS-80 was accompanied by a white-on-black display, which was a modified RCA XL-100 black and white television. The actual color of the system was light bluish (the standard "P4" phosphor used in black-and white televisions).
The video hardware could only display text at 64 or 32 characters wide by 16 lines of resolution. This was because the video memory system used a single kilobyte of video memory. Seven of the bits of each byte were used to display ASCII characters, with the eighth bit used to differentiate between text and "semigraphics" characters.
Primitive graphics ("text semigraphics," rather than a true bitmap) could be displayed because the upper 64 characters of the 128 character set displayed as a grid of 2×3 blocks (very similar to Teletext). BASIC routines were provided which could write directly to this virtual 128×48 grid.
The original TRS-80 Model I could not differentiate between upper and lower characters in display memory. With only 7 1-bit-wide memory chips, the 8th bit was faked by circuitry that forced uppercase characters. The actual display hardware did have lowercase letters, but without descenders. In order to display the lower case properly on the Model I, one had to solder or clip an eighth memory chip onto the back of one of the existing seven video RAM chips, and then bend up a pin to tap an address line off the system bus. This modification became a popular third-party add-on, along with a character chip with descenders for the lowercase letters.
Any access to the screen memory, either by writing to it using the BASIC statement PRINT or accessing the screen memory directly, caused "flicker" on the screen. The bus arbitration logic would block video display while access was given to the CPU, causing a short black line. This had little effect on normal BASIC programs, but fast programs made in assembly language could be affected if the programmer didn't take it into consideration. Many software authors were able to minimize this effect. Notwithstanding this primitive display hardware, many arcade-style games were available for the Tandy TRS-80.
One major drawback of the Model I was the massive RF interference it caused in surrounding electronics. This became a problem when it was determined to violate FCC regulations, leading to the Model I's phase out in favor of the new Model III.
Source: Wikipedia, "TRS-80", available under the CC-BY-SA License.