Dan Van toy with voice control circa 1978 - Page 1
Forum section: electronics / projects

author: epitaxial
author_rank: Contributor
timestamp: November 22, 2022, 06:25:42 pm
content: A friend of ours asked my wife to paint some new graphics on the sides of this old toy to replace the paper decals that had fallen off. This is a voice controlled toy, from 1978 and it actually works pretty well. It responds to stop, right, left, etc. My first thought was how was this being done back then? It turns out I have no idea even after looking at the pcb. See for yourself, it's 4 logic ICs and a quad opamp. The microphone cable is the grey wire at the top left and the chips had their numbers obscured with magic marker.

author: harerod
author_rank: Frequent Contributor
timestamp: November 22, 2022, 07:50:17 pm
content: http://www.computercars.de/car/entex_dan_vanLooking at the complete list of commands:"GO; AHEAD; STOP; RIGHT; LEFT"This set of commands should have distinctive spectral (and maybe temporal) features that can be separated by a small matrix of analog filters. All the IC's datasheets are available.Could you take a picture of the bottom side of the PCB, please? Make sure that the traces are clearly visible (shouldn't be a problem).I couldn't find the time right now, but with the information that you already have provided, one should be able to work out the schematic.Naming the connected wires would also be a great plus for a sanity check.Edit 2211240917: Linguistics and phonetics are a hobby of mine. When I find the time, I'll feed those command words intohttps://www.fon.hum.uva.nl/praat/Edit 2211281902: For those who are new to this thread:Re-engineering this circuit from only a couple of pictures, with crucial analog component values missing, had me chasing a handful of red herrings. If you read my posts backwards, you will find the most recent insights. I am also updating some posts. In that case I will make the changes visible. Thanks for your patience.

author: Zero999
author_rank: Super Contributor
timestamp: November 22, 2022, 09:06:47 pm
content: As mentioned above, you need photographs of both sides of the board, with the camera facing straight at it, at the same distance. In image editing software, flip the track side and overlay it on the component side and set the transparency so the components side shows through. That will make it much easier to trace the schematic.

author: epitaxial
author_rank: Contributor
timestamp: November 24, 2022, 06:08:42 pm
content: As requested here are some better pics along with the traces. I will sketch up the power and drive motor wiring as it's a bit difficult to see. Power is supplied by 2x C and 2x D batteries. The blue/yellow/white bundle is for the steering.

author: epitaxial
author_rank: Contributor
timestamp: November 24, 2022, 06:09:33 pm
content: The images keep hitting the size limits.

author: harerod
author_rank: Frequent Contributor
timestamp: November 24, 2022, 07:14:03 pm
content: I am glad that you had the opportunity of taking those pictures, before returning the toy. Thank you very much. I'll sure want to look into that.I grinned, when I saw the counter being mostly not connected. When I first looked at the design I asked myself, how many stages of that counter they'd use (and for what).As a user: Do you recognize any specific modulation of your voice that would be required to make the thing work?Any difference in behavior between male/female kid/adult?What kind of accent do you speak?Phonetically this is rather interesting. I'd love to test this with General American and Received Pronunciation.I may also be overthinking things. At any rate, cool toy, thanks for sharing.Edit: Looking at those pictures, I realized how close we are to a full reconstruction of that schematic, including the actual transfer functions in the filters. I am not asking you to bend any legs. However, maybe we could get some shallow angle pictures from all four sides? That should give us the capacitor values as well. The knowing the transistor types would be a bonus, but their nature should come straightforward from the design.

author: harerod
author_rank: Frequent Contributor
timestamp: November 25, 2022, 03:57:51 pm
content: To elaborate on what Zero999 described:Photoshop: - overlay for notes- BOTTOM layer black/green, with adjusted contrast- BOTTOM layer with traces- TOP layer with componentsSchematic:- place the components in a schematicAdjusting the opacity of the green/BOTTOM layer, allows a variable "X-ray"-view of the traces, while tracing the board.At the moment I am still taking an educated guess for the transistor types (NPN/PNP).

