v0.6

NeuroBytes v0.6 built on the lessons learned with v0.5, incorporating many of its novel features into a custom PCB. These units were also substantially more complicated than previous generations, completely maxing out the ATtiny88's relatively large I/O capability.

Two mostly assembled v0.6 boards, showing a variety of new and improved features, including the NeuroTinker logo rendered in ENIG.

A Truckload of LEDs

NeuroBytes v0.6 used 25 channels of LED indication--that's nearly an order of magnitude more than the v0.4 design! Each dendrite had a dedicated red/blue LED, intended to pulse with the appropriate color (excitatory/inhibitory) and brightness (magnitude) every time the device received a signal. The membrane potential indication consisted of a dozen tiny green LEDs arranged in a line to show progression towards the action potential threshold. At the end of these LEDs I added a large dedicated action potential indicator that flashed bright white when the NeuroBytes board fired.

NeuroBytes v0.6 board shown with handmade pogo programmer, loaded with a PWM test program designed to fade the twelve membrane potential LEDs.

NeuroBytes v0.6 board shown with handmade pogo programmer, loaded with a PWM test program designed to fade the twelve membrane potential LEDs.

DFM-ish

NeuroBytes v0.6 included a few features intended to make the device easier to scale ("Design For Manufacturing"). Specifically, we broke out the six AVR ISP pins on the rear of the board so they could be picked up by spring-loaded pogo pins; this worked reasonably well, but we learned our lesson attempting to hand-fabricate the programming rig itself:

First prototype pogo rig, showing a hastily repaired pin in the upper left corner. SMD pogo pins plus tiny pads are not a great idea. 

First prototype pogo rig, showing a hastily repaired pin in the upper left corner. SMD pogo pins plus tiny pads are not a great idea. 

The boards were also designed for primitive panelization; while they aren't square like v0.4 (which was easily v-scored), I was able to alternatively rotate the boards to improve packing efficiency. Additionally, using exclusively SMD connectors meant these boards could be populated using pick-and-place equipment with no hand-soldering needed.

A more neuron-y look?

Neurons are directional. As such, we made sure that the v0.6 design shared this feature--the fish-like outline invokes an arrow pointing from the dendrite connections to the axon terminal:

Death by Scope Creep

More LEDs, more PCB area, more connectors... all of this adds up to more cost and less room for firmware error. Fading twenty four multiplexed LEDs using software BCM on an 8-MHz, 8-bit microcontroller was difficult, especially if we wanted to avoid obvious flicker:
160 Hz BCM fading worked pretty well--I had to whip the board around quickly to get the flicker shown above. However, adding the twelve dendrite LEDs to the equation made this problem much worse...

160 Hz BCM fading worked pretty well--I had to whip the board around quickly to get the flicker shown above. However, adding the twelve dendrite LEDs to the equation made this problem much worse...

The flicker issue could be solved (or at least bypassed) by either upgrading the microprocessor to an ATmega series device, or by reducing the bit width of the fading routine. The cost was a more serious concern; our BOM cost for v0.6 in single digit quantities grew by 3x compared to the v0.4 design. Since our product will be sold in multiple quantities and we're serious about making the platform accessible to a wide range of students and citizen scientists, this cost increase wasn't sustainable--especially since the new features were mostly about aesthetics rather than functionality. In the future we may re-examine multi-LED indication (a "NeuroBytes Fancy Edition", if you will) if there is enough interest, but for now we're going to substantially simplify the design.