Microcontroller controlled Home Entertainment System
This Instructable will take you on my journey to replace my old Netflix/Vudu Bluray player with a PC based entertainment station for my LCD projector. I wanted to be able to access and control Netflix, Hulu, Youtube, Crackle, NBC, ABC, and the Weather Channel using only a simple remote control.
Along the way, I’ll give you the full details you need to replicate this project, but at the same time I’m going to expose you to a very interesting combination of tools which will allow ANY MICROCONTROLLER the ability to take full control of a connected PC to create sophisticated, yet simple PC interfaces and “assistive technology” systems. Read this with your “idea cap” on and I’m betting there are at least a hundred different ways this material could come in handy!
The setup works likes this: (Refer to image two.) My universal remote sends IR signals to my microcontroller. The microcontroller sends commands to control the PC web browser over it’s programming cable either as a mouse or by changing pages depending on what buttons I press on the remote. I’ve seen remotes which are compatible with PC computers as an optional mouse, but this setup is an advanced control system allowing us to send any data/controls to the PC. The system we’re building will allow the remote control to act as mouse and software control with plenty of room for your own enhancements.
Required materials and related links:
- The Pocket Mini Computer w/IR Kit : An “Open Source” micro based on the Propeller: (source)
- A Universal Remote that is Sony Compatible (source)
- A dual-core (or better) Windows based PC
- A USB-A to micro USB cable (source)
- The Propeller Tool
- The AAC Keys “GIDEI” Software
- BASIC3 firmware for the Pocket Mini Computer
- BASIC program TV.BAS for the Pocket Mini Computer
- AAC Keys Home
- General Input Device Emulating Interface (GIDEI) Standard
- Shortcutworld (Chrome Keyboard Shortcuts)
- The Pocket Mini Computer Guide
Assistive Technology Related websites:
Step 1: The Pocket Mini Computer
You might be scratching your head at the requirement of a Pocket Mini Computer.
What’s a Pocket Mini Computer? I’m glad you asked!
The Pocket Mini Computer is an open source “mini computer” design which uses the Parallax Propeller microcontroller as it’s brain. The kit from Propellerpowered.com comes pre-loaded with a retro-style BASIC. The hardware itself is extremely powerful & featured.
Update! August 2014: The original PMC two board kit was upgrade to a new design which is completely compatible with the PMC 2013 used in this project. You can get this kit from Propellerpowered’s Tindie store.
The new kit is easier to build and contains many newly added features.
The Pocket Mini Computer hardware specifications:
- Parallax Propeller Quickstart Board (8 cogs, 32K RAM, 64K EEPROM)
- Improved VGA Output
- Stereo R/L Audio Output
- PS/2 Keyboard/Mouse Input
- Wii(tm) compatible controller connection
- Optional microSD adapter connector
- Optional iR connector
- Experimenter’s port
The Pocket Mini Computer is language compatible with Spin, Assembly (PASM), C, and BASIC.
COLOR BASIC features:
- 4094 available bytes free
- 64 and 256 color modes
- 1 “SIDlike” audio channel
- 127 character re-programmable character set
- plot, line, and box graphics commands
- I/O access commands
- 95+ BASIC Commands, operators, and functions
- SD operating system
- Full screen editor (requires a microSD card.)
- Ability to execute non-basic binary programs
- Extended memory features (requires a 23K256 SRAM chip)
More details about the Pocket Mini Computer can be found on this Wiki.
Schematics and Source Code are available for anyone who wants to “roll their own”.
Step 2: Accessibility Software
Here’s where this project began to take a very interesting turn as I developed it.
Most microcontrollers (Arduino, Propeller, Picaxe, etc) use a serial/USB connection to a computer for programming. You develop the code on a computer which is powerful enough to run the program editor and compiler, then send that code down the serial/USB link to the microcontroller board.
I started looking for ways to reverse the process.
Put the microcontroller in charge of the computer, in other-words, make the tail wag the dog.
As I researched ways of doing this, I discovered there is already a huge area of development here which has been untapped by microcontroller experimenters, AAC (Augmentative and alternative communication) systems are used by the disabled for communication when speech isn’t possible and the GIDEI (General Input Device Emulating Interface) standard. Several organizations have already created amazing software which allows any serial device which applies the GIDEI standard to control a computer system. Quite literally, you can control the entire PC using simple escape sequences and ascii commands.
Today, I’m helping you create a way to control your computer from a microcontroller for the purposes of being entertained, but this same technology could easily be applied to creating accessible devices for those with disabilities.
For more detail: Microcontroller controlled Home Entertainment System