Peter Balch's instructables
Tell us about yourself!
Achievements
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
- Peter Balch commented on Peter Balch's instructable MIDI Sonar "Theremin"
View Instructable »The first thing to find out is whether the problem lies in the VS1053 module or in the sonar module.In "Step 1: Controlling the VS1053" (above) I show how to control the VS1053 directly from the PC. The Windows Miditheremin0.exe program sends commands to the VS1053. You chould check that your VS1053 module is responding properly to volume commands.In "Step 2: Using the Sonars", you can test the sonar modules.A simple test of the sonars would be to swap them. If the right-hand one works but the left-hand one (the volume) doesn't then swap them. Does the right-hand now not work?
- Peter Balch commented on Peter Balch's instructable MIDI Sonar "Theremin"
View Instructable »I'm glad you got the project working with a red VS1053 board. It's a pity there has to be a hardware kludge to enable real-time MIDI.Has anyone got a software modification to work? There are ones decribed here:https://github.com/diyelectromusic/sdemp/blob/mast...and herehttps://gist.github.com/microtherion/2636608I don't have a red board so I can't test it but I presume that in my in my setup() function, you would call VSLoadUserCode(). Maybe just after the call to delay(500).The blue board I used works out of the box. I've just ordered a green boardhttps://www.ebay.co.uk/itm/VS1053-MP3-Module-Devel...I'll report of whether it works.Peter
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »Which collector? The collector of Q2?If the top of R37 was connected to the collector of Q2 then the current through R37 would be limted by R30. The maximum current through R37 (and hence through the DUT) would be around 1mA. The curve tracer sends a maximum current of 50mA through the DUT.Q3 acts as an emitter-follower. An emitter-follower has a voltage gain of (approximately) 1 but has a high current gain.
- Peter Balch commented on Peter Balch's instructable MIDI Sonar "Theremin"
View Instructable »Sorry for the long delay - Instructables has only just forwarded your question to my email.Did you get any further? What goes wrong? What is happening?Can you try it in serial mode - that's easier to get working?Peter
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »(Sorry for the delay - Instructables has only just forwarded your comment to my email.)It looks good. I like the idea of using a LiPo and Mini Pro. 'esw2blier' also used a LiPo but has a boost circuit which must reduce the battery life.What battery life do you get?Peter
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »(Sorry for the delay - Instructables has only just forwarded your question to my email.)I've not used a Due. The Due runs at 3.3V while my circuit assumes the Pro Mini (or Nano/Uno if you prefer) runs at 5V. So you'll need to modify my circuit appropriately.The Due analog output delivers 0.55V-2.75V while my circuit assumes DAC produces 0V-4V. Once again, you'll need to modify my circuit.Peter
- Peter Balch commented on Peter Balch's instructable MIDI Sonar "Theremin"
View Instructable »Wow. That looks really nice.Do the LEDs do anything? Why are there two push-buttons?What sort of amp did you use? In the Instructable I suggest the PAM8403 but I've gone off them - I've had them become unstable and overheat. Is it an external amp - I see two jack plugs.> I found out that it was just to remove a resistorCould you publish an explanation to help other people?Peter
- Peter Balch commented on instructables's instructable Supported File Extensions
View Instructable »Why do you allow GZIP files (which are common under Linux) but not ZIP files (which are common under Windows)? Do you have restrictions on what files a GZIP file can contain?Why do you not allow gerber files? You allow 3rd-party 3D design files but not circuit designs other than those using your own proprietary software.
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »That's a good question - but I don't know the answer.The AD9833 datasheet says "When the AD9833 is powered up, the part should be reset" which implies that it doesn't remember its settings.The AD9850 doc talks about "This shutdown mode prevents excessive current leakage in the dynamic registers of the device" which implies that its registers are dynamic - they don't remember their settings.Both chips have a shutdown/sleep mode. Could you make the chip sleep when it's not in use - so it would remember its settings when it wakes up? I think the answer is no. The AD9833 takes 0.5mS when in sleep mode - which is huge. I can't see where the AD9850 doc specifies the shutdown current.> what would be the simplest preliminary-stage component driving such a system? I think it…
see more » - Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »It's impossible to know what's going wrong withou more information.In ArdOsc1.exe, if you click Options|Debug then click Options|Comms, you see what characters the PC sends to the Arduino and what it receives.In ArdOsc1.ino, commands are received in the main loop() around line 461. You can see that a 'z' command calls SendADC() which sends the data back to the PC. Or a 'U' command followed by a number sets the prescalar then calls SendADC().Using ArdOsc1.exe, you can watch what the PC is sending to and receiving from the Arduino. Maybe you can work out under what circumstances it freezes.
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino

