A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:
Proof of Concept
Explorations that test ideas and functionality.
Demonstrates the functionality of the final product, but looks different.
Looks like the final product, but is not functional.
Appearance and function match the final product, but is made with different manufacturing methods.
Appearance, function, and manufacturing methods match the final product.
About this project
The Protean 8x2 seeks to bridge the gap between multichannel power control and microcontroller projects for hobbyists and professionals alike.
There’s quite a few development/processor boards available, growing in number, versatility, and capabilities while decreasing in cost, which is wonderful! But have you ever wished your board could provide a few good amps without adding a separate board? If something goes wrong on the power side, is your micro-controller safe? How about multiple outputs? The Protean 8x2 simplifies and shrinks the hardware and alleviates the need for multiple boards for up to 16 channels of power!
The Protean 8x2 is an Arduino compatible development board with power control in mind. It gives you the freedom to use the FETs, (essentially DC power switches), and connectors you want. You can determine the full turn-on voltage most efficient for your FETs, (the Vgs), without hunting for “logic-level” FETs. Because it has a place for optocouplers to provide electrical isolation, you don’t need to worry that it will fry the ATmega328P micro-controller. Easy
to follow wiring guides are also now available!
What’s possible with it? What can I use it for?
Pinball driver board node
8x8 bulb or high power LED matrix controller
LED lighting controller
Model train/peripheral driver node/controller
Automated compost barrel (likely my next project)
Custom hot tub/baptistry controller (with DC coil contactors, conformal coating, and appropriate safety measures of course)
You-name-it driver board node/controller?
What’s the story behind it?
I posted some 6-segment LED display concepts on DeviantArt and a fellow named Andrew showed strong interest in it as a pinball score display. (Something I hope to pursue later!) He also linked me to his 2015 Ohio Pinball Show gallery on Facebook. This got me interested, and a couple months later my dad and I visited the Lone Star Pinball Museum.
Enamored with all the various pinball machines, I had developed more interest in the art, design, and mechanics of pinball machines. Later I noticed someone commissioning an artist for pinball plastics art on DeviantArt! The next thing I did was look for pinball parts or some general purpose hardware that was ideal to control such a machine. But I was surprised by what I found, and didn’t find.
The Search for Power Control
I love the idea of node based controllers seen in modern pinball machines, but nearly all of them are proprietary and virtually undocumented! The hardware available for custom machines run about ~$100+ per board, are generally large (~20 sq in./~130 sq cm), require a separate main controller, and have a fixed serial protocol and rate. Other boards were understandably meant for use in existing, typically older machines, and were more expensive.
From the “build your own” perspective, there were numerous Audrino FET shields to chose form, (and relay boards), but all with different specs, hardware interfaces/terminals, and limited FETs. Of course they also required a separate Arduino or controller board.
Many people just use an Arduino Mega and run wires to multiple different modules and components. The same could be done with the awesome Teensy 3.5/3.6, (an ideal main controller for pinball in my opinion). But the otherwise tedious point-to-point or expanded board-to-board method didn’t seem very appealing, easily scalable, or space conscious. There’s already enough unavoidable connections to be made.
Building the Answer
With FETs being the common denominator in most of my projects, after trying to find a flexible driver node solution, it struck me. Why not develop a node board that’s configurable by the designer, not only in protocol and function, but also in choosing wiring connectors and FETs?
The “General Purpose N-Ch FET Driver Board Node” was born and evolved into the Protean 710, then to the Protean 8X2 supporting N and/or P channel FETs! It’s the size of two Arduino Unos, just about the same board area as a Stern driver node, but more independent power outputs. It’s also a third smaller than other available boards with similar output counts.
With an abundance of processor and IoT devices out there, it’s my hope to bring the power hardware side of things more up to speed in versatility and flexibility, filling the void between power control and microcontrollers. While I won’t dare claim the Protean 8x2 completely fills that void, I honestly think it greatly helps!
Details and Specs!
Controlled by the ATmega328P, the classic Arduino chip (which includes TWI/I²C and SPI interfaces)
RS485 interface chip (data direction controlled by pin D2; tested up to 2M baud)
Recommended logic supply: 3.3V to 5V
Output/High voltage side designed to work up to 100 volts, (and has been tested with ~120V pulsed DC)
16 optically isolated channels (main I/Os).
Up to 3.67 amps on a single channel with bare PCB trace
Up to 7 amps on FET source common with bare PCB trace
Power traces bare, allowing for added solder to increase current handling.
LED indicator for logic power
LED on port D3, (or digital pin 3).
Component Footprints Ready:
A place for...
TO-220 case FETs
4-pin DIP or gull wing SMT optocouplers
LED (3mm) and resistor for main power indicator, (both upper 8 and lower 8 channels)
5mm x 20mm fuse holder or capacitor, (both upper 8 and lower 8 channels)
Vgs, or gate-to-source voltage select resistors, surface-mount or through-hole, (both upper 8 and lower 8 channels)
Back-EMF/flyback protection diodes, (surface-mount on top or through-hole on bottom)
Optional lower value gate discharge resistors, surface-mount or through-hole, (100k already included)
An LD1117S regulator in an SOT-223 package for POE on spares configuration, (on bottom of board)
TVS diodes in an SOT-23 package for ESD protection on power, RS485 lines, TWI/I²C lines, port D3, and the 16 I/O header pins, (all on bottom of board)
Main power connector pitches: 3.5mm/~3.8mm, 0.156" (3.96 mm), and 0.2" (5.08 mm)
Main power connector alternatives: 0.2" pitch PCB mount quick connect terminals (would straddle two channel lines if used as output)
Logic power connector pitches: 0.1" (2.54 mm), 3.5mm/~3.8mm, and 0.156" (3.96 mm)
Vgs connector pitches (as part of main power connectors): 3.5mm/~3.8mm and 0.156" (3.96 mm)
Vgs connector pitches (next to main power connectors, as part of the newer V1.3 board that will be shipped for the rewards): 0.1" (2.54 mm) pitch
Board Dimensions: 2.7" x 4.6" (68.6mm x 116.8mm), the size of two Arduino Unos
Mounting Hole Centers: 2.4" x 4.3" (~61mm x 109.2mm)
Jumper configurations are illustrated on the back of the board. Jumpers and other various connections will also be illustrated on wiring guides and quick reference graphics.
Use as an IoT Device
Because the UART (Rx & Tx) has its own headers, an HC-05 or HC-06 Bluetooth module can easily plug right into the Protean 8x2. Likewise, the 2x4 breakout headers for the RJ45 jacks can alternately be used for an ESP8266 Wi-Fi transceiver or an NRF24L01 transceiver. Connect them to their respective interfaces using jumper wires or wire-wrap wires. Power the Protean 8x2 at 3.3V to avoid damage to the modules.
(Note that using the SPI interface with the NRF24L01 module will use at least 3 power channels, particularly pins PB3-PB5, or digital pins 11-13.)
Simultaneous Input and Output Handling
Notice I’m pushing the buttons before it gives me control and after it takes it away.
The Protean 8x2 can use each channel as an output and input simultaneously. This is ideal for initializing immediate responses for things such as pop-bumpers, slingshots, flippers, model train horns, or a set sequence of events. Once an input is received, the microcontroller or MCU can take full control. To accomplish this, each channel uses a simple resistor network as shown in the schematic below:
Given the schematic, you can tell the input would be a non-isolated logic level active high, (specifically a rising edge). This also means that shorts against ground aren’t high risk if the pin is high. But it also means to source or sink the full rated current of the MCU, (if needed), you’d have to short the resistor to the header pin.
While anyone can program the Protean 8x2 how they wish, just like an Arduino, I’ve written a simple serial protocol that you can find at GitHub: https://github.com/adamlhumphreys/Protean8x2-C. It’s almost 2Kb compiled, uses a few simple 5-byte commands, and has no error checking, (at least not yet). You can configure channels as outputs, inputs, (active high or active low/pullup; state change or one time press event), and control a 5x7 matrix with fixed digits, all via RS485. Excess bytes are ignored.
Initially I supposed it would be easier to program another chip and swap it with a DIP. But after some thought, it occurred to me that shouldn’t really be necessary and might actually be more troublesome depending on where it could be mounted. My attention also turned to focus on outputs, (especially given only slightly more board space was required), and P-channel support. This is also the board on which the software and protocol was developed.
Version 1 board from OSH Park, soldered by hand. After some more thought and consideration, I realized that if I wanted to keep the optocouplers within their collector-emitter voltage limit for P-channel FETs at 35V+, I needed to change things. The result was a simpler and cleaner board, V1.2.
This is what the Protean 8x2 V1.3 will look like, and what will be shipped. Changes include Rx & Tx headers, improved silkscreen, and extra hole/pad on each side of the board for Vgs 0.1" pitch connector support. It will also include default jumper configurations based on backer feedback.
What’s Done So Far
Board development and design
Logo design, (inspired by my nephew Blake who made the initial concepts)!
Software development for a simple serial protocol as an Arduino .ino sketch written in C/C++ (i.e. without using Arduino functions) on GitHub.
Manufacture and assembly estimates acquired
Small test production run (20 boards) received and evaluated
Started designing wiring guides
What Needs to Be Done, Kickstarter’s Crucial Role
Develop test procedures, program, and/or fixtures
Testing (likely myself but possibly the assembler depending on volume)
Finish wiring guides and quick reference graphics/documentation
Packing and shipping rewards
Software development using specifically Arduino functions, (if interest is expressed, and I would think it would be)
Release Arduino enabled code on GitHub for open source development and contribution, (would keep C/C++ only and Arduino function variants separate)
The software is open source and can be found here: https://github.com/adamlhumphreys/Protean8x2-C But what about the hardware? In truth, the answer is, “not yet.” The schematic will be available, but not the fabrication files as of yet. The reasoning for this is multifaceted. Firstly, the design itself isn’t particularly interesting being mostly repeated blocks. But it goes deeper than than.
I love open hardware, but at the same time, I recognize the convenience of buying an existing board. I don’t generally see myself going through the process of buying boards and taking the needed time to assemble them myself, especially several SMT parts. If I bought them assembled, it would still cost significantly more. But isn’t that what makes open source hardware great since large manufactures with established malleable financial assets can make and sell them by the thousands? Let’s get to that.
This is my first serious crowd-funding effort, PCB project, and open source software, so I’m admittedly nervous. I’ve set the bare minimum goal I can to get this project know and to purchase, test, and ship the boards. I wouldn’t recoup the hundreds of personal hours of research and development I’ve put into it, not to mention the cost of development parts and boards.
So, at what funding level would I recoup my development? According to my spreadsheets, at a lower rate than I anticipated, about $25,000, or about 1,000 boards. So why didn’t I just set that goal? The price point would’ve been the same, but I have no idea how much interest there may be in the Protean 8x2, and Kickstarter is all or nothing. Thus I thought it best to chose a middle ground where something is better than nothing for those who are interested.
How open would it be?
If I’m able to recoup my development costs, (either via this campaign or otherwise in due time), in addition to what will already be available, the PCB files and BOM would also be made available, likely under a Creative Commons license. Not only would I be motivated and fiscally able to continue developing more boards, but other individuals and companies could support them indefinitely! Therefore, having this project being fully open source is actually very important to me for many reasons.
Open source hardware is also important to me because this means a machine can provide years service without support being cut off. I hate that upkeep costs for a pinball machine, (or really any machine), can be so high because the proprietary hardware that makes it work is no longer readily available and no one else can make or even improve on it. While the obsolescence of some machines may not always be explicitly planned, I also personally hate planned obsolescence.
Estimated Maximum Lead-times
1 Month for parts acquisition, either buying myself or the assembler, assuming all parts are available. Otherwise, if multiple suppliers lack sufficient stock, particularly for the ATmega328P and the RS485 controller, lead times could be a few months, but I sincerely doubt that would happen all at once.
1.5 Months for PCB fabrication and assembly (ideally shorter, but issues could pop up or I could have more backers than I’d expect)!
1 Month for testing (if doing it myself) and shipping. Of course this also depends on volume and reception. If I find myself filling 2000 orders, (which would be awesome), it may take slightly longer.
Estimated delivery time: June 2017, just in time for summer projects!
Software Plans (out of campaign scope)
Later, I’d like to implement an initialization sequence where things such as baud rate and address can be setup with one-time hardware configuration/initialization and stored in EEPROM without the need to re-program the ATmega328P. Stepper motors would be another thing I’d want to support.
Long Term Goals (out of campaign scope)
Developing different boards for more specific driver purposes, such as a triac version; a board with larger FET package and heat-sink support but fewer channels (already named by my nephew Blake!); an independent 64 input OR lamp/LED output node board; standalone coil control board; and hopefully more!
Use the newer ATmega328PB when it gains more support and also research ARM
Keeping the boards available (which admittedly depends on reception, volume, etc.) on Tindie, Etsy, and perhaps some distributors.
Why the ATmega328P?
The board design itself can actually accommodate the newer ATmega328PB, but I chose the ATmega328P for a few reasons:
Arduino compatible “right out of the box” being very widely used, thus easily programmable.
5V ready. Most older pinball games would likely use 5V logic, which would otherwise require a resistor divider for reading 5V signals for modding, etc.
I honestly haven’t yet had the time to dive into the world of ARM. But I certainly want to, at least the Cortex M0/+ chips.
Over the years I have, and continue to do things as electrical wiring, small circuit design, repairing many various appliances, and solar installation. I am familiar with various power hardware failure modes, and most of them typically include relays, contactors, switches, capacitors, or cold solder joints.
I began working with microcontrollers since 2012. Since then, I’ve made a number of small projects here and hope to continue developing my kWh logger and a proper greenhouse controller. I’m always looking to continue growing my knowledge of microcontrollers and general electronics, (among other things if your familiar with my profiles). I’ve also contributed a small bit to the Arduino-IRremote library (https://github.com/z3t0/Arduino-IRremote/pull/268) and hope to add a mask based optimization in due time.
See my biography for more details and history.
Risks and challenges
Despite my extensive efforts and research, I believe it’s important to mention two notable things. Firstly, I’m a not a company and won’t have anyone readily available to help me test or package rewards. For the most part, I will be alone. Thus if I become ill, this may cause some slight delay. Secondly, this is my very first real crowd-funding campaign. While I may have accounted for as many things as I can on a spreadsheet, I imagine experience will always be a superior teacher.
Parts and availability can also cause delays. (See Estimated Maximum Lead-times above.) Then there’s the manufacturing, over which I have limited control, which is why I initiated a small batch production run. Nevertheless, there’s always a risk that an issue in manufacturing may arise, go unseen for a number of boards, then corrected. My best means to combat bad boards is to order a percentage more than what may be needed. This way I can have enough to fulfill rewards and hopefully have some left over to keep available.
The Arduino variant of the protocol software/sketch shouldn’t be a particularly challenging issue given I’ve already developed a more lightweight bare-bones program, which usually takes more time to tweak and optimize. Given most of my other projects relied on the Arduino code base, the only potential issue may be a slower response time when communicating with the board. But this is probably a moot point.
Shipped upon successful funding!
• One Protean 8x2 V1.2 board, (from my small test production run), ready for custom configuration.
• One Protean 8x2 V1 board, (first 8x2 prototype from OSH Park, all hand soldered), ready for custom configuration.
• One Protean 710 bare bones board with e-mailed PDFs of schematic and board with would-be silkscreen.