Mission Microsystems - Complete Electronic and Software Design

   We offer a wide range of services: circuit design, software design, industrial design and tooling design. Follow the flow of the the development of the wireless remote control shown on the front page of the website.

    The remote control operates from 4 "AAA" batteries and uses a Texas Instruments MSP430F413 16-bit microcontroller driving a custom LCD display and 418 Mhz Amplitude-modulated (AM) data link. The receiver operates on 115 VAC and uses a Microchip PIC 16C621A 8-bit microcontroller driving a 100W at 6 distinct speeds and 400 watts of dual independently controlled lights.

    First we do the product concepts, often with artist's conceptions here in California:

From this product definition, we proceeded to design the circuit in California:

In parallel, we were designing the tooling in China:

Then we wrote the software (in assembly):

; ===============================================================
; MAIN PROGRAM LOOP HERE. Code above this line only executes on
; POWER UP CLEAR. Below is repetitive loop
;=================================================================
MAIN         nop
                 bit.b #FL250,flag2                 ;250ms tick?
                 jc MAIN1
MAIN2      mov.b #00000111B,p2key         ;all rows first
                call #out_row                     ;update
                call #getkey                     ;read keys
                jz MAIN3                         ;no, loop until key done
; Got a key, then debounce it
                mov.b #1,p2key             ;first row
                scan call #out_row         ;output it
                call #delay                 ;wait a short bit
                call #getkey                 ;see if a down
                jnz gotkey                     ;any down?
; No, then try next row
                rlc.b p2key                     ;try next row
                bit.b #00001000b,p2key         ;test for rollover
                jc no_good                         ;done, nokeys
                jmp scan                             ;try next row;
MAIN1     bic.b #FL250,flag2         ;reset tick
               call #RotBlade                         ;run blades
               jmp MAIN2
;MAIN3     bit.b #KTF,flag2             ;do we have key timer?
                jc MAIN ;YES
;+++++++++++++++++++++++++++++++++++++++++++++++++++
; No, then switch to LPM here
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;7/2/01 added lines to enable keyinterrupts, disable Timer!
                bic.b #BTIE,&IE2                         ;DISable Timer Interrupt
                bis.b #01110000b,&P0IE             ;<--enble Interrupts
                ; bic.b #LEDS,&P0OUT                 ;Insure LEDS OFF
                mov.b #00000111b,&P0OUT         ;insure LED OFF, Scan ON

  While the above was proceeding, we designed a custom LCD and Printed Circuit Board and fabricated some samples in China:

 And the tooling of the plastic case and rubber keypad were proceeding in China:

Finally, with a finished product, we performed the FCC Part 15 certification testing at Compatible Electronics in California:

Some other Example Turnkey Products:

RF wireless (304 MHZ) wall switch transmitter using Zilog Z86E02.. Replaces standard single-gang wall 120 VAC toggle switch.
4-station Lawn sprinkler, circa 1988. Uses Sanyo 4-bit mask ROM microcontroller.

Not so Lethal Weapon! Paintball gun controlled by a PIC 12C508!
Coming Soon! ITT HydroAir HydroTouch Digital Bath Control with variable speed 1.5 HP pump motor. Powered by PIC 16F872.

A custom tooled connector with a passive monitor using a PIC12C671!
Bath pump test station. 20KW worth of pump control using a PIC16F877 with a lot of SSR's & a PC!