Note: All
pictures that follow are "clickable"
SEE THE MINI-FLASH
INSTALLED ON A TRAXXAS REVO R/C Truck!!

SEE THE MINI-FLASH
INSTALLED IN A SCALE R/C HELI !!
Another cool Heli Video is HERE
(uses two Mini-Flash controllers)
Assembly Instructions
User's Manual-Download
or View
BUY ONE NOW!
A lil' history ...
This
project, called "Mini-Flash", is a miniature
programmable LED Sequencer/Flasher that is based around the PIC microcontroller. The Mini-Flash
is a PC-programmable, 4 LED channels sequencer that also incorporates Radio
Control (R/C) functions. These functions allow the Mini-Flash to be used
for scale, navigation lighting and even night-time flying! The user at any
time can reprogram the LED sequencer using a
PC-based (i.e. Windows)
program that includes a unique and intuitive
Graphical User Interface. In fact, the servo lead which is
normally plugged into a spare R/C receiver channel for control, is also used to
reprogram the Mini-Flash flasher/sequencer via a computer's serial port
(9-pin) connection and programming cable. The free downloadable
programming software also allows the user to "test" the LED sequence
they develop by use of software-based graphical representations of the 4
LED channels. The sequence speed can also be programmed by the
user. Each sequence contains 50 events and each of the 4 LED
channels can be either ON or OFF for every events. If the user
wants to develop a sequence with fewer events, this can also easily be
programmed.
As if these are not enough features, the
"Mini-Flash" also includes
a control for each of the 4 channels that allows the user to use an R/C servo
output (from a R/C receiver) as a "switch" control for the 4 LED channels.
This feature allows the user to control (active or inactive) each of the 4
channels in regards to the position of the servo control input. If the
user uses a stick or slider for control input, the use will be able to program 1
of 4 "Zones"; 0-1/4 stick, 1/4-1/2 stick, 1/2-3/4 stick and 3/4-Full stick).
If the user uses a switch as the servo input, the user will be able to define
one of 2 "Zone" settings for each LED channel (either 0-1/4 and 3/4-Full).
Design Criteria Summary:
1) Design a simply and cheap programmable LED
flasher around 8-pin PIC
2) Design so LED sequencing speed and sequence pattern is programmable
3) Lightweight and simple to build (DIY)
4) Power off of existing R/C servo connector
5) Use servo signal to vary how each LED channel responds (turn programmed
pattern on or off)
6) Design programming software so it's intuitive and provide varying functions
7) Interface to computer using RS-232 (9-pin) connector most computer have...
nothing special
8) Programmable almost indefinitely... change your sequence pattern/speed many,
many times
9) Powers many LEDS (at least 600mA per channel... each typical 5mm LED uses
25-40mA)

PLEASE NOTE: The Mini-Flash below is
now being built with a standard
dual-row .025" square header, similar to that used by Curtek Lighting systems.
You
can now easily plug in your Curtek LEDs or other assembled LEDs that use standard
two-pin servo-type female connectors. Although the machine pin
connectors I used in the past (shown above) were lighter and of higher quality,
they unfortunately have become expensive and availability has been sketchy.

WANT TO BUY A PRE-ASSEMBLED & TESTED
MINI-FLASH CONTROLLER?
Mini-Flash Controller and Programming Cable (+ 8
mating LED connectors)
(Assembled & Tested)
CLICK HERE TO
BUY ONE NOW !
LIMITED SUPPLY !
Mini-Flash Controller and
Programming Cable (+ 8 mating LED connectors)
(Kit/Parts - Requires Assembly)

CLICK HERE TO BUY ONE NOW !
LIMITED SUPPLY !
Mini-Flash Controller -
Pre-Programmed PIC Only
(This is for one pre-programmed PIC only... no other
parts)

CLICK HERE TO BUY ONE NOW !
LIMITED SUPPLY !
Parts & Tools List
...
1) One
(1) PIC 12F683 Chip (preprogrammed with Mini-Flash code)
2) Three (3) 10K ohm resistors (2 for Miniflash, one for programming cable)
3) One (1) 2.2K resistor
4) One (1) Servo Lead/Pigtail wire for Mini-Flash
5) One (1) 16 pin (8x2) Dual-Row header (male)
6) Four (4) 2N2222 or PN2222A NPN Transistors
7) One (1) RS-232 9-pin female connector (to connect to PC com port)
8) One (1) RS-232 9-pin Hood/Cover
9) One (1) Programming Cable Wire (i.e. Servo Extension)
10) One (1) Programming cable wire (2 conductor wire, 4' or so)
11) 8 dual-row headers (mating connectors for Mini-Flash Header)
12) 3 pieces of heat shrink tubing for assembly (for Mini-Flash & programming
cable)
(Note: Customer is
responsible for supplying LEDs and connecting wires...
LEDs are sold separately
in the DIYRC webstore... CLICK HERE!)
Building Instructions...
* MINI-FLASH BUILDING INSTRUCTIONS *
CLICK HERE TO VIEW THE BUILDING INSTRUCTIONS FOR THE MINI-FLASH
Programming Software...
THE PIC FIRMWARE CODE FOR THIS PROJECT
IS NOT FOR SALE .... SORRY


