I have been thinking of entering the electronic kit market for several years, but the time was never right. This EKT-1016 Arduino shield is my first attempt to produce and sell an electronic product in kit form.
The Arduino is a very popular platform for student, hobbyist, experimenter, electronic technician or engineer to learn computer electronics and programming. There are hundreds of kits, project ideas, tutorials and finished applications based on Arduino.
Low cost 3D printers are nearly 100% Arduino based using dedicated motor control ICs. The same goes for many of the current desktop CNC mills and routers. Lots of low power LED matrix arrays and LED-cubes use Arduino with low power TTL drivers. That means there is no shortage of sophisticated motor control shields and low current multi-output digital add-on cards for the Arduino.
Universal Digital Power Output
The problem I ran into when trying to interface high power LEDs with an Arduino is that there are not many discrete universal power driver shields available and none that offer more than 8 channels of power output.
The EKT-1016 shield is not only usable for simple stepper motor control (running 4 stepper motors / card) and high current LEDs, but can also be used for controlling a variety of DC devices from 5V to 36V that draw 1A or less. That covers a lot of requirements for device driving.
By no means a complete list, here are a few devices that come to mind:
- LEDs - Light or LASER Diodes (with dropping resistor)
- Simple Stepper Motor Control - Unipolar or Bipolar (H-Bridge)
- Simple DC Motor Control - Forward and Reverse
- DC Pumps - Liquid or Air
- Relays - Solenoid, Discrete or Solid State (SSR)
- Low Voltage Out-Door Lighting Control
- Sprinkler Valves (work fine with DC)
The photo above is the populated prototype shield. It works fine, but the lands for the 2 active SMD components are a little too small for easy hand soldering. This has been revised on the PCB artwork along with some small improvements to the silkscreen and pad locations.
Here is a prototype bare board. The traces are all correct, but as noted above, I have made the SMD active component pads larger to make hand soldering easier for the kit version.
- 16 Channels of Digital Power Output (1 Amp continuous)*
- External power driver source from 5 to 36 volts
- RoHS Compliant – Lead Free parts and construction
- Designed and Made in the USA – both PCB and Assembly
- Easy terminal block interfacing with discrete wires
- Uses I2C for card control – Only 2 Arduino signals required
- Programs using the WIRE library in the Arduino IDE - sample code included in user's manual
- Multi-card operation – card select jumpers and stackable Arduino connectors
- Compatible with Arduino UNO Duemilanove, UNO R3 Leonardo and 100% Arduino clone cards
- Surface mount technology (SMT) and socketed power drivers
- Output driver disable by software control for lower stand by power
- Solder pads for external blocking diodes (added power dissipation) or for user supplied status LEDs.
* NOTE: There is a continuous current limit of 6 Amps for the PCB - that is due to the trace width and individual driver IC wattage limitations. User should determine current use and design accordingly. Additional heat sinking and/or a fan would be required for continuous high current operation.
It would cost $88 + shipping to duplicate 16 drivers by using existing shields. I am trying to get the retail price down to $49.00 for the built up version and $37.00 for the kit. To do that, I need to build in quantity to get the parts and assembly costs down, while still having a margin of profit.
Typical Connection to Shield
The schematic above shows how one port on the EKT-1016 might be used to control a stepper motor, discrete relay and a three high power LEDs with 12 volts leaving 2 additional outputs for more LEDs or relays on a single port.
Some More Detail
The shield uses the Arduino I2C interface (also referred to as TWI, for Two Wire Interface) for operation and there are 8 addresses the card can be set to. That means you can stack 3-4 cards to add multiples of 16 power outputs without using all of the Arduino's digital pins. The shield uses only 2 pins for I2C control and 1 additional pin if you disable the drive outputs under program control. The Arduino CPU card, which is user supplied, is limited to powering about 300 milliamps - a serious limitation in applications needing drive power. The driver shield is organized as two 8-bit ports, with each port powerable from an external source. This means you could apply 12 volts for port A and 5 volts to port B (as I have done in the video). A jumper wire (on TB2, a 4-pin terminal block) allows the use of a single external voltage for both ports.
An application for the EKT-1016 would be in running a 'state machine', where a high current drive is needed on a few outputs at a time. An example would be to use the EKT-1016 shield with an Arduino UNO to control a 16 valve sprinkler system. .
The application roles this shield could be used for are limited only by the designer's imagination.
Now for some background. I have been working as an electronics engineer professionally for over 40 years. During that time I have performed digital electronic design, generated schematics, layout of printed circuit boards, debug/test and headed or consulted the manufacturing of products for several different commercial/industrial corporations. Add technical writing, product photography, web page generation and even a few lines (like +150,000) of assembly language programming for industrial control applications.
Risks and challenges
I can kit or build this card in quantity, generate assembly instructions and finish writing the user's manual. I have been doing that professionally for over 40 years. All components will be purchased through distributors or from the part manufacturer. The printed circuit boards (which are RoHS compliant - lead free) will be manufactured in the USA and the bare boards will be tested for continuity and shorted traces. Lastly, for the BUILT version of the card, lead free assembly will be performed in the USA at an assembly house I have been doing business with for over 15 years. The average lead time for PCB fabrication is 3 weeks and the average lead time for assembly is 4 weeks.
Except for one part, all components are multi-sourced. The sole-sourced component used is in full production now and I will purchase them immediately if this project is funded (Update 09/25 - This part is on order now). The PCB artwork has been revised already and the user's manual is over 75% done. I have written a sample C++ program (used in the video above) and will write one additional 'state machine' sample driver.Learn about accountability on Kickstarter
- (34 days)