author: harerod
author_rank: Frequent Contributor
timestamp: November 25, 2022, 11:44:01 pm
content: I guess I traced out the board. Before anybody complains about the resolution - I want to look at this again, after a good night's sleep.- I had to guess the power supply scheme. The two C-cells could be on top of the two D-cells.- At the moment I assume that the motor is powered from the D-cells alone.- The C-cells are used to boost the logic supply to 4..6V.- A couple of capacitors have a surprising polarization. (edit2212041055: due to assembly errors, as it turned out)- All transistors are the B-C-E pin-out version of the TO-92, like 2SC945.The analog section is a 1.Order HighPass, which simultaneously feeds two seperated 2.Order Multiple Feedback (edit2212041055:HighPasses) Bandpasses.The HP outputs are capacitor (HP) coupled into a "black magic" logic.The decoded command is then stored in in a couple of JK-FlipFlops, LEFT and RIGHT.The motor ist controlled by a wired LEFT OR RIGHT.Now that the structure is established, the interesting part is to figure out, which components of the voice signal are actually used and what the logic actually does. The way our vocal tract works and how our brain can decode different speakers is quite intriguing.

author: harerod
author_rank: Frequent Contributor
timestamp: November 26, 2022, 03:15:42 pm
content: Before we continue with the analysis of the schematic, we should take the time to establish a much simplified, yet sufficient, phonetic model of the command set. We do this in thearmchair linguisticsway, without having worked with the actual object of study.Vowel generation:Air passing through the throat is excited into wide spectrum vibrations (noise). By changing the tongue’s position, the oral cavity functions as two separate bandpass filters and hereby generates two distinct main tones, the formants F1 and F2. It is actually the difference F2-F1 that determines what vowel a listener detects. The airflow is not blocked and remains free from turbulences.Some vowel examples for an average male voice:F1 F2 F2-F1i 240 2400 2160e 390 2300 1910ɒ 700 760 60ɤ 460 1310 850u 250 595 345 <- for our model, ə/ʊ are roughly similar to uedit 2211281407:Liquid sounds:I started to adapt and expand the command model by additional phonetic effects that could trigger a pulse train for the JK-FlipFlops.This brought my attention to the liquid sounds [ l ] and [ ɹ ] in [ left ] and [ ɹaɪt].Fromhttps://en.wikipedia.org/wiki/Formant:"The liquid  usually has an extra formant at 1500 Hz, whereas the English "r" sound ([ ɹ ]) is distinguished by a very low third formant (well below 2000 Hz). "I am also starting to doubt my initial interpretation of the filters' function. The filter that generates the MFHP2_PULSE could be interpreted as a bandpass, with the poti controlling the lower cut-off./edit 2211281407Consonant generation:A characteristic of consonant sounds is that the airflow is restricted or even completely blocked and then released. The result is a sound signal containing high frequency noise.Some consonant examples:[ s ] alveolar fricative sound, produced by forcing air through a narrow channel between the tip of the tongue and teethridge.[ d ]/[ t ] alveolar plosive sound, formed by closing the escape of air by pressing the tongue against the teethridge[ g ] dorsal plosive sound, formed by pressing the back of the tongue against the soft palatehttps://en.wikipedia.org/wiki/Manner_of_articulationhttps://en.wikipedia.org/wiki/FormantFor the actual decoding, we can expect a combination of time, frequency and command logic state information.Command set, frequency over time (may be adjusted after getting more data, added liquids during edit 2211281420)go [ ɡəʊ ] [ ɡ ] high frequency - [ ə ] low frequency - [ ʊ ] low frequencyahead [ ə ˈhed ] low – pause – weak noise – low – [ d ] noise <- long sequenceright [ ɹaɪt ] liquid - low – high – [ t ] strong noiseleft [ left ] liquid – low – noise – strong noisestop [ stɒp ] [ s ] noise – strong noise – low – strong noiseI attached the current draft of the schematic plus some selected composites from Photoshop.

author: amyk
author_rank: Super Contributor
timestamp: November 26, 2022, 11:57:23 pm
content: A little more info:https://www.handheldmuseum.com/Entex/Entex1979/index.htmlI tried searching patents to see if they'd patented the circuit, but only found the shape of the toy:https://www.freepatentsonline.com/D266573.pdfAre those Westinghouse capacitors?

