Control the real world with your Propeller. On your desk or across the globe.
Recently,. I wrote an Instructable called, "Connect your projects to the Internet". In that Instructable, I demonstrated the use of Microchip's ENC28J60 chip to connect your Propeller micro-controller to the Internet. This time, I want to carry things to the next step with an easy way to control the "real world" from your project.
We'll be looking at a method to safely connect 110v devices to the Propeller through the use of the x10 firecracker, a device which accepts "serial" data to wirelessly control up to 256 different devices. Later in this instructable, I'll tie the project together with the Microchip ENC28J60 project, propelling it to an Internet controllable system.
Parts List 1 - Propeller Platform board (or equivalent Propeller based board) 1 - E-Net Module (or equivalent ENC28J60 circuit) 1 - A breadboard or PCB. I'll talk about methods for both. 1 - An x10 firecracker kit (Ebay), (X10.com)
1 - A "TC4427CPA" chip (Digikey) 1 - 9pin male dsub connector (Radio Shack) 2 - 10k resistors (Radio Shack) Some hookup wire and a few basic tools.
The Propeller <--> Firecracker Circuit:
The circuit for controlling the x10 Firecracker is surprisingly very simple. This is the perfect project for a beginner, as it involves a single chip and a couple "pull down" resistors.
The x10 firecracker isn't actually a "serial communication" device like a modem, but rather accepts data from the micro-controller by reading bit sequences from the DTR/RTS lines. The Propeller can easily send data on these lines using a TC4427 level-shifter.
Jon McPhalen (Parallax forums) came up with this amazing circuit.
There are a couple different demonstration programs which allow the firecracker module to be controlled by the Propeller using a serial terminal:
Both of these simple demonstration programs are excellent examples of what is possible with a few lines of Propeller Spin code.
Building the circuit:
When I first built my own version of the Firecracker circuit, I assembled it using a simple solderless breadboard.
While solderless breadboards are an excellent method for troubleshooting a circuit, they can also lead to the creation of various problems with loose/broken wires, and miss pinned as well as loose connections. I'd recommend the use of a solder together PCB version. If you are pinning the unit to sit on the Propeller Platform, it's a straightforward build.
Here are the step-by-step instructions for the image below:
Place 8pin socket at J5-J8
Red wire from N2 to H2
Red wire from F2 to F7
Small jumper wire from N4 to M4
Small Jumper wire from M7 to L7
Purple wire from N6 to L6
Purple wire from N8 to L8
10k resistor from M5 to K6
10k resistor from M9 to K8
Wire from M1 to 9pin-5
Wire from F6 to 9pin-4
Wire from F8 to 9pin-7
Solder row of 4 male pins P1-P4
Solder row of 4 (or more) male pins P6-P9
Insert TC4427 facing left
I've added the use of male pin headers to make the board plug into my Gadget Gangster Propeller Platform, as well as a socket for the TC4427 chip.
Testing your Firecracker circuit:
Using the two test programs I provided links to in the first thread, you'll need to adjust the DTR/RTS lines to match your own.
Opening the programs in Propeller Tool, look for the following two lines in the first page of the program and adjust them to:
DTR = 1 RTS = 3
Once you've done that use F10 to send to them to your Propeller and load the Parallax Serial Terminal (Packaged with Propeller Tool.) Jon's test program uses typed commands like, a1on, a2on, a1off, a_bright, and so on. Ron's test program is a bit more interactive, containing both an automated demo as well as step-by-step command ability.
The next step... Internet control of the Firecracker:
The magic behind making this an Internet control project is Harrison Pham's PropTCP which is an MIT licensed object. While you can certainly build your own ENC28J60 circuit, the Open Source E-Net Module is a slick way to get things up and running easily.
You'll also want a copy of Harrison's webserver, modified for use with the x10 firecracker by including Jon McPhalen's object code.
This version of the ENC28J60 webserver runs entirely on the Propeller/E-net/Firecracker combined circuit. I've included code for up to 10 devices on the "A" channel, but can easily be modified to include many, many more.
Setting up the Firecracker as an Internet Server:
Once you've downloaded and extracted the webserver code, adjust the DTR/RTS lines to match your circuit. (Lines 35,36)
Then adjust the IP address, subnet, gateway, and dns lines to your network. (Lines 48-51) (You can obtain the subnet, gateway, and dns using "Command Prompt" and "IPCONFIG /ALL" on any Windows station.)
Optionally, you can change the device names by changing the text in the next DAT section. (Lines 56-65)
Once you've made the adjustment, connect the circuit to your network and access it by http://THE_IP_ADDRESS/x10control.htmlfrom your web browser. You should have the ability to turn on/off any of the 10 devices on x10 "A".
What can be done from here?
1. By creating a port forwarding rule in your router, you can add the ability to control devices in your home/office from the Internet, or quite frankly any Internet capable device.
2. You could easily combine this project with the use of a web camera to stream security footage from your home/office along with the x10 controls. The web server software has a built-in HTML page which could have both additional controls, and camera footage included. (See lines 234-287)
3. You could take this entire project another step further.. Include the use of a sensor to provide temperature data and even thermostat controls. The Propeller spin code for the DS1620 temperature sensor is nearly drop-in with only four connecting wires back to the Propeller.
Hopefully, I've inspired you to some great high-voltage control, safe for both you and your microcontroller!
Develop projects with a QuickStart Board? Here's an easy way to expand it
The Quick Adapter Module adds external power connections, space for a second EEPROM, a beefy voltage regulator, reset switch and makes it easy to expand your project with any Propeller Platform Module;
Features:
Barrel Jack power connector for powering your project with a wall adapter
Screw Terminal power connector for powering your project with a battery pack
Reset switch provides a convenient way to reboot your Propeller
LD1117V50 LDO Voltage Regulator with 1V dropout @ 1A
What's so handy about the Quick Adapter Module? The Quick Adapter Module drops on top your QuickStart board to give you access to a reset switch, external power sources, and a second EEPROM. The larger voltage regulator lets you power peripherals like GPS, ethernet, or small motors. And all the pins are broken out in a Propeller Platform compatible footprint.
Get it free, for a limited time! Pick up any two Propeller Platform modules and get a Quick Adapter module free. Here's how it works: 1. Add the Quick Adapter module to your cart. 2. Then, add two of any Propeller Platform modules to your cart. 3. On your shopping cart, enter the coupon code 'freeqa' (without quotes) and click Apply. The price for the Quick Adapter module will automatically deducted from your total.
A quick look at our newest Propeller Platform Module
Chris designed the 444AVXB as the ultimate robot board. Over at LetsMakeRobots.com, Krumlink posted a quick look on it. He writes...
This board, simply put, is phenomenal. It has everything you need for a robot, or really for most projects. I've been at a standstill past few days, because frankly I don't know how to beat this board. It has everything, I really can't design anything "new" for propeller. Chris really outdid himself here.
While we're excited to help sponsor the Open Hardware Summit this Sept. 15 in NYC, what's more exciting is how many other awesome folks have chipped in!
If you're a fan of Open Hardware, the summit is a great place to hear from like-minded individuals and participate in the future of the Open Hardware. Check out their site to learn more:
Rayman (Propeller Forums) has put together his own Propeller based EKG, complete with custom PCB. The user places his thumbs on the large built-in pads, which allow the circuit to sense the electrical signals produced by heart’s contractions. These small electrical impulses are then amplified using an AD627 instrument amplifier before being further amplified via a dual op-amp.
The Unofficial Gadget Gangster Design Contest has been extended to October 10th.
If you haven't started designing your own open source module for the Propeller Platform, this is a great weekend to start! There are great prizes up for grabs, including a Gadget Gangster Full Kit and Nook Color for the 1st place winner.
At first glance, designing your own module seems overwhelming, but we've got a great list of resources to help you get started:
A quick refresher for creating your own Propeller Platform Modules
The Gadget Gangster Platform is designed to be easily expandable with the modules we've designed and with modules that you design. Below are specs and templates for common PCB Design applications.
If you've designed a module and want to share it, let us know — Just shoot us an email (info@gadgetgangster.com) - we can help you promote it or sell it for you.
DESIGN CONSIDERATIONS
CONNECTIVITY
Platform Modules feature dual connector rows for all pins, and each column should be interconnected. This is because the Platform Module underneath may have sockets on the outer row OR inner row.
We recommend that Platform Modules include all 40 connectors so that other modules can stack on top or below.
POWER
Propeller Platform kits use an ON MC33269T-5.0G LDO for 5v regulation @ 800mA (datasheet) and an ST LD1117V33 LDO Voltage Regulator for 3.3v regulation @ 800mA (datasheet) Both have a dropout of about 1V. Surface Mount Propeller and PICaxe Platforms use an ultra LDO, the ST LD29150DT33R (datasheet) and LD29150DT50R (datasheet). SMT regulators have a dropout of 0.1V @ 100mA, up to 0.5V @ 1.5A. All modules are rated at 12VDC max and use 2.1mm barrel jack power connectors.
The power switch on the Propeller Platform controls the flow of current through the power jack, but NOT Vin. If your Platform Module provides power through Vin, the power switch on the Propeller Platform will not turn it off, so you may want to include a power switch on your module.
Modules that provide power must provide power to both sets of power connectors. Modules that receive power can expect it at either set of power connectors.
DIMENSIONS
We have suggested footprints for Platform Modules, but there are no requirements other than the positioning of pin headers. Stackable modules are limited to .310" height using 3M 2340-6211TG headers. Platform Modules that exceed that height are acceptable, but it should be noted that they are only suitable at the ends of a stack.
There are currently 2 Platform Module footprints:
Longboard
Dimensions 3.8"x2.5", same dimensions as ExpressPCB's Miniboard service Download: PNG || PDF || DIP (Diptrace) || PCB (ExpressPCB)|| Eagle .BRD.LBR.SCH
No logic voltage level is specified. The Propeller Platform operates at CMOS (3.3v) logic voltage levels and is not 5V tolerant. Series resistors in the 1k-100k range are suggested on input pins interfacing with 5V logic voltage levels. PICaxe Platforms operate at 5v logic levels.
PULLUPS & PINS
The Propeller Platform kit includes one 10k? pullup on P29 (SDA) and space for a 1/4W pullup on P28 (SCL). SMT Propeller Platforms have 10k pullups on P0..P3, P29 (SDA) and P28 (SCL). All other pins are floating. Pullups on P0..P3 are for the onboard microSD card slot. Modules that require a pullup on SCL should include an extra 1/4W 10k? resistor in packaging for kit users. The Propeller Platform USB also has a TX / RX connection to an FTDI FT232R USB interface IC on P31 & P30.
LICENSING
These specifications & templates are made available under the terms of the MIT License. Do not include Gadget Gangster Trade Dress or logos on your design without our permission, but you are free to describe your product as "For the Propeller Platform", "For the Gadget Gangster Platform", "Propeller Platform Compatible", or "Gadget Gangster Platform Compatible".
What can be achieved with a single cog and 1.4 kB of hub data?
With the releases of SIDcog, AYcog, and SNEcog, Johannes Ahlebrand (Ahle2 of Parallax forums) has earned himself the title of Propeller Audio Wizard. He's done it again with an object he is wrapping up called, Retronitus.
Here are the specs:
Runs in one cog
Stereo sound
8 simultaneous audio channels
68 kHz sample rate (Higher than CD quality)
Built in music capabilities
VERY easy API (play, stop.. etc)
Can play sound FX at the same time as playing music
Can sound like any PSG from the 80s
While he's putting the final touches on this release, enjoy this binary peek at amazing, low resource, Propeller audio: El'Jugador, Demoboard, C3.
What do you get when you combine the Propeller with a 6502 and some memory?
jac_goudsmit (Savage Circuits) writes:
"The Propeddle was initially intended as a replica for the early Commodore computers (PET-2001, CBM-4032 and CBM-8032) because those happen to be the first computers I ever worked on. But because of the way it's designed, it's really a universal platform to (re-)create many types of 6502-based computers, or design a new one. In many cases you won't even need additional hardware (besides a GadgetGangster Propeller Platform board): the software on the Propeller determines how the computer behaves, and it can emulate other hardware such as storage, by using the EEPROM or the serial port to a PC or other device."