Closed

Controller Board Development (hobby servos, displays, switches, led, etc)

This project received 25 bids from talented freelancers with an average bid price of $3557 USD.

Get free quotes for a project like this
Employer working
Project Budget
$1500 - $3000 USD
Total Bids
25
Project Description

Development (circuit + PCB design, component selection, firmware development, assembling and testing to provide a working prototype) of a controller board (200mm x 500mm) which could receive commands via the on-board serial port to do the following things:

-Controls the power and position of 128 hobby servos independently (PWM: 500-2500us with 1us resolution). These are standard hobby servo with 3 pins: PWM, 6V, GND. The required refresh rate is 30ms - upon receiving the commands from the serial port (i.e. the host), the controller board shall take less than 30ms to update the independent position of (up to) all 128 servos.

-Controls 128 rgb LEDs independently, 8-bit (256 steps) for each color channel. Upon receiving the commands from the host, the controller board shall take less than 30ms to update (up to) all 128 rgb LEDs' independent color. The rgb LEDs are external modules (128 of them), each complete with resistors and 4 pins: 6V. R, G, B. They are already designed and we could provide samples for your development.

-Controls 128 128x64 [url removed, login to view]" mono OLED displays modules independently. The OLED modules uses the Univision UG-2864HSWEG01 and are configured in 4-wire SPI interface with the chip select (C/S) pin. They are already designed and we could provide samples for your development. The OLEDs are for displaying static graphics and fonts which are stored in the controller's on-board memory. No animation playback required. Upon receiving the commands from the host, the controller board shall take less than 200ms to update the independent content of (up to) all 128 OLEDs. In addition, the host shall be able to upload the static graphics and fonts to the controller's on-board memory via the serial interface.

-Controls 12 speaker channels independently and simultaneously. The controller board shall be equipped with digital amplifiers, driving 12 4ohm 2w speakers, one connected to each channel. It shall be able to start/stop playing mono sound files (mp3 and/or wav is acceptable) independently at each channel, and simultaneously on all channels (i.e. the playback of different files on different channels may be overlapped). There are less than 32 files in total to be stored in the on-board memory, each not exceeding 10 seconds. The required response time (to play/stop each channel) shall be less than 30ms upon receiving commands from the host. In addition, the host shall be able to upload the sound files to the controller's on-board memory.

-Connect to 192 mechanical switches and report each of their activity (i.e. high/low) to the host via the serial interface in real time. The switches shall be independently wired (no matrix) due to the large amount of combination keys. The reporting delay shall be less than 10ms - or as responsive as a typical keyboard experience.

-Connect to 10 scroll wheels (identical to the 3-wires encoder type that found in a typical mouse) and report each of their activity to the host in real time. The reporting delay shall be less than 10ms - or as responsive as a typical mouse experience.

All the servos, RGB LEDs modules, OLED displays modules, speakers and switches are external, connected to the controller board via various sockets. The physical dimensions and layout (sockets/screw holes etc) of the board has already been designed with CAD.

There will be 3 on-board ports for various choices of serial communications: a typical DE9 RS232-C socket, a USB-B Female socket (using the on-board FTDI FT232R chip to communicate with the PC USB port & firmware update), and a USB-A female socket (using the on-board FTDI FT312D chip for connecting to an android device via the AOA protocol).

The controller board connects to a host PC or most likely, an android tablet, which acts as the control interface to all those external devices. A working prototype of the controller board and a simple demonstration software (PC or Android) shall be provided for testing and final evaluation.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online