 |
Here is a sample of some of my projects. I have divided them into categories:
- Designs
- Pictures of products or designs that I designed. These products often
started with customer requirements or a concept phase and eventually
were moved into production or deployed in an end environment such as
manufacturing facilities or customer sites.
- PCBs -
Pictures of PCBs that I have designed. I worked with a mechanical
designer or customer requirements to resolve the mechanical design or
board outline. The electronics design or schematics were provided to me
along with other performance and design requirements.
Click on the project names to view additional project pictures.
|
designs |
|
|
|
|
|
This
ROM Emulator is a software development tool. It will emulate a range
from 4-bit to 32-bit. It can emulate, SRAM, SDRAM, and Flash Memory. It
has the ability to emulate multiple devices simultaneously. It is build
on an open source embedded micro Linux platform which has been ported
to the 32-Bit ARM 7 Net-Silicon processor. The processor has a network
connection allowing users to update code in their product across the
LAN/WAN. Emulation occurs in a Xilinx FPGA.
This hardware solution consists of multiple PCBs ranging from 2 to 10 layers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This
Device was designed to allow "PromICE.net" users to use the memory
emulator after their PCB or was already designed or in cases where
designers did not have the physical space on their PCB for a connector
where the emulation cable mated with their product. This POD allowed
for any package of any brand memory chip. The POD plugs into the
PromICE.net and into an off the shelf adapter that can be soldered or
inserted into a socket in place of a SOIC, TQFP, SOP, TSOP, PLCC, DIP,
etc. The PCB inside the POD allows a user to re-route the Emulator
Power and Ground traces to anywhere on the target. The data signals are
then re-routed to any destination in the emulators FPGA. Each POD has a
serial EEPROM that stores a unique ID. These ID's can be verified by
the emulator to prevent users from connecting the wrong POD and causing
the Target damage.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This
Device is designed be a universal adapter for an older generation of
memory emulators to a newer generation of ROM devices. It can even be
programmed to convert the electrical signals that are intended to go to
a FWH ROM (Intel BIOS Firmware Hub) to signals that are standard to
SRAM. This allows any memory emulator to Emulate FWH ROMs.
The
Algorithms are stored in the CPLD on the PCB. The PCB and CPLD also
utilize my method of re-routing Power and Ground from the FWH to any
net on the memory emulator.
By eliminating any hardware incompatibilities this universal piece of hardware replaced over 20 different fixed PCB solutions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Similar to the "Spider Box" project, this device brings additional functionality to traditional ROM emulators.
This
product utilizes the same PCB that is used in the Spider box. With a
few component differences and a separate set of programming this device
is will emulate LPC ROMs (low pin count).
This tool is used during the development of LPC BIOS chips on AMD motherboards. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This device is used to test the programming of TI brand fuel gauges. It supports the bq20z80 and bq20z90 family of devices.
Once
connected to the SMBus of the battery pack, a user simply pushes the
black button and waits for a PASS/FAIL led indicator inside the box. A
serial port on the PIC uC sends messages to a PC for additional
monitoring. Data can be recorded or used during troubleshooting phase
of new designs. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This
simple but handy design is one for those who develop hardware or
firmware with Atmel AVR chips on the Atmel STK500 Development board. It
allows a user to connect their hardware via loose wires to the
development board which only has headers. It can be used on any of the
port connectors. It has a power led, ground, and 8 i/o pins. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This PCB is a component for a custom test fixture. All of the red relays are controlled by the Atmel CPLD ATF1504AS.
The PCB has inputs for feedback from the DUT (device under test)
which is processed with several analog components before the signals
are fed into the CPLD. The CPLD uses this feedback to determine exactly
how to sequence the i/o outputs to the relays. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This PCB is a prototype for an automated tester for Li-Ion Safety circuits that co-exist on a PCB in a battery pack along with a TI bq20z80 or bq20z90 Fuel Gage. It is intended for use in the product testing phase during mass-production.
The circuit is controlled by an Atmel CPLD and a Microchip PIC uC. This design supports the ability to upgrade the programming of both control chips externally This allows the tester to evolve along with the release of new products that are tested on it.
It also communicates to a computer over RS-232 to record test results, lot numbers, and serial numbers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The board was designed to allow a user to configure an automated tester. It connects to another board by the connector on the back. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Designed to work with a 30 channel PLC this control board adds analog control functionality to an elaborate production fixture in a manufacturing environment.
The circuit uses OP-Amps to window compare 30 different DC voltages. The Op-Amps send feedback to a PLC allowing it to perform its tasks. The 8 Op-amps are fed a compare voltage from a POT which is monitored by an Atmel AVR microcontroller. If any of the voltages are outside the allowed range then the uC communicates which one is out of tolerance to the CPLD which displays that particular channel on a 7-seg LED display. The CPLD also works as a watch dog continually watching for data on each of the 8 channels from the uC. When all is well it drives an idle pattern on the display, when there is a problem it cycles thru each channel that is out of tolerance on its display. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a2PCBs |
|
|
|
|
|
|


|
This is the smallest PCB that I have ever routed. It measures only 0.3" x 0.78". For its size it has many parts and is densly populated. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
prototypesa3 |
|
|
|
|
|
|