Bontempi B50
 
beginners keyboard with gritty digital lo-fi sounds
       

This initially extremely cruel sounding Bontempi sqeakbox of 1997 (PCB date code "...9  97") would everybody else likely have hated so much that he rather would chuck it into a dumpster or smash with a sledge hammer than ever to dare to make a serious instrument of this ear tormenting tablehooter. That is to say, a horrible DAC design flaw does a continuous beep that wants to make your ears bleed.

But after modification it makes a great tekkno instrument because it has many freaky howling synth sounds with gritty stepping zipper noise envelopes. Even the sampled drum machine chip can make nice lo-fi tribal patterns when pitched down and run out of sync to the main CPU. This was one of my first complicated circuit-bends and I try hard to reconstruct what I had done. When unmodified, this keyboard is not good for anything (unless you can remove the beep by external filters or sampling it through effect software).

main features:

eastereggs:

modifications:

The thing can now make incredible jungle/ tribal style rhythm patterns by letting the normal rhythm run and switching the drum chip either into its own drumrolling mode or pitching its clock so low that it starts to miss- recognize some of the beat pulses sent by the CPU. Drums and cymbals sound very bassy and pressureful and have a wild click/ knock at their start and end, which makes a perfect tekkno machine of this tablehooter. The rubber drum pad keys can even be locked by pushing them under the rear control panel rim to keep the drumroll mode running. Also the rough FM sounds of the main CPU are great for tekkno.

notes:

According to the package box picture (which differs much from my B50) there may 2 different versions of this keyboard exist those have different sounds and a different drum kit chip; the drumpads on the box correspond to the predecessor Bontempi B30. An interesting detail is also that the B50 employs on the control panel a narrower character font and a different terminology than the (older?) B30; e.g. instead of "Voices" there stands "SoundBank", instead of "Rhythms" "RhythmsBank" and the cipher buttons are labelled "BankSelect" instead of "Sounds/ Rhythm Control". All functions beside volume, tuning, tempo, rhythm start/ stop, demo, "plus play" and sustain, reverb are selected by entering numbers. Unlike the B30, here the buttons don't make a click but only successfully entered (3 digit) numbers are acknowledged by a snare sound and every rhythm and demo melody starts with a 4 step metronome bar. Unlike the B30, the B50 keeps no previous settings during power off, but without drum sequencer this wouldn't make sense anyway. (The B50 always resets by pressing the "on" button.)

