USB Keyboard over RS-485 ======================== The project is to have a device that appears to a computer as a USB keyboard, but it receives it's key presses from another computer via an RS-485 multidrop bus. It will use the Syote library for communications, and as there can be multiple devices on the bus, a single gateway controller can service multiple such keyboards, making it a nice option for an IPMI like solution. It is also expected that GPIOs of the device can be used to control the power switches, along with observing various LEDs. As most microcontrollers have an ADC, it could theoretically support beeps from the PC speaker. Devices ------- These are the device that are under conideration for the project: ### STM32F103C8 64KB flash Currently looking at USART3, B0 for DE, B1 for RE. Table 5 pin definitions of stm32f103c8.pdf (all can be remapped) USART has idle line detction USART1_TX PA9 5v tollerant USART1_RX PA10 5v tollerant USART2_TX PA2 NOT 5v tollerant USART2_RX PA3 NOT 5v tollerant USART3_TX PB10 5v tollerant USART3_RX PB11 5v tollerant flash: 0/x boot loader (an2606) pattern 1: 1/0 embedded sram: 1/1 top jumper BOOT0/44 bottom jumper BOOT1/PB2/20 ### MAX485 This requires a 5V VCC. There is a 3.3V part called the MAX3485, but as often micros can be 5V tollerant, and the MAX485 is fine w/ logic levels down to 2V, this should be fine. D - Driver DE Driver enable (high enable) DI Driver input R - Receiver RO Receiver output /RE Receiver enable (low enable)