author: harerod
author_rank: Frequent Contributor
timestamp: November 27, 2022, 12:22:25 pm
content: Amyk, thanks for the feedback.At this point I am a bit surprised that the pictures got a dozen downloads each, while theschematic pdfonly got four. Well, all you guys can read The Matrix, me thinks.What is a "Westinghouse capacitor"?Regarding patents: I guess I am more Tesla than Edison, I can rarely understand why some stuff got patented. As far as this toy goes: IMHO the patent could have been about "voice controlled toy", rather than the circuit itself.The core magic of that toy is the choice of the command set, wherephonetic formandmeaningfit the purpose for a certain state of the control logic. This thing can never be more than a toy, though, because the circuit is sensitive to every sound pattern that matches the required characteristics.I have been preparing a rather lengthy walkthrough for the schematic. This will take some time, though. The annotations in the schematic must suffice for the time being. I propose (revised 2211281245):- one HP filter with integrator:consonant triggerbandpass- one HP filter with pulse counter (cyclic reset timer for pulse counter):[ i ] vs. [ e ] [ a ] triggerpulse count per time- statemachine / timer <- a.k.a "magic"Looking at the schematic: apart from the microphone pre-amp and the power transistors, everything elseand much morewould fit into an SOT23-6 ATtiny10. We have come a far way. At any rate, this doesn't take away my fascination with that toy and my admiration for the original designer.

author: amyk
author_rank: Super Contributor
timestamp: November 28, 2022, 04:26:17 am
content: Quote from: harerod on November 27, 2022, 12:22:25 pmhttps://en.wikipedia.org/wiki/Westinghouse_Electric_CorporationI knew they made larger electrolytic capacitors, but didn't know they also made small ones for electronics. Apparently still working after 40+ years in this toy.