That kind of behaviour sounds like a bad connection so that one of the Arduino pins is floating.Do you mean the "sticking" happens when you remove the test signal from Arduino pin A0? Yes. That's what Arduino pins do - they have very high input impedance so they retain any charge on them. Pin A1 should return to its mid-range because of R1 to R5.
View Instructable »So are you using the hardware from "Step 2: The Simplest Oscilloscope" and the software from "Step 8: Adding a Display"?Does the hardware from "Step 2" work with the software from "Step 2"?Peter
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »That's annoying. Will it compile with "Processor ATmega168"? An ATmega168 has half the RAM and half the ROM of a 328 so I guess it would crash if you tried to run a big program on it. I'm surprised the programming succeeded.
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »Looks good. From the layout it looks like you might be thinking of a handheld probe like vladimir.loula and MasterLaptopP.
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino

Have you tried both "Processor ATmega328P" and "Processor ATmega328P (Old Bootloader)" in the Tools menu? Different batches of Arduino Nanos from China have different of bootloaders.Also, it will fail if you've accidentally connected the Rx or Tx pin to ground or 5V.
View Instructable »The "logic" input, frequency meter, voltmeter, test signal and signal generator can be turned off by setting the following booleans to false:bool bHasLogic = true;bool bHasFreq = true;bool bHasVoltmeter = true;bool bHasTestSignal = true;bool bHasSigGen = true;You don't need to remove any code.The level of amplification is controlled via the setMode() function and the curMode variable. When you have your project working, you could try disabling the code that calls setMode().Peter
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »That's great. It looks good. It's really nice, isn't it, when you see the curves just like in a textbook.> I have used an arduino nano Yes. I'd do that if I was starting today. I just happened to have a ProMini to hand.Is it possible for you to post the pcb design and gerbers somewhere? People keep asking about pcbs.Peter
- Peter Balch followed Peter Balch
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »You can download the code from the instructable, for instance in Step 2 and Step .8
- Peter Balch commented on Sawdust Willy's instructable Electromagnetic Pendulum
View Instructable »An interesting project.I believe that if you use a germanium transistor rather than silicon, you'll be able to run it with a single cell. I presume that's because Vbe for a germanium (the "turn-on voltage") is less than half that for a silicon.Possibly you can find working germanium transistors in old scrap transistor radios. You'll need to reverse the battery connection if it's a PNP transistor.Also, isn't 75deg a bit of a large swing? I thought you tried to keep the swing of a pendulum clock small for better timekeeping. I imagine you can't assume the amplitude will remain cnastant as the battery discharges.
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »The easiest way is to have a rotary encoder. If you seach Instructables for "Rotary Encoder Arduino" you find several of projects which will teach you what to do:https://www.instructables.com/circuits/howto/Rotary+Encoder+Arduino/So you'll replace the pushbuttons of my design with rotary encoder inputs.If you look at my INO file, you will see the pins for the buttons defined as BtnHorz and BtnVert. Serach the whole of the INO for BtnHorz and BtnVert.You'll see that when they're pressed, the functions incSelSG() and incAdjSG() are called. You should call incSelSG() and incAdjSG when the rotary encoders turn.But you want to increment or decrement depending on which way the encoder is turning. You'll see that I always do the same thing using ++ or --. For instance: freqSGLo[SelSG]…
see more » - Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »The AD9833 cannot do a continuous sweep. The frequency will always increment in steps. You need an analogue circuit if you want a true continuous sweep.I chose 1mS for the step period. I guess it could be shorter but I haven't tested how much shorter.Yes you could write an Android app to talk to the AD9833 but you'd need hardware, such as an Arduino, to translate the USB from the phone into SPI for the AD9833. I don't write Android apps but there are lots of web pages explaining how to use an Android device to control an Arduino.Peter
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »Do you mean the Si5351? Why is that better than just using the internal timing of the Arduino? What is it you're wanting to achieve?My Arduino software changes the frequency every millisecond. So 1/8 sec is 125 steps. The sweep is logarithmic so the frequency will increase by about 3.6% every step. Is that resolution good enough? Do you need the sweep continuous rather than discrete?
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »You would think that the word "volatile" tells the compiler it can optimise it away but, as far as I know, it's the opposite. "Volatile" tells the compiler it's not allowed to remove it. Adding an extra channel would work fine. The limit is how many samples per second. You can take. I think I found it was slightly faster with one channel because you didn't have to wait for the ADC input voltage to stabilise after changing channel.It's worth doing some experimanets. Please let me know how you get on.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »Great.Did you need to make changes to the software?
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833