The main voice sounds resemble coarse 2 operator FM timbres with complex envelopes those have audible zipper noise. All sounds contain a short sustain, which makes it impossible to play very short notes. Sounds with short attack phase start with a percussive click. Most wind instruments contain a delayed vibrato (often less extreme than with Bontempi B30). The "leslie organ" is a rough Hammond organ sound with strong, slow vibrato; the attack phase resembles more a steel drum. Also "brass" has a strong and the "crazy trumpet" an extreme vibrato. The "horn" fades duller. The "xilophone" is rather a vibraphone with strong vibrato, while the "vibes" has none (likely the manufacturer confused both names) and fades duller. The "vibraphone" is a duller version of "xilophone". The "jazz organ" is a plain dull Hammond timbre. The "piano" is rather an electric Rhodes one and fades duller. The "bandoneon" is a reedy tone that fades brighter. The "telephone" is a disharmonic digital phone with a little sustain. The "synth drum" howls down and up again an a unique way; this one has a shorter envelope than on Bontempi B30 and resembles a cat meow. The "ghost" is harsh hollow, halfway voice- like tone with very strong, howling vibrato and long sustain phase. The "fantasy 1" is a medium fast howling siren with a similar timbre, while "fantasy 2" is the same in faster and with sustain. (Unlike the B30, here siren sounds don't repeat their 2nd in the lowest keyboard octave.) With the "sustain" and "reverb" buttons the release phase of most timbres can be extended. The "reverb" adds an additional longer sustain with lower volume than the normal sustain to the envelope.

The digital volume control steals bit resolution from the main voice, which truncates the decay phase of the timbres at low volume and thus can be rather regarded as a sound effect. It anyway only affects the main voice and not the rest, which is not what a volume control is supposed to do.

Annoying is that the accompaniment of the rhythms plays always in a fixed key and can not be turned off, which limits their use very much. The accompaniment seems to be made from rough squarewave organ chords and a monophonic e-bass sound. Unlike the Bontempi B30, this one has no programmable drum pattern but the "sustain", "reverb" and "plus play" buttons instead of drum sequencer buttons. Also annoying is that selecting a new rhythm always switches the main voice sound to a default one corresponding to that rhythm. (The B30 makes no such nonsense.)
 

circuit bending details

The Bontempi B50 is built around on the CPU "Texas Instruments W 739GWY, COMUS 2743338" (clocked by LC oscillator) and rhythm IC "HT3010A". The main voice is output through something like a primitive bitstream DAC through a digital single transistor amp to the speaker. So it contains obnoxious beeping PWM residues those must be filtered out to turn this into a useful instrument.

B-series hardware

In monophonic Bontempi B-series keyboards the separate percussion IC exists only in models with accompaniment. So I conclude that the employed microcontroller hardware ("Mitsubishi 3850" in B20, apparently "Texas Instruments TMS370Cx1x" in others) has not enough resources to produce both percussion and chord channels at the same time in software. The fact that B20 has a documented generic microcontroller and pinout of the rest matches TMS370Cx1x makes me conclude that the entire B-series sound engine is a softsynth on a chip.

caution: The case of the classic B-series is an unusual construction of iPhone-esque confusion potential. To open it, a piece of paper should be inserted under the black keys (hold white keys down for this); else you risk to crack them off. Then remove bottom screws. Push all buttons under their rear rim while you move the white keys back to slide the chassis out. (There are no screws under the front panel sticker, thus do not attempt to peel it off!) If during reassembly the chassis refuses to slide fully back in, check out that the PCB is properly aligned with all rubber contact strips in place and all plastic pegs in their holes. (Also the last peg must be on top and not bent to the side of it.)
As far I remember, the DC current flows from +Vs directly through the speaker into the output transistor to GND. The idea behind this class D amp was likely to pump maximum output power through the cheap transistor, but the atrocious timbre quality makes it barely sufficient for anything better than a smoke alarm - not to say a musical instrument. Part of the problem was that the 4.7uF electrolytic cap (used as integrator) of the digital single transistor amp is wired parallel with the speaker coil and so forms an LC oscillator that resonates in the audio range, making the beep even louder. Rewiring that cap from the amp output against GND (i.e. not parallel with the speaker) helps to reduce the whistling.

I also believe to remember that the B50 originally mixes analogue rhythm audio with PWM DAC signal in the same output transistors, which may have intensified the beep. The similar Bontempi B40 keeps its rhythm channel strictly separate (fed through its own speaker) and seems to beep less obnoxious (or have only my ears gone bad?).

To add a simple sound output jack to the instrument, it is crucial to wire from the CPU sound output a resistor to the jack and from there a capacitor against GND that does the D/A conversion (integration), because this instrument employs a crude digital power amplifier that sends amplified square bit stream signals (about 11 kHz?) directly to the speaker (halfway smoothed by an electrolytic cap), thus connecting here a normal output jack would toast your tweeter or even destroy the sound input of attached external devices by the high signal amplitude (5V?).

In my instrument I rewired the digital single-ended amp as an analogue one by placing serial resistor and capacitor to GND in the line before its base pin, which improves the sound a lot. But to prevent transistor overheat, the speaker needed a serial resistor bridged with an electrolytic capacitor. (My circuit is quite complex - sorry for the vague description at the moment, but I don't want to tear it apart to dig deeper into the hotglued messy wiring.)

aliasing filter with timbre controls:

I developed an active RC filter circuit to remove the unbearable high whistling bit stream frequency from the main voice without muffling the trebles too much. I designed the thing by trial and error and a vacuum tube oscilloscope, but I think it works basically like an analogue notch filter. It contains an op-amp IC which amplifies the difference voltage between 2 RC low-passes. The timbre can be adjusted through 2 potentiometers. Because it is quite complex and not easy to describe without schematics, I now have included a photo of the crude hand drawn stuff, although it is likely incomplete and possibly even wrong. It also shows the modified amplifier and the standby circuit. (I couldn't add a main voice pitchbend because my narrow bandwidth special filter needs a fixed sample frequency to do its job.)

Due to the presence of the resistor array R6 "A 223G" (9 pin SIL) I am not sure if the atrocious beep is only result of multiplexing a 7 bit resistor ladder DAC that is switched between both stereo channels (like in the later Bontempi BS 2010, which sounds less nasty). But I think R6 is only a pullup for the keyboard matrix.

The standby circuit was designed to activate +Vs for the beep filter only when the CPU is active (and thus outputs keyboard matrix pulses). This way the thing can be still used with batteries using the given electronic power button. Below seems to be an old version of it. I connected the filter's power input by a transistor monoflop triggered by the keyboard matrix pulses to enable the filter to turn itself off when the instrument goes into "auto power off" mode.

Here are some other old schematics I found about this instrument; they might be outdated versions:

This is the power amplifier.
These are outdated drafts of the antialiasing filter.
An easier method to filter out the ear tormenting high beep may be to resample the sound on a PC using the same sample rate like the beep. On PC exist also various "lo-fi" distortion effect programs those can re-sample a sound in realtime with freely adjustable re-sampling rate, and also a normal sound filter effect program may work here.

rhythm section:

The rhythm IC is HT3010A. To control rhythm pitch, replace the 82 kOhm resistor between pin 5 and 6. Instead connect a potentiometer (470 kOhm?) with right end to pin 5, left end through 120 kOhm to GND and wiper through 470 Ohm to pin 6.

OUT1B, OUT2B, OUT3B draw pulses against ground 0V (open collector: OUT1B = long, OUT2B = medium, OUT3B = short pulses - useable to connect LEDs against VDD).

All inputs are active-low, i.e. react on ground 0V. Solder to pin 10 a button switch for "fill-in" and another to pin 4 (DEMO) to enable the internal rhythm mode.
The IC can now produce drumrolls by itself, but they would always stop after a while when there is no continuous ground 0V signal at the rhythm input lines. Therefore disconnect the drumpads from the main CPU and solder them instead through diodes directly to the pins {1, 2, 3, 18} of the rhythm IC. For safety solder also a diode into each main CPU output line to these pins to avoid overload. The drumpads can now be used as locking switches by pushing their rubber buttons under their rear case rim to keep drumroll patterns runnings.

After pressing the "internal rhythm" button, the IC will now produce 4 different drumrolls by pressing the drumpads. When the instrument tries to play its own rhythms in this mode, the result are quite wild tribal rhythms because the IC outputs instead of individual drums now a drumroll sequence for every single pulse. When the rhythm pitch pot is turned way down, the IC will skip some of the CPU pulses and thus makes freaky jungle grooves.

Attention: I have only very incomplete draft schematics of my modification, thus this description might be partly inaccurate or even wrong since it is based on them. Look at the photos if in doubt. And I later found out by the HT3010 datasheet that there may be better wiring variants those don't depend on demo mode and so avoid the timeout problem (see pinout below), but I haven't tested this.
 

pinout HT3010

The Rhythm Generator "Holtek HT3010" (18 pin DIL) can play 4 monophonic percussion samples triggered through 4 inputs (from buttons or a CPU). Additionally it can play 4 rhythm patterns or fill-ins from internal rom by itself (designed for standalone use in various rhythm sound toys), but as a toy chip there is no tempo control. 3 pins can flash leds or indicate rhythm end.

This pinout was originally based on my own examination of the HT3010A in Bontempi B50; pin names and unknown functions were added later from Holtek HT3010 datasheet of 1996-06-25. The letter behind the HT3010 stands for the sample and rhythm set of internal rom. Apparently also a COB version exists, so I have added its internal die pad order too.
 
pin die pad name purpose
1 17 /K2 (base) trigger in
2 18 /K3 (conga) trigger in
3 19 /K4 (snare) trigger in
4 1 /DEMO plays built-in rhythm pattern for a fixed duration (4-beat)
5 2 OSC1 clock 180 kHz (wired through 82k to pin 6)
6 3 OSC2 clock
7 4 AUD audio out
8 5 VSS ground 0V
9 6 /T2B rhythm stop/pause in
10 7 /T1B fill-in button in
11 8 OUT1B 4Hz led /flash out (wired to pin 12, pin 13)
12 9 OUT2B busy out | sound level out
13 10 OUT3B 4Hz led /flash (inverted OUT1B) out | end pulse out
14 11 MODE select fill-ins or rhythms (wired to pin 15)
  12 VDD|MODE (depends on bonding option)
15 13 VDD supply voltage +2.4..5V (wired through 100 Ohm protective resistor to +6V & 47nF to ground 0V)
16 14 /FILL fill-in button in (wired to pin 4, 17, controls input behaviours)
17 15 /RHM auto-rhythm on/off toggle in
18 16 /K1 (cymbal) trigger in

The HT3010 can in auto-rhythm mode either play 1 rhythm with 4 fill-ins (MODE=hi) or 4 rhythms with 1 fill-in (MODE=lo, FILL starts here fill-in). The RHM pin toggles into auto-rhythm mode (in which K# pins select rhythms or fill-ins). The pins T1B and T2B are claimed to be test pins, but in my B50 they turned out to be inputs for 'fill-in' and 'rhythm stop/pause', so it may be that the HT3010A differs from the actual datasheet. The OUT#B pins can be end-pulse, led flash or sound level indicators, chosen by the manufacturer (mask options).

DEMO plays an internal rhythm 7 times continuously. Pressing RHM here switches to auto-rhythm and continues the demo. Pressing K1..K4 during this plays the corresponding rhythm pattern 2 times and returns to demo. Quote from datasheet: "The playing number of the demo rhythm depends on which Mode (Mode 1 or Mode 0) the system is in. The playing number is the remaining times of playing demo rhythm (before being interrupted by K1-K4 triggers) which are deducted by 2 in Mode 0. The playing times of the demo rhythm turn out to be 5 in Mode 1."

According to the datasheet, the letter after HT3010 stands for the sample and rhythm set. Versions A/C have for K1..K4 samples {ride cymbal, bass drum, low conga, snare drum}. B/D have {crash cymbal, low tom tom, timbal, high hat}. In both the rhythms set is {rhumba, tango, big band, rock}. E has samples {whistle, carhorn, boing, clap} with rhythms {rock, disco, march, rhumba}. F has samples {high hat, esnare, gesnare, ekick} with rhythms {rap1..4}. In all of them output OUT1B="4Hz flash", OUT2B= "flash follows sound", OUT3B="end pulse of all sections".
 

pinout COMUS 2743338, TMS370Cx1x

The "Texas Instruments W 739GWY, COMUS 2743338" (28 pin DIL)" is the CPU of Bontempi B50. By pinout it is likely the documented 8 bit CMOS microcontroller "Texas Instruments TMS370Cx1x" running a softsynth on a chip. (In its Bontempi name "COMUS 27433xx" the last 2 digits indicate software number of internal rom.)

The COMUS 2743338 outputs through a PWM bitstream DAC a monophonic main voice and organ chord accompaniment. It additionally triggers 4 percussion through an external percussion generator (Holtek HT3010A). The keyboard matrix has 10 inputs and 5 outputs; keys are grouped by 8.

caution: This pinout is based on my old handwritten notes; it may be incomplete and partially wrong. Other B-series keyboards employ the same CPU with changed software and (particularly B40) have a similar pinout. I identified the pin names and description by "Texas Instruments TMS370 Microcontroller Family User's Guide" of 1996. 

So the CPU is very likely one of these:

TMS370C311A (2K ROM, 128 byte RAM)
TMS370C310A (4K ROM, 128 byte RAM)
TMS370C010A (4K ROM, 128 byte RAM, 256 byte EEPROM)
TMS370C312A (8K ROM, 128 byte RAM)
TMS370C012A (8K ROM, 256 byte RAM, 256 byte EEPROM)

(Theoretically it also might be TMS370C3C0A (4K ROM, 128 byte RAM), but its PWM out at pin 17 contradicts the wiring.) Hence the internal ROM size may be between 2KB and 8KB with possibly additional 256 byte EEPROM.
 
pin TMS370Cx1x
name
COMUS 2743338
purpose
1 D6 KO2 keyboard matrix out
2 D7 KO1 keyboard matrix out
3 A7 KI8 keyboard matrix in
4 VCC supply voltage
5 XTAL2|CLKIN oscillator in (LC network)
6 XTAL1 oscillator out
7 A6 KI7 keyboard matrix in
8 A5 KI6 keyboard matrix in
9 A4 KI5 keyboard matrix in
10 A3 KI4 keyboard matrix in
11 A2 KI3 keyboard matrix in
12 VSS ground 0V
13 A1 KI2 keyboard matrix in
14 A0 KI1 keyboard matrix in
15 D5 KO5 keyboard matrix out
16 INT1 (wired to pin 21)
17 INT2 rhythm? (resistor to ground)
18 INT3 KI10 keyboard matrix in
19 MC (wired to ground 0V)
20 T1 EVT /K2 percussion base trigger out
21 T1 PWM audio pwm dac out
22 T1 IC|CR /K1 percussion cymbal trigger out
23 SPISIMO /K4 percussion snare trigger out
24 SPICLK /K3 percussion conga trigger out
25 SPISOMI KI9 keyboard matrix in
26 D4 KO4 keyboard matrix out
27 /RESET reset (capacitor to ground)
28 D3 KO3 keyboard matrix out

Interesting is that if this is indeed a TMS370Cx1x, the interrupt input INT1 is rapidly triggered by a feedback loop from the audio PWM (through PCB wiring), which hints that the waveform generator runs inside the interrupt service routine, where it does some funky stuff (likely lookup tables) to shape waveforms. Pin 19 (MC) would be an EPROM write voltage in development versions or EEPROM write protection override pin in versions equipped with it. (That it is grounded here may hint that it has indeed a function - possibly a test pin or that configuration is indeed programmed into EEPROM in factory, which may constitute a bitrot risk if necessary for the function of the instrument and make it dangerous to mess with this pin, which may accidentally overwrite rom contents.)

A variant of this instrument was the Bontempi B30 (mono, only 20 sounds, 12 rhythms), which has even a programmable drum pattern and different sound set, but lacks the (anyway quite useless) accompaniment. The similar Bontempi B40 (stereo with accompaniment, each 22 sounds & rhythms) and Bontempi B20 (mono, 15 sounds, 7 rhythms) have no individual buttons but select everything through keyboard keys (and a single "select" button instead of the white "power" button). The top of the line model of this series was the obscure mini synth Bontempi BS 3000.
 

 removal of these screws voids warranty...    
WarrantyVoid
back to tablehooters collection
 
 
back