author: harerod
author_rank: Frequent Contributor
timestamp: November 28, 2022, 09:52:46 am
content: Thanks for the wiki link. When I hear "Westinghouse" I think about yuge turbines.The small grey capacitors might all be 10u 16V.The blue ones could all be 2u2 16V.Since the highest voltage they ever saw was 6V, and the total runtime of that toy can't be very long, those capacitors may well have survived.MTTF of electrolytic capacitors, which operate well below half their rated voltage, should mostly depend on initial design/manufacturing quality, not electric aging.Which brings us to C403 (microfone decoupling, border, 10 o'clock) and C407X (JK_CLK forming, border, 6 o'clock), which I would have polarised the other way around.At this point I'd be really happy if I could get a list of all the component values, i.e. betterpictures from all four sides at low angle. I must admit that I am a bit stumped, regarding the timings and pulse generation for the JK-FF's. The logic structure is a bit different from what I expected. I couldn't make out any errors in my reconstruction, so far.I've attached the latest schematic, which hasn't changed, except for some additional notes. I also added an LTspice model of parts of the logic. For logic simulation I used the library collection from Alexander Bordodynov's page:http://bordodynov.ltwiki.org/

author: harerod
author_rank: Frequent Contributor
timestamp: November 28, 2022, 01:40:40 pm
content: Please check out the additions to the phonetic model, where I added the liquid sounds. I am beginning to form a different interpretation of the analog filter section. The reason for that is the requirement of multiple clock pulses for the JK-FF's.For sustained sound, the counter IC103 may actually overflow multiple times, before being reset by the oscillator IC102A/B.Another question is, if the HP-LP/comparator could be adjusted in a way to generate multiple MFHP2_PULSE's during the duration of one command.Clk JK1=!JK2K! JK2=JK1K0 L L <- after "stop"1 H H <- go / ahead2 L H <- yellow <- assuming "left"3 H L <- blue <- assuming "right"4 H H <- wrap to 1Looking at the JK state table and assuming that the schematic is correct, we have to come up with a set of filter parameters (i.e. component values) that perform the following operations for the command set:stop: any number of JK_CLOCK pulses (assuming 0), followed by a JK_CLEAR pulsego: any number of JK_CLEAR pulses, followed by 1 JK_CLOCK pulseahead: any number of JK_CLEAR pulses, followed by 1 JK_CLOCK pulseyellow: any number of JK_CLEAR pulses, followed by 2 JK_CLOCK pulses, assuming "left" as a good candidate for thisblue: any number of JK_CLEAR pulses, followed by 3 JK_CLOCK pulses, assuming "right" as a good candidate for this

author: harerod
author_rank: Frequent Contributor
timestamp: November 28, 2022, 06:39:03 pm
content: For those who are still following my musings, here is the most recent state of findings:During my search for a pulse generator for the JK-statemachine, I took speech samples of the command set from Google Translator and Longman Pronunciation Dictionary (J.C.Wells, ISBN-13 ‏ : ‎ 978-1405881180, CD edition) to Praat (https://www.fon.hum.uva.nl/praat/). What I saw there prompted me to have a closer look at the analog filters.While simulating the analog filters with different assumed component values, I was kindly reminded by LTspice that having a copy of Don Lancaster's "Active Filter Cookbook" (https://www.tinaja.com/ebooks/afcb.pdffromhttps://tinaja.com/ebksamp1.shtml) doesn't mean a thing, if one can't read. At any rate, as long as the filter components stay within a critical range, both of those filters will function as Multiple Feedback Bandpass Filters. See page 154, figure 7-5.Hooking the real PCB up to an oscilloscope and a signal generator would reveal, which frequency bands the designer has chosen to feed into the digital circuitry, to trigger the JK_CLEAR and to pulse the JK_CLOCK.

author: KE5FX
author_rank: Super Contributor
timestamp: November 28, 2022, 06:46:15 pm
content: Quote from: harerod on November 27, 2022, 12:22:25 pmBased on the way the thumbnails and links are interspersed, it looks like your schematic is just a link to a larger version of the first thumbnail. That's how it initially appeared to me, at least.Some very interesting (and usable-looking) source codewas posted recently. Put that on a Teensy 4 and you could give the van a bigger vocabulary than most people have.

author: epitaxial
author_rank: Contributor
timestamp: November 28, 2022, 08:13:26 pm
content: Sorry everyone it's a busy time of year. harerod you have done some amazing reverse engineering! For the record English is my native language and I reside in the USA. Luckily the paints my wife needs are still being shipped so I could take more pictures. The smaller TO-92 transistors are 2SC1815 and the single larger one is a 2SC2500. The one chip in question is indeed a SN74LS00N. If there

author: james_s
author_rank: Super Contributor
timestamp: November 28, 2022, 08:16:28 pm
content: There was a voice control IC you could buy back in the 80s, I had one I got from Radio Shack but never did anything with. Are you sure they didn't just relabel one of these with a standard jellybean part number to throw people trying to replicate the circuit? I've seen that done before on some early arcade games, ROMs given 74xx part numbers and such.

author: epitaxial
author_rank: Contributor
timestamp: November 28, 2022, 08:25:45 pm
content: More pics

author: harerod
author_rank: Frequent Contributor
timestamp: November 28, 2022, 08:47:51 pm
content: Quote from: epitaxial on November 28, 2022, 08:13:26 pmSorry for being a pain in the neck. This thing touches on several of my interests, so I decided to give it a closer examination. Your first post happened to come during a quiet period, these days I rarely spend time on electronics outside of work. Thanks for the pictures. Did you upload img_2809 twice on purpose? I'll look through them and come back if I can't decode any components. From what I see - maybe just give me views from all four sides in that angle.Could you give the writing on the green cappas, please?And the values on the electrolytic cappas, should that not be visible in any of your pics.

author: epitaxial
author_rank: Contributor
timestamp: November 28, 2022, 08:53:10 pm
content: No worries about being a pain in the neck. Glad to see someone else fascinated at how this thing works. Here are all the cap values as requested.

author: harerod
author_rank: Frequent Contributor
timestamp: November 28, 2022, 09:37:21 pm
content: We are nearly there. If you could provide me with all the resistor values in the green circles, then we have a complete schematic - I guess.Thanks!By the way:pictures 2809/2808 confirm that we have an assembly error for C407. Now I wonder where that white dot is for the 2u2 microfone capacitor...

author: Dundarave
author_rank: Regular Contributor
timestamp: November 29, 2022, 05:27:26 am
content: Here’s a link to a magazine article (pg. 49) that discusses the Radio Shack chip VCP200. It also seems to have the same set of commands (stop, go, left, right) along with the supporting circuitry for a practical application.This might make a useful addition to the conversation:http://ia803209.us.archive.org/9/items/radio_electronics_1991-04/Radio_Electronics_April_1991.pdf

author: harerod
author_rank: Frequent Contributor
timestamp: November 29, 2022, 12:44:07 pm
content: Dundarave, thank you for that article.KE5FXmust be proud to read that his Teensy 4 is dubbed a "dedicated supercomputer". Heck, I still have vivid memories of probing the brains of people who had actually worked with Crays, discussing the nifty tricks Seamour was pulling to achieve that performance by a piece of furniture. Talk about "couch computing".For a some time I even doubted that a 74LS00 quad-NAND could function correctly in that place. Since its gate D functions as the power-up reset, the possible replacements from the 74-family are quite restricted. A 74LS86 quad-XOR wouldn't yield any useful function.James_s, I didn't really believe in a more eleborate obfuscation, since the existing circuitry seemed sufficient for the task, albeit arranged a bit different from what I would have done. It wouldn't make any economic sense either, since the "magic chip" itself would have served as a copy protection (Sinclair ZX Spectrum ULA comes to mind).When I got the timing information for MC14069 gate E/D and C, and compared that to the voice samples, I wouldn't believe that those timings could be made to fit. However, starting at about 200Hz input frequency, we will actually start to see pulse trains on JK_CLOCK. See "200Hz.png".The audio sample "praat_right_US_male.png" wouldn't yield the three clocks required for the JK-FF's to go to state 3. However, a longer drawn out version of that command will.We can now infer the function of the MC14024N and its reset oscillator. That oscillator, composed of MC14069 gate A/B, generates a symmetric 15ms signal. MC14024N-Q7 causes pulses on JK_CLEAR for an average input frequency of853Hz426Hz and above. However, those JK_CLEAR pulses are gated by JK_CLOCK in two ways:- directly via 74LS00 gate C- indirecty by suppression of TONE_CLOCK via D2This means that as soon as the MC14069 gate A/B/C block is fed MFBP2_PULSE's via C9, the JK_CLEAR generation is pretty much blocked.Now that the basics are figured out, it is only a matter of training the operator to stress and stretch those commands in a way that fits our circuit. A process that should be completed quite intuitively. This fits with the instructions given in the article about the VCP200 (Commands/Pronunciation table).I'd love to see/hear that circuit being handled by an "American native speaker" operator. *hint*epitaxal, if you could find the time to check the schematic against the PCB and fill me in on the missing values, that would give us some closure. Thanks for sharing all those pictures.edit2211291357:made some typos in the schematic regarding reset oscillator: must be 15ms and 426Hz for I_DETECT generation.

author: harerod
author_rank: Frequent Contributor
timestamp: December 08, 2022, 03:28:06 pm
content: epitaxal sent me additional pictures of the PCB, which I promptly overlooked. I finally saw them this afternoon. Based on those pictures I produced what I'd like to call a "preliminary final" version of the schematic. The schematic's structure hasn't been adjusted since my first upload. However, there have been some corrections and updates on the component values.Unless I have made mistakes in identifying the color codes (and I am open to reviews and suggestions), we have now the actual parameters used in the analog filters. I attached a screenshot of the LTspice filter simulation as well. Please note the digital simulation in my last post, when reading the following explanation.The first multiple feedback filter, which drives the counter, doesn't show resonance, only a high-pass characteristic. I can accept that, since the actual filtering is done by the counter. Any signal that produces enough ticks within 15ms will reset the JK-FF's.The second multiple feedback filter shows a nice 22dB resonance at about 970Hz, -6dB from peak between 770Hz and 1100Hz. This corresponds with the ɒ/ɤ vowel sounds. The rectifier/integrator has a charge/attack time constant of 4.7ms, discharge/decay time constant of 470ms. The actual threshold is set by the potentiometer.Edit2212090000:those long time constants in fact defeat my theory about the fast pulse trains. So we're back to an actual modulation in the tone being required to trigger the statemachine stepping.In conclusion I'd suggest that the Dan Van works as follows:- any voice signal averaging above 426Hz will reset the JK-statemachine within 15ms- any sustained voice signal containing tones between 770Hz and 1100Hz will inhibit the JK-reset block, as soon as the rectifier/comparator has triggered (4.7ms attack time constant, poti).Edit2212090000:After 360ms this signal causes a pulse train, producing a tick for the state machine every 250ms. The 470ms decay time constant partially compensates the initial delayA sufficiently large modulation in pitch will cause additional pulses into the statemachine. These pulses are first accepted after 360ms and then after every 250ms.- the whole mystery boils down to training the user to produce adequately longtrains ofɒ/ɤ vowel sounds by uttering the magic commands with the correct intonationYes, I want one. I'll post pictures as soon as I have built one.