Did you also change the value of numberOfDigits?What hex values are being sent to the chip?
View Instructable »> i did not change the hex values to the register.So what values are being sent? Use a Serial.print statement to see what you're telling the chip to do. Does that match what the chip is is expecting?
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »Great - this has been a very popular Instructable.Nice layout.
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »Good. I'll update the Instructable to warn about the problem.Thanks.
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833

Hi EmilI'm sorry you're having trouble. You say that "other similar combinations" don't work. What does work? Do simple commands like 002500S work?What commands do or don't work?Peter
So it looks like the loop inside the Sweep function only executes once.The loop is do { ... } while (!Serial.available());The loop stops when the Arduino receives a character. Could you be sending002000M000200SIfollowed by carriage-return or line-feed? And that extra character is terminating the loop?The Serial Monitor has a box at the bottom right tha might say for instance "Both NL & CR" which I think might send characters after your command. Try setting it to "No line ending".
View Instructable »I don't know why it's going wrong just with that command.You could put some debugging statements into the sweep function. See below. Then use the Arduino Tools SerialMonitor to see what Sweep thinks it's doing.void Sweep(int n) { int fmin,fmax; fmin = calcFreq(freqSGLo); fmax = calcFreq(freqSGHi);Serial.print("fmin ");Serial.println(calcFreq(freqSGLo));Serial.print("fmax ");Serial.println(calcFreq(freqSGHi)); int i=0; do { long f = exp((log(fmax) - log(fmin))*i/(n-1) + log(fmin)) +0.5;Serial.print("f ");Serial.println(f); SG_freqSet(f, waveType); delay(1); i++; if (i >= n) i = 0; } while (!Serial.available()); SG_freqSet(calcFreq(freqSGLo), waveType);}
- Peter Balch's instructable MIDI Sonar "Theremin"'s weekly stats:
- Peter Balch's instructable PPE Face Shield's weekly stats:
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »That looks lovely. You used perf board right - the sort where every hole is an individual pad. I'm impressed by the result. I've only ever used stripboard and tripad board. You could easily make it into a hand-held probe.Eurorack will be huge compared to that. I like the idea of a Eurorack version. Presumably it takes the place of a VU meter. Would it need any controls at all?
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino

(Sorry about the delay - I didn't get an email notification for some reason.)Which plotter do you mean? The OLED?
View Instructable »The plotter that's part of the Arduino IDE expects data in a particular format. It should be text with one line per "reading". That line usually contains a single number. The value of the number is plotted as the y-axis of a scrolling chart. You can plot multiple values by separating them with " " on the line.Here's an examplehttps://learn.adafruit.com/experimenters-guide-for-metro/circ08-using%20the%20arduino%20serial%20plotter(My INO sends hex bytes in a format that allows my Windows program to plot the curves in the way you'd expect to see them in a textbook.) I don't think the Arduino plotter has a way of plotting 2D graphs.Peter
- Peter Balch commented on theHVguy's forum topic HEY! I was trying to get 2 HC-SR04 to work together, such that i get the average of the 2 readings. but it doesnt work as expected and only displays 'OUT OF RANGE' on serial monitor. please helpView Topic »
I don't have time to analyse your code in detail but, at first glance, it looks like you're triggering one HC-SR04 then triggering the other then waiting for a reply from each one. That won't workThey'll hear each other's echos. You must trigger one, wait for it's echo (i.e. the first echo it hears) then wait at least 10-20mSec for all the other echos from the room to die away then trigger the second HC-SR04 and waits for its echo.If both HC-SR04s are pointing in the same direction, you won't get any benfit from having the second one. Search https://forum.arduino.cc for "multiple HC-SR04".
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833

Looks good.It seems like you're connecting the 3V3 output of the Arduino to the 3V3 output of the HW-131. Is that OK? I'd use one or the other but not both.
Looks good.It seems like you're connecting the 3V3 output of the Arduino to the 3V3 output of the HW-131. Is that allowed with an Arduino? I'd use one or the other but not both.
Looks good.It seems like you're connecting the 3V3 output of the Arduino to the 3V3 output of the HW-131. Is that OK? I'd use one or the other but not both.
View Instructable »Looks good.It seems like you're connecting the 3V3 output of the Arduino to the 3V3 output of the HW-131. Is that OK? I'd use one or the other but not both.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer

Pierre-Yves Noyal has built the circuit and has, very kindly, sent me the design files for his PCB. They work with CIDESS - a design package you can download for free.Unfortunately, Instructables has blocked everyone from uploading PCB design files. A move which seems utterly bizarre in a category devoted to "Circuits". If you want to use CIDRESS and you want the files, email me personally - you can google for me.Peter
View Instructable »Pierre-Yves Noyal has built the circuit and has, very kindly, sent me the design files for his PCB. They work with CIDESS - a design package you can download for free.Unfortunately, Instructables has blocked everyone from uploading PCB design files. A move which seems utterly bizarre in a category devoted to "Circuits". If you want to use CIDRESS and you want the files, email me personally - you can google for me.Peter
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »I can't see where there are 47k pullups on SCL and SDA. Which diagram are you looking at? In the diagrams I've checked, the pullups are 4k7. (That means 4.7k ohms, 4700 ohms.) Replacing the decimal point with the "k" multiplier is standard in electronics. (So "6R8" means 6.8 ohms. "3M3" means 3300000 ohms.) You're less likely to overlook the tiny decimal point if it's a large letter. It dates back to the days when design drawings were often copied with poor quality copiers and a decimal point could easily get lost.The value of the pullups should be large enough not to stress the pull-down transistors of the I2C bus but small enough pull the lines up quickly enough for fast bus speeds. 4k7 is reckoned to be a good compromise for a short bus with just one or tw…
see more » - Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »Thank you for the photos but I think what TiberioV and others would like is a gerber file they can send to a PCB manufacturer. Does CIDESS produce a gbr file and a drill file? It must do surely?I don't see how you can upload it here - but I can. If you can get a gbr file, send it to my personal email and I'll upload it. Google for "peterbalch" to find my address. Or send me the design files.> DO NOT SOLDER THE 2 ATMEGA PIN IN RELATIONSHIP WITH R14 AND R15 I think I see what you mean. The tracks go under the pins and the pins are missing. Would it be possible to remove the pad and the hole for those Arduino pins so there's no danger of getting it wrong?Thanks Peter
- Peter Balch commented on Peter Balch's instructable Folding Arcade Cabinet
View Instructable »Good idea about the latch. I can't quite imagine how it would fit. I'll think about it. When I was storing it, I stored it vertically upside down so it stayed closed - the top surface is at right angles (so it stands upright) whereas the bottom is sloping.A carry handle is nice but I can't imagine where I'm going to carry it to. I guess it might be like the 1960s when you carried your portable Dansette round to your friend's house to listen to records. A tailored canvas bag might be better.Yes, you're right about needing somewhere for the (detached) joystick handle, mains cable, etc. I thought about a "cupboard" in the back but there wasn't room. When it's folded, there's a rectangular space between the "keyboard unit" and loudspeaker panel. That's where I keep things.…
see more » - Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »I'm glad it's working for you. "TiberioV" (see below) was asking last week for a through-hole PCB design. Could you send your gerbers to him? Could you post them here so they're available to other people?CIDESS looks like an interesting PCB design package. I see that you've avoided wire links by varying the length of resistors. Is that built into CIDESS? The package I use (EasyPC) doesn't allow it so I've had to define lots of resistor packages of different lengths.Peter
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »Yes, I apologise for using Easy-PC. It's not the most popular design package on Instructables.If you read through the comments below by people who have made their own PCBs, you might find someone who will send you schematic and layout files in a format you can read. "amr101dm" was offering some spare PCBs a year ago.The through-hole version is really showing the layout on stripboard. I didn't expect anyone to have it produced as a PCB. I suppose I could upload the gerber files for the stripboard layout but it would be a weird PCB.I didn't test the SM version. It was just a suggestion that people might use. I think there are comments below that it was difficult to find transistors for the pad layout I'd chosen.Some PCB design software can reverse engineer a pcb layout (from a ger…
see more » - Peter Balch commented on joe-pioneer's instructable The Eratosthenes-inator
View Instructable »There is indeed much other evidence that the world is a sphere of radius 6400km. I'm just not sure about the oft-repeated tale that Eratosthenes proved it or measured it.I am always very suspicious of accounts of scientific history that appear to be hagiographies or what Stephen J Gould referred to, in many essays, as Whiggish History. In Time's Arrow, Time's Cycle Gould talked about Hutton and Lyell but the same applies to Newton or Darwin or even Eratosthenes. It's a "self-serving mythology." The estimate that Eratosthenes arbitrarily chose for the distance to the sun was that of Aristarchus. Hipparchus had used parallax to calculate the distance to the moon (and was off by 7%). Aristarchus then tried to do the same for the sun but was off by a factor of 1000. Eratosthenes cou…
see more » - Peter Balch commented on kylegilbert's instructable Millennium Falcon Dashboard (Full Scale Garage Build)

If you just want "random" flashing LEDs then a 75154 and 555 would work well but the CD4060 chip does it all. It has an on oscillator and a counter.http://www.circuitdiagram.org/multiple-timing-flasher.htmlIf you want the LEDs to come on in sequence then stay on, then a bar-graph display chip - the LM3915 - would work I think. This circuit looks goodhttps://learn.sparkfun.com/tutorials/dotbar-display-driver-hookup-guide/all(about half way down, labelled "Schematic view of simple LM3914 circuit"). But replace R3 - the input to pin 5 - with a 10k resistor to 5V and a 1000uF capacitor to 0V.The voltage should slowly rise and switch on the LEDs. The LEDs will be different colours and scattered around the dashboard of course.
A 74154 driven by a 555 would work but if you just want "random" flashing LEDs then the CD4060 chip does it all. It has an oscillator and a counter.http://www.circuitdiagram.org/multiple-timing-flasher.htmlIf you want the LEDs to come on in sequence then stay on, then a bar-graph display chip - the LM3915 - would work well. This circuit looks goodhttps://learn.sparkfun.com/tutorials/dotbar-display-driver-hookup-guide/all(about half way down, labelled "Schematic view of simple LM3914 circuit"). But replace R3 - the input to pin 5 - with a 10k resistor to 5V and a 1000uF capacitor to 0V.The voltage should slowly rise and switch on the LEDs. Your LEDs would be different colours and scattered around the dashboard of course.
View Instructable »If you just want "random" flashing LEDs then a 75154 and 555 would work well but the CD4060 chip does it all. It has an on oscillator and a counter.http://www.circuitdiagram.org/multiple-timing-flasher.htmlIf you want the LEDs to come on in sequence then stay on, then a bar-graph display chip - the LM3915 - would work I think. This circuit looks goodhttps://learn.sparkfun.com/tutorials/dotbar-display-driver-hookup-guide/all(about half way down, labelled "Schematic view of simple LM3914 circuit"). But replace R3 - the input to pin 5 - with a 10k resistor to 5V and a 1000uF capacitor to 0V.The voltage should slowly rise and switch on the LEDs. The LEDs will be different colours and scattered around the dashboard of course.
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »Sure. You get what you pay for. The gabotronics modules are $55 to $118 plus postage. A DS0128 is £10. The Etepon at £22 looks interesting.
- Peter Balch commented on joseph.bartin's instructable The Eratosthenes-inator

He knew that during a lunar eclipse its shadow was circular. I guess if it was Discworld-shaped then its shadow would sometimes be an ellipse (plus the elephants and turtles).
Indeed. Eratosthes's experiment did nothing to prove the earth was a sphere. It made two assumptions - that the earth was a sphere and that the sun was a long way away. Either of those assumptions could have been wrong.Let's try your thought experiment.The two points he used were, lets say, 800km apart (Alexandria and Syene). That gives an angle of 7.2 degrees. If you had a tower half way between them (in Asyut), then the angle of its shadow would be 3.2 degrees.Let's assume that the sun wasn't a long way away. Let's say the radius of the earth is about equal to the distance from the surface to the sun.Radius of the earth = 12804kmSurface to sun = 12779kmThe angle at Alexandria (800km from Syene) would again be 7.2 degrees but at Asyut, the angle would be 3.6026 degrees. He didn't have th…
see more »View Instructable »Surely Eratosthenes proved that the earth is round with a radius of 6300km and the sun is very far away. Or that the earth is flat and the sun is 6300km away. Or that the earth has a radius of 12700km and the sun is 12700km away. Or anything in between. What proof did he have that the sun was a long way away?He knew the earth cast a circular shadow on the moon so it's "round". But what if he'd done his experiment on Discworld?
- Peter Balch commented on kylegilbert's instructable Millennium Falcon Dashboard (Full Scale Garage Build)

It sounds like you're not 100% comfortable with designing electronics. Electronics hobbyists will immediately suggest addressable LEDs and an Arduino but, as you've probably found, that needs quite a lot of background knowledge.It may be easier for you to use simple logic gates rather than learn how to program a microprocessor.Search eBay for "LED chaser kit". Perhaps it isn't quite what you want but it's getting closer. Or this youtube project gives some nice effects; I like the randomness:https://www.youtube.com/watch?v=D0CPXh-ycvkI presume what you want is, when you flip a switch, a bunch of LEDs come on in sequence then stay on. Right?
It sounds like you're not 100% comfortable with designing electronics. Electronics hobbyists will immediately suggest addressable LEDs and an Arduino but, as you've probably found, that needs quite a lot of background knowledge.It may be easier for you to use simple logic gates rather than learn how to program a microprocessor.Search eBay for "LED chaser kit". Perhaps it isn't quite what you want but it's getting closer. Or this youtube project gives some nice effects; I like the randomness:https://www.youtube.com/watch?v=D0CPXh-ycvkI presume what you want is, when you flip a switch, a bunch of LEDs come on in sequence then stay on. Right?
It sounds like you're not 100% comfortable with designing electronics. Electronics hobbyists will immediately suggest addressable LEDs and an Arduino but, as you've probably found, that needs quite a lot of background knowledge.It may be easier for you to use simple logic gates rather than learn how to program a microprocessor.Search eBay for "LED chaser kit". Perhaps it isn't quite what you want but it's getting closer. Or this youtube project gives some nice effects; I like the randomness:https://www.youtube.com/watch?v=D0CPXh-ycvkI presume what you want is, when you flip a switch, a bunch of LEDs come on in sequence then stay on. Right?
View Instructable »It sounds like you're not 100% comfortable with designing electronics. Electronics hobbyists will immediately suggest addressable LEDs and an Arduino but, as you've probably found, that needs quite a lot of background knowledge.It may be easier for you to use simple logic gates rather than learn how to program a microprocessor.Search eBay for "LED chaser kit". Perhaps it isn't quite what you want but it's getting closer. Or this youtube project gives some nice effects; I like the randomness:https://www.youtube.com/watch?v=D0CPXh-ycvkI presume what you want is, when you flip a switch, a bunch of LEDs come on in sequence then stay on. Right?
- Peter Balch commented on kylegilbert's instructable Millennium Falcon Dashboard (Full Scale Garage Build)

Update: I looked a string of blue LED lights from a "dollar store" powered by 3 AA cells. They're wired in parallel with just one 33 ohm resistor for all of them. So it's not goint to work for what you want. I think you're going to have to use individual LEDs.
> I'd love to add some slight delays ... but I could use some advice with this.My understanding is that in LED christmas lights, the LEDs are wired in series. Whatever you do to affect one of them will affect all of them. So you can't do it with LED strings like that.Let's say, instead, you wire-up individual LEDs to individual switches. The calculation goes like this:The LED has a forward voltage drop of 1.7V. It needs a current of 10mA (0.01A). You're powering it from a 5V "wall wart". You need a resistor to limit the current to 0.01A. So the resistance is (5-1.7)/0.01 = 330 ohms. For an indicator light, most people use 470ohms so the LED isn't as bright as it could be.Let's say you put a capacitor across the LED. So the capacitor has to charge through the resistor before t…
see more »View Instructable »Update: I tried it with a 12V supply, a 1.5k resistor and a 2200uF capacitor. That gives a quarter second delay which may be what you're looking for.Have you thought of using a digital photo frame for the display to show a sequence of "technical" and "navigation" pictures? They're pretty common in charity shops and car-boot sales and are not too expensive on eBay.
- Peter Balch commented on Peter Balch's instructable Magic Lantern Revamp
View Instructable »Sorry for the delay in responding, I'm just back from backpacking in Colombia for six weeks.I'm really please with the projector. It looks lovely and works well. The problem is finding magic lantern slides. I've got a dozen but they're rather dull. What I want is "Views of the Holy Land" or "Castles of Scotland" - the sort of show that would be put on in a village hall in 1900. I found a box of a hundred slides in an antique shop but the guy wanted £5 each for them which I thought was excessive so I declined. I'll keep looking.I managed to get a box of blank glass plates and I'm wondering whether I can make my own slides. Perhaps I can laser print onto transparent film and sandwich it between the plates.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »Sorry for the delay, I'm backpacking in Colombia for a few weeks.WiFi or BT would be great for displaying on a phone. Please do write an inscrutable for when I get home.
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »Excellent. I look forward to your instructable when you finish!
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino

Interesting. The STM32 gets a much better sample rate. I guess it's time I started learning how to use it.
View Instructable »Sorry for the delay I'm backpacking in Colombia for a few weeks.The way an op amp works when used as an amplifier is that it adjusts its output so as to try to keep its negative input at the same voltage as its positive input. They should differ by a few microvolts.So the input to A1 will be centred on 0.55V.I hope that makes sense.Peter
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »That sounds good. Did you use my code for the OLED?My code is more complicated then it needs to be probably because all I did was delete lines from the "Oscilloscope in a Matchbox".
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »Yes, as far as I know they have an identical specification apart from the USB chip. Different Arduinos have different bootloader sizes which may make a difference. My advice is to try compiling the program - if it compiles OK, it should run OK.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »> Where is the probe to test the transistor? The 14pin Zif socket? Yes. As it says in Step 1: How to Use It,"Put the Device Under Test (DUT) into the ZIF socket. The menu screen shows you which pins to use. PNPs, p-channel MOSFETS and n-channel JFETS go in the left side of the socket. NPNs, n-channel MOSFETS and p-channel JFETS go in the right side of the socket."> Is it possible to replace the socket with probes?You'd need one set of probes for PNPs, p-channel MOSFETS and n-channel JFETS and a second set of probes fo NPNs, n-channel MOSFETS and p-channel JFETS. That's 6 probes in total.Alternatively, you could have just 3 probes and a changeover switch to connect them to the left or right side of the ZIF socket.I've found when testing components that a socket is more conv…
see more » - Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer

Afterpen_width = 2;all lines will be drawn with a disc of radius 2. Afterpen_width = 1;all lines will be drawn thin. So insert an assignment to pen_width before any call to the DrawLine function:pen_width = 2;DrawLine(....);There are several assignments to pen_width and calls to DrawLine in the INO file. You can search for them.
View Instructable »A Windows program is attached (in SimpleILI9341.zip in Step 4) which allows you to make your own fonts and icons. It also allows you to make your own bitmaps.In the SimpleILI9341 library, fonts are used when writing strings. Bitmaps are used for the small pictures.The curves of the Transistor Curve Tracer are drawn as lines, not fonts or bitmaps.Are you asking how to change the width of lines? In the SimpleILI9341 library, there is a global variable called pen_width. extern uint8_t pen_width; // if pen_width > 1 then draws with a disc of radius pen_widthPeter
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
View Instructable »What a great idea. What is it powered with? Is that a power-jack or a ground connector?
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »My design uses the MCP4802 - an 8-bit DAC. The MCP4812 is a 10-bit DAC and the MCP4822 is 12-bit so you may need to make some changes to the program. I have not used the MCP4812 or MCP4822.You should download the MCP48x2 datasheet from Microchip. At first glance, it looks like the MCP4802, MCP4812 and MCP4822 all use the same registers so my code might work.
- Peter Balch commented on Peter Balch's instructable Signal Generator AD9833
View Instructable »Yes it's an I2C Oled. And you're right, the clock for I2C is called "SCL" not "SCK". Thank you, I'll correct the text.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »How do you operate it without a touchscreen?The PCB looks very good. Would you be happy to upload the Gerbers for other people to use? Would it work with a touchscreen?
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »T_IRQ is not used by the Arduino library.How did you test the connections? Did you use a meter or just look at them? Have you got any solder-bridges?If you search Instructables for ILI9341, you will find other simple projects you could use to test whether your screen is working.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer

If the LCD has a ILI9341 driver IC controlled with SPI then it should produce some sort of output with my code. You may find that you need to shift the display left or right a couple of pixels. My design uses the MCP4802 - an 8-bit DAC. The MCP4812 is a 10-bit DAC so you will need to make some changes to the program. I have not used the MCP4812.You should download the MCP4812 datasheet from Microchip. At first glance, it looks like the MCP4812 uses the same registers so my code might work.Peter
View Instructable »Perhaps the display signal lines are working but the touch signal lines are not.The display is controlled by the signals: CS RESET DC MOSI SCKThe touch is controlled by the signals: T_CLK T_CS T_DIN T_DO
- Peter Balch commented on eliett's instructable Covering Rotating Mass of ERM Motors
View Instructable »I've used thin-walled ballpoint pen barrels cut to length and also the outer sheath of LAN cable. I tried vinyl tube but thought the tube wall was too thick.
- Peter Balch commented on edneyrossi's instructable Banana Booster - True Tube Booster
View Instructable »Is there a mistake in the schematic in the way SW1.1 is connected?How does the grid bias of U3.2 work? Presumably you're relying on the grid current through R1 to provide the right grid voltage. Does adjusting R1 produce different distortions. It's decades since I learnt with valves but I recall something about different harmonics being introduced with grid current distortion vs. anode distortion.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer

What do you mean "stilus mode tft touchcreen"? Is it a different screen from the 2.8" ILI9341?> not build the whole project, just wiring betwen arduino and displayI don't know whether the INO file will work without the rest of the circuit. I would expect it to but I haven't tested it.If you are just wanting to ise an ILI9341 with an Arduino without the rest of the Curve Tracer then there are several other Instructables. Search forhttps://www.instructables.com/circuits/howto/ili9341/Or use Google to search for "ili9341 arduino".
View Instructable »A "touchscreen" like yours consists of a TFT display screen and a resistive touch controller.The display screen is controlled by a chip such as the ILI9341 but several other controller chips are available. Each kind of chip needs its own Arduino library and each kind of chip might be connected to the screen in several different ways. So you need the right library and it must be configured to match how the controller chip has been used on that particulat board.Similarly, the resistive touch pad is controlled by a chip such as the XPT2046 (several other controller chips are available). Once again, each kind of chip needs its own Arduino library and each kind of chip might be connected to the pad in several different ways. You need the right library and it must be configured to mat…
see more » - Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »T_DIN should be connected to MOSI.SCK should be connected to T_CLK.
- Peter Balch commented on Peter Balch's instructable Transistor Curve Tracer
View Instructable »What does work and what doesn't work?
- Peter Balch commented on Peter Balch's instructable Transistor Curve TracerView Instructable »
From your description, you change the Setup then you connect the USB.When you connect the USB, some PC USB serial drivers toggle the serial port by momentarily setting the DTR line low. That resets the Arduino. You might have luck with a different PC.When the Arduino is reset, it waits 2 sec to see if the PC is going to send it some programming information and, if not, then runs the user's program. So the user's program starts from scratch which initialises the values of MinIbase and MaxIbase (line 51).You can disable that Auto Reset - google for "Arduino disable auto reset".Peter
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - ArduinoView Instructable »
I'm glad it worked for you so easily. I write Instructables thinking "I hope this inspires people to do their own thing" rather than as a recipe to follow. But the Oscilloscope and the Curve-tracer have been built as-is by many people. So now I feel responsible.If your grandson is interested in waveforms then a microphone and the audio-recorder of a PC are great. He'll be able to see the difference between high and low frequencies, the wave shapes of different instruments, etc. I write speech analysis s/w so I don't know much about what's available for free but I have used the free versions of Cool Edit and Audacity. I think both will do Fourier transfoms and show spectrograms - it's a fascinating way to look at speech.Peter
- Peter Balch commented on Peter Balch's instructable Transistor Curve TracerView Instructable »
I'm not sure I understand. You're comparing what's shown in the Windows program vs what's shown on the TFT display?It's a year since I wrote the code so I've forgotten many of the details. I was using the Windows program (which is written in Delphi) to debug the display s/w before transferring it to the Arduino. I find it easier to do it that way for user-interfaces (Delphi is particularly good at user interfaces).IIRC, if the Delphi program sends a command to the Arduino then the Arduino stops doing things automatically and expects more commands from the Delphi program. So the Delphi program can decide what the step sizes are for the base current and collector voltage.Are you saying that when the Arduino is running in "stand alone" mode it has too many steps in the base current…
see more » - Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - Arduino
> In step nine there's two pushbuttons mentioned. Weren't they 4k7 pots?I can't find "4k7" anywhere in the text of any steps.There are two pushbuttons: a "Horizontal" button to adjust the Timebase axis and a "Vertical" button to adjust the Gain axis. > stability problems may occurDanielW272 asked the same question (below).If you google "stability problems may occur" you'll find full discussions.
View Instructable »Near line 35 of ArdOsc2 are boolean constants to turn on/off the different features of the circuit:bool bHasLogic = true;bool bHasFreq = true;bool bHasVoltmeter = true;bool bHasTestSignal = true;bool bHasSigGen = false;If you set them to false then those features will not be enabled. Is that what you want?Unfortunately, the compiler and linker still generate/link code for the unused parts of the program. A good quality compiler will remove dead code but the Arduino IDE doesn't - but it's free so you can't complain too much. A good compiler will also highlight which lines of source code are dead and a very good compiler will allow you to see the assembler that each source line generates.In the case of ArdOsc2, I don't see much advantage to removing the dead code - we're not running out of …
see more » - Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - ArduinoView Instructable »
which parts are you wanting to remove?
- Peter Balch commented on Peter Balch's instructable Oscilloscope in a Matchbox - ArduinoView Instructable »
> I tried building the first circuit and I ran the sketch too...The arduino will produce serial output. The PC can receive the output at a COM port - the same one you use when programming the arduino (set in the Tools Port menu of the arduino IDE).> Is the output supposed to show up in the serial Plotter?Yes.If you click on the Options Debug command, a window will open and will show you the bytes as they arrive. What do you see?> Also the.exe file couldn't be opened. I'm using a Windows 10 laptop.What is the error message?Do you mean that the exe file would not run at all or it did run but produced an error message?Does your virus checker prevent you from downloading and running exe files?
- Peter Balch commented on Peter Balch's instructable Transistor Curve TracerView Instructable »
I'm not sure what you're asking.Here is the official Arduino page describing how to install a library from a zip file:https://www.arduino.cc/en/Guide/LibrariesHave you successfully installed and compiled any other zip libraries?
- Peter Balch's instructable Folding Arcade Cabinet's weekly stats:
- Peter Balch commented on Peter Balch's instructable Folding Arcade CabinetView Instructable »
Thanks. I haven't tried storing it yet. It spent a while in the kitchen where every visitor wanted to play their most nostalgic game. But now it's on my desk next to my Windows PCs acting as a Linux desktop while I try to learn Python and Opencv.So, for me, the "dual-use" is the most important feature.
- Show More Activities

































Looks good. I've always used stripboard rather than perfboard. I'm impressed by your handiwork and have ordered perfboard to use in whatever is the next project.