OMK Logo
OMK Title


Build your own

Reflow-solder the SU-16 Unit

The building of a sensor unit is straight-forward and should be doable even for a skilled beginner in SMD soldering. We deliberately choose the big chips (SOIC) for the multi-legged chips and a 0603 footprint for the smallest passive components.

SU-16 Unit PCB only SU-16 Unit PCB assembled

Reflow-solder the DSP-F3 Unit

The building of a DSP unit is a bit more tricky (because of the two 48-pin, 0.5mm pitch LQFP packages). If this will be your first project with 0.5mm pitch components, you may want to do some preliminary exercises first. We deliberately choose the 0603 footprint for the remaining components.

DSP-F3 Unit PCB only DSP-F3 Unit PCB assembled

Prepare the case

Get yourself a case (e.g. from our shop) or create your own at the next FabLab.

The case can be cut and engraved from a plain sheet of 2-3mm material. It consists of an inner rib construction, embedding and holding in-place the printed circuit boards, wrapped in an enclosure and held together with just a couple of nuts and bolts on the back side. It was designed for wooden materials (laser-grad plywood, e.g. birch or beech), other materials and thicknesses may need adaptations.

The wrapping sheet has been designed as a kerf-bent enclosure. Depending on the material thickness, the wrapping sheet may need pre-heating (e.g. with an iron) to not stress the wood too much while bending.

rib construction plus unbent wrapping iron the wrapping for easier bending
pre bend wrapping after ironing prepare PCBs and cabling
prepare PCBs and cabling crimp your cables
embed the PCBs into the case embed the PCBs into the case

Wiring up the units

The Chimaera is modular in design and can be equipped with varying amounts of sensor units. As the DSP unit has three analog-to-digital converters running in parallel, the analog inputs from the sensor units are distributed evenly for best performance. The analog-to-digital channels are adjacent on the socket header: 4 channels (pins 1-4) for ADC1 followed by 4 channels (pins 5-8) for ADC2 and 2 channels (pins 9-A) for ADC3.

PIN: .... .... ..

Each sensor unit is connected to the DSP unit by 7 lines (6 towards the sensor unit): Out of those, there are four digital lines for the channel select on the sensor units 16:1 multiplexer. Those lines can simply be daisy-chained between the sensor units. The remaining 3 lines have to be connected by wires individually to the DSP unit. This is strictly needed for a robust grounding and powering scheme. Apart from ground and power to drive the sensor unit, the third of the three lines carries the multiplexed and amplified analog signal back to the DSP unit.

Note: The sensor units are protected against negative current (e.g. if ground and power are switched) with a diode, but they are NOT protected against a switch of power and analog return lines. So, check the wiring twice before powering up!

For the configurations for 1 sensor unit (S16) up to 10 sensor units (S160), the sensor units row assignment is defined as follows:

.... .... .1
1... 2... ..
1... 2... .3
12.. 34.. ..
12.. 34.. .5
123. 456. ..
123. 456. .7
1234 5678 ..
1234 5678 .9
1234 5678 A9

Hardware calibration

Apart from the four lines S0-S3 which switch channels on the multiplexer, the sensor units are purely analog circuitry and can be and/or need to be tweaked at different points for optimal performance. Please read up the corresponding section in the hardware documentation in order to understand what the exact function of each of the three trim potentiometers is.

Due to the modular design of the Chimaera, each sensor unit can be tweaked individually. One purpose of the hardware calibration therefore is that all connected sensor units roughly are set to the same quiescent values and amplification factor. This will make event detection and interpolation along the sensor array much more accurate.

The other purpose of the hardware calibration is to optimize sensor output range to match a given maximal range of magnetic field strength. Let us make an example to clarify this: A given sensor can output voltages between 0V and 5V. With no magnetic field present, its quiescent output voltage is around 2.5V. Let us assume, that the sensor has a sensitivity of 2.5mV/G. If we now bring a given permanent magnet as near as we can to the sensor, e.g. directly down to the case surface, the sensor will sense the maximal magnetic field strength of the permanent magnet. If the magnet is e.g. magnetized to 500G, the maximal voltage difference relative to quiescent output for the sensor will be 500G*2.5mV/G=1.25V. The output voltage therefore will be in the range of 1.25-3.75V. This configuration would only span half of the possible output voltage range. By increasing the amplification factor from 1 to 2 in this case, the whole range of 0-5V will be spanned over and the subsequent digital-to-analog conversion on the DSP unit will have twice the resolution.

Hardware calibration ideally has to be done once only before closing the case at the end of the build process. If you will change the strength of used permanent magnets considerably in the future, you may have to recalibrate for best performance, though.

For a good hardware calibration, you will need a visual feedback. There is a ready-to-use program in our Supercollider repository which will show a sensor dump of the whole sensor array and guide you through the below described hardware calibration procedure step by step.

The first step in hardware calibration is to reset all sensor units to an amplification factor of 1 (no amplification). We do this by turning counter-clock-wise all the way trim potentiometer RV1 (amplification factor) on all sensor units.

Next we calibrate for a correct reference voltage. Keep any magnetic source away from the sensor array. Increase the amplification factor to e.g. half-max (with RV1). Quiescent output for that given sensor unit will now be offset to the zero line. Adjust the trim potentiometer RV3 until the quiescent voltage of a given sensor unit comes to lie around the zero line again. Set the amplification factor again to 1 (with RV1).

Now all the sensor units will be calibrated to a common quiescent output voltage and will have set the reference voltage correctly. The last step is a tricky one, that's were we need to set the amplification factors for each sensor unit based on the permanent magnets the device will be used with. This is the only step in hardware calibration were we will need the permanent magnets. The goal is to bring the magnet as close as possible to the sensor array (vicinity = 1) and adjust the amplification factor (by turning RV1) so that the most sensitive sensor of a given sensor unit just reaches slightly below the highest possible voltage output still resolvable by the microcontrollers analog-to-digital converter.

This is an iterative procedure: continuously run the magnet along all sensors of a given sensor unit. Increase the amplification factor until one sensor value at least starts to show up in yellow (value just starts to fall outside the resolvable range by the analog-to-digital converter). Now decrease the amplification factor in small steps until all yellow sensor values only show up in their correct color again (sensor value now lies just in the resolvable range by the analog-to-digital converter). Do this for all the sensor units and hardware calibration is done and the sensor output range will optimally match the resolvable range of the analog-to-digital converters for your chosen magnets.

SuperCollider Sensor Dump during Hardware Calibration

Chimaera graphical sensor dump implemented in SuperCollider showing 2 present magnetic sources, the left one with an ideal hardware calibration, the right one with a sensor value overshoot and therefore less than ideal hardware calibration.

Beta Testers

After a high interest at Maker Faire Rome, we are now running a beta-testing campaign to collect more comprehensive feedback of first-hand experiences of our final Chimaera prototype design from interested individuals. Get in contact with us. Now.

Please support free/libre software and hardware designs.


donate bitcoins


request bank credentials via encrypted mail for SEPA transfers.

Last update - 09 February 2016

GitHub Google+ SoundCloud Vimeo

Copyright © 2014-2017, Hanspeter Portner, Open Music Kontrollers, cc-by-sa 4.0. Uses libre javascript.