User Tools

Site Tools


Hardware Troubleshooting

LCD Troubleshooting

Please see the page lcd_Troubleshooting

MIDI Troubleshooting

Please see the page midi_troubleshooting

After power-on, my MIDIbox sends a lot of random MIDI events, how can I avoid this?

Basically there are two reasons which can cause random MIDI events:

* the pull-up resistor R9 is not mounted (see schematic of Core module) and no DIN module is connected to port J9, so that the serial input pin is floating and therefore propagates random ones and zeroes (→ random button events).

Solution: don't forget to mount this resistor. If a DINX4 module is connected, you should also ensure that all pull-ups (10k resistors) of this module are soldered properly.

* you've uploaded an application which uses the analog inputs (like [MIDIbox64]) and some analog pins are open (not connected to pots, faders, AINX4 module or other voltage sources). In this case MIOS will permanently report random values to the application which will mostly cause an immense amount of MIDI events (since MIOS is so fast ;-))

Solution: connect all open analog pins to ground. Not only the unused pins at J5 of the core module, but also all unused analog inputs of the AINX4 module! If this still doesn't help, then continue below.

AIN/Pots Troubleshooting

How can I avoid pot flickering/jitter?

Most of the MIDIbox users don't experience pot flickering, whatever type of board they have created (PCB or prototyping boards) - following hints are intended for people who notice an continuous MIDI stream or sporadic, unwanted MIDI events coming out of their box.

Before I explain, how to avoid it, I should descripe how the MIDIbox transforms the pot positions into MIDI values. The PIC includes a so called ADC (*A*nalog *D*igital *C*onverter) which allows the software to measure the voltage levels that are delivered by the potentiometers. Since the valency of a MIDI event is 2^7 (0 to 127) and the pot voltage goes from 0V to 5V, the voltage difference between each MIDI value step is 0.039V. That means, that MIDI value “0” is sent on a change from any voltage level to level 0.00V-0.38V, value “1” from 0.039V-0.077V, … value “127” from 4.96V-5.00V in theory! But in practice the inaccuracy of the ADC and the influence of ambient noise which comes from your electrical equipment (Computer, Monitor, Radio, Mobile Phone, …) could interfere with the sensible pot levels. As a result, the MIDI values will toggle between two numbers sometimes. Another source of interference are temperatural changes.

Note that jittering can be even more an issue if you are using an application which sends MIDI events with a higher resolution, MIOS supports up to 10-bit (1024 steps, 0.0049V difference between every step!)

Your job is to minimize these influences as much as possible.

Use a metall chassis and connect it with ground (“Faraday cage”). If your pots or faders have a ground pin, connect it with the chassis. Avoid long cables to the pots. Cables to Vss (ground) should be wired starlike. To avoid temperature influences, try to minimize the voltage of your power adapter before the 7805 in order to avoid that the 7805 gets too hot. Best results with 6V to 7V *before* the 7805.(NOTE: Most 7805 voltage regulators require AT LEAST 7 to 7.5 volts to operate properly, check the device datasheet to be sure)

The cables between the pots and the 4051 multiplexers should be as short as possible (see also, the cables between the multiplexers and the PIC can be longer, but shouldn't exceed 50 cm.

The voltage of high-frequent noise cannot be measured with a common multimeter, but with a scope. You can temporary upload the Jitter measuring application which is available at the MIOS download page. It displays a number which corresponds to the noise. Values between 00 and 08 are ok.

*Update:* most of these hardware countermeasures are not necessary anymore, nearly all built MIDIboxes are working from the first startup without any jitter problems, since I improved the software on a way that it can handle with jitter.


Starlike Wiring helps to reduce jitter!

Read the description here:

– Click to Enlarge –


Current Drain

If a core module is not working, the current drain could give you a hint if the PIC is running or not. Current has to be measured with an amperemeter (or multimeter in ampere mode) at J1, one supply cable must be removed and the multimeter must be in between the break.

You should measure:

  • without PIC: ca. 7.5 mA
  • with PIC, bootloader running: 25 mA, a short peak of ca. 30 mA after two seconds (MIOS init phase)
  • with PIC, MCLR# reset permanently active (connected with ground): more than 50 mA !
  • with PIC, but without crystal: 9 mA
  • with “virgin” PIC (not flashed) - the same as without crystal: 9 mA, because the oscillator mode is not configured (the bootloader is not correctly programmed)
home/skills/troubleshooting/hardware.txt · Last modified: 2008/12/19 14:47 by stryd_one