DOWNLOAD THE MINI-FLASH PROGRAMMING
SOFTWARE !
* Click Here *
(Download/Unzip & run Setup)

Screen shots of the Mini-Flash programming
software (Rev1). Rev3 has screen differences such as buttons and during download....
Main Screen
 |
File Menu Screen
 |
Download Screen #1
 |
Download Screen #2
 |
Setup Menu (Comm port, Test speed, PIC
speed)
 |
Help/About Screen
 |
Help/How-To Screen
 |
Channel Menu #1 (click on tiny square
button)
 |
Channel Menu #2
 |
LED Color Menu (click on LED text)
 |
LED Servo Control Menu (select mask)
 |
Exit Screen
 |
Testing and Operation Instructions...
*
MINI-FLASH USERS' MANUAL
*
CLICK HERE TO VIEW THE USERS'
MANUAL FOR THE MINI-FLASH

* MINI-FLASH USERS' MANUAL
(PDF)
*
CLICK HERE TO DOWNLOAD THE USERS'
MANUAL FOR THE MINI-FLASH
I plan to add more information re: this neat gadget
as time allows.
Another
possible "add-on" to these LED flashers (thanks to an email I received) will be
a high current switch option, basically a high current MOSFET that will be
controlled by the flasher's LED output (actually, it plugs into the flasher's
receptor). The MOSFETs switch will use its own power source (i.e., not the
receiver's). This can be used to power glow plugs, high output LEDS,
incandescent lights, motors/pumps, bomb drops (oops, should I have said that?),
and other devices that require high power switching. Stay
tuned...
MINI-FLASH FAQ
Q1. How do you compensate for
differing forward voltages and current drawn by differing LED's?
A1. Ah.... good question....
The input voltage to LEDs is all not that important (usually 5v is fine for
all). It is the current that you push through the LED that is important, as you
do not want to drive them with too much current. You usually always need to put
a series resistor inline with one of the LED leads such to limit the current. I
use a neat calculator, I even have a link for it on my webpages. You really need
to know the specs on the LEDs, particularly the LEDs rated current (typical 5mm
LEDs run around 20-25 milliamps). Here's the calculator:
http://linear1.org/ckts/led.php
You simply enter the supply voltage (in the
controller's case, 5 volts), the LEDs forward voltage (this varies from LED to
LED) then enter the rated LED current (typically 20-25 milliamps). Then hit the
"find R" button and the program calculates the resistor value you need for that
LED (typically a 68-120 ohm resistor is required). Be careful also as there
exists some LED that already have the series resistor incorporated in the LED
(not all that common though). Once the resistor value is determined, I
usually then solder it to the end of one of the LED leads. The wires then
leading from this LED assembly is then connected directly to the controller
using a miniature machine-pin female socket (I will provide at least 8 with
every controller). Putting the series resistors on the PCB would take up
space (unless they were SMD maybe).
Q2. I have a question: So tell me
how you could control different sequences with a TX like a 6102 which is a 6
channel but the 2 extras are more like landing gear, and flaps?
A2. Great question.... ( I knew I'd eventually have
write about this, as most will probably use a switch and some will have the
luxury of having a spare variable channel, like a rotating knob or lever).
Is the landing gear channel on your system controlled by a switch ? (most
likely). How about the flaps, are these a switch too or is this a rotating knob
(like I think my Futaba 9C has) ??
If the channel you have the flasher plugged into is controlled (Tx) using a
toggle switch, you will still be able to control the 4 LED channels/sequences,
but you will only have two possible servo control positions, on (*---) and off
(---*). If you were to look at the "Servo Control" pull-down in the
software, you have 16 different "servo zone" combinations you can chose. All 16
work only when you are using a variable Rx channel, such as a channel being
controlled by a knob, slider or stick. If you are only using a "switched" Rx
channel and you want to simply use the switch to turn the channel on or off, you
would set up the "servo control" such that it is "*---". What this would do is
make the selected LED channel active only when the switch is in the down
position (actually, it is as if the stick is in the position, 0->1/4
deflection). Now catch this, if you were to choose the "**--" option or the
"***-" option, this would still have the same effect. When using a toggle
switch on your Tx to control the LED flasher, the receiver will never
output the middle two zones (-**-). Therefore selecting these zones in a
channel's servo zone will do nothing.
PCM MODIFICATIONS

NOTE: Current units are shipped with PCM mod, and all
kits include the extra 2.2K resistor. This mod works with both PPM and PCM
receivers!
*
Info provided below only applies to older versions of the Mini-Flash (i.e. Beta
1)
Q3. I see this works fine with
PPM (FM) but... does it also work with Pulse Code Modulation (PCM) ??
A2. Great question.... YES! but with a
few minor mods. See the pictures below
(click on them for enlargements)
PCM is a slightly lower level signal as that for PPM (3 volts versus 4-5 volts).
Because of this, a lower value resister is required on the PCB. Since we
lower the resistor on the PCB, we need to add more resistance to the programming
cable (else too large of an RS-232 signal/current from the PC will be forced
into the PIC).
Basically, we need to change R3 on the PCB from 10K
to 2.2K. We then need to add a series 10K resistor inline with the RS-232
signal (in RS-232 shell).
1. TBD
2. TBD
Additional Notes...