Is this market forecast joke about analog computing whatever big brother mesh? Aka 100 companies will neglect the world funding their ai so you get to figure out how to make a Nas from broken blenders
12:26 DRC DRC DRC DRC DRC DRC DRC DRC DRC DRC Sending a PCB to get fabbed without running DRC first is like deploying a project on a Friday at 4 pm. That aside, neat first PCBs!
@@TheAechBomb Design Rule Check, the software goes through each and every rule that's defined (clearance, minimum width, unconnected traces) and looks for violations. Of course, stuff like track clearance is being checked continuously during interactive routing (if you haven't purposely disabled that), but some rules do need that separate step of running DRC to be checked. But since we're only human and tend to forget to do stuff like that, I (and many other people) have automated scripts for generating production files that also run DRC beforehand, the thinking there is if you use that instead of generating those files by hand then getting a clean DRC is a prerequisite to getting any production files.
A friend of mine produces a T-shirt that says RUN DRC with red bars like the RUN DMC logo. But it also has deliberately bad kerning and a red DRC arrow pointing out where the letters almost touch. "The perfect fit for the small intersection of electrical engineering and typography enthusiasts".
Fellow Pi calculator here. I calculated Pi to 1,000 decimal places in 1981 using a polynomial expansion that converged two decimal places per iteration. Of course, it took a DEC mainframe computer a whole weekend of CPU time to do it!
And now, a cheap arduino board from China can do the same calculation in seconds (at most), can run on a battery and costs just a couple of €£$, rather than the silly money that mainframes cost. Progress is wonderful :)
Konrad Zuse invented the relay computer with the Z3 in 1942 - using 2,300 relays to perform floating point binary arithmetic with a 22-bit word length. Very cool to see this elegant implementation of a PI machine. ✨
The Z1 was a mechanical computer which operates with moving metal rods and sheets. The Z1 also implemented an ALU which could add, subtract, multiply and divide floating point numbers.
Zuse wasn't the only one thinking along those lines, though. The Harvard Mark 1 was relay-based, and built not long after the Z3 (online in 1944). Among other things, it calculated how different A-bomb designs would work for the Manhattan Project.
Yea. People have made games that are just laying out logic. Check out the games "Logic World" and "Turning complete" The lather will even export to vhdl hah
You could create your own punch card puncher and output digits to paper tape without a Raspberry Pi. You can use unary or "punch-card art" to output decimal digits.
This reminds me of a machine I was once responsible for. It was called the "Omni 2000". The Omni was a rack tester. It would check that everything was connected to what it was supposed to be connected to and that nothing was connected to anything it wasn't supposed to be connected to. The Omni had 7000 reed relays. Guess what the most common failure was... I still remember the sound of the self test, as it whizzed through all the relays. It was controlled by a PDP/8.
Here's a great algorithm for approximating pi that may be better suited to your approach: just generate a digit at random, and if the raspberry pi detects that the digit is incorrect, it resets the relays to a clean state and starts that section over again. Don't worry, the computation is still all happening on the relays. Just a tiiiny bit of error correction. :)
@@pompeymonkey3271Error detection in itself is not the issue. It would be okay if it was internal, like asking the same relay setup or another one to compute each digit several times and compare them together. The actual defeat is using a precomputed value to control the output. If the precomputed value has an error, the output will have the same error.
@@fracapolligummala3548but what are you supposed to do about that lol? there are certain constraints that one must make concessions for, this way it can (theoretically, at least) compute 4096 digits without needing 2000 relay boards.
8:20 - I still find it theraputic even for huge boards, its fun to make art of PCBs, something who ever assembles the kit enjoys looking at. 12:41 - It absolutely helps to look at a pcb manufactures capabilities and looking at their min spacing and rounding that up, for example JLCPCB has a min trace thickness and clearance of 0.127mm but I say go to 0.15mm, also account for whos putting it together like, is it possible the edge of the PCB is going to get damaged or a solderng iron slips and damages a trace right next to a pad, so space things apart acordingly.
I love how this guy just disappears for a while then comes back to drop the most science-y thing imaginable, then making it an enjoyable experience to ride along. Keep it up!
I suspect your sticky registers solved by gravity stems from the close physical proximity of all of the relays - the magnetic fields couple and you end up with behaviour like that. You can fix that by giving the components some distance, or adding some magnetic shielding.
I was waiting for the part of the video where you show the machine in operation. Sad to say I was disappointed! But you can redeem yourself, if only you would post a video featuring the machine operating, with sound, video, and no voiceover or music. Just let us experience the ambiance for a little while! Pretty please?
Indeed, before about the late 70s, the logic in those was basically a relay-based computer. Technology Connections has a couple videos breaking down much of the logic behind one -- as well as another one exploring an old jukebox.
Simon Plouffe used to be one of my Professor in Nantes, France, and really is a great mathematician and person in general. You all really need to check the work that he has done cause it’s really fascinating from a math/IT perspective. Really glad you explained and used this PI formula for this project, awesome work!!
Interesting retro project. I experimented with Boolean logic, using relays, when I was in High school; circa 1966. There were no books in the library on the subject so I developed my own notation. I wanted to build a TIC-TAC-TOE playing machine with relays. I worked out all the possible games and the machine's best moves. My design was a sequential finite state machine. There is a lot of symettry in TIC-TAC-TOE, so I built a symettry translator, with a motorized wafer switch. I was not abke to get eniugh relays for the project, but my high school principle and I went on several great field trips. That year, while visiting a local college for a wrestling meet, I met a fellow who was using an IBM computer. I showed me the printout of PI that spanned over 10 large pages. That was the first time I had seen a computer.
The capabilities of relays got me thinking. You could, in theory, use relays for reversible computing. A DPDT relay could implement a CSWAP gate. Set it up so that the coil takes the control signal and the two switches either pass or swap the inputs. The common pin serves as the output, and one switch will connect A on normally-closed and B on normally-open, and vice-versa for the other one.
Great project Nicely explained Your witty banter made watching your Pi expedition all that more enjoyable This would make a great kit I’m sure there’s a community of nerds (my self included) who would love to have this gizmo whirring on their desk Think about it Again great video
You do realise how big the market for that would be ? Either complete or kit form? Who wouldn't want one on their bench, just waiting to clatter out a printout.
This is awesome! I love the elegance of slow computation. You’re also making me want to try out PCB design - maybe its because when I started in electronics you had to use an iron and a magazine or something but now you can order stuff and you make the process look very approachable! Also: Was totally not expecting to see myself halfway through 😂. This machine is way cooler than my old janky droplet montecarlo
The transparent relay was a pretty neat thing to see, demonstrates how every step of this process is directly corresponding to flipping a switch. Also I laughed out loud when you compared a relay to a railroad switch just because I'm currently using relays to control model railroad switches.
I love your project, I love walnut veneer too. One tiny annoying note: Run a sanding block along the edges, and you'll smooth out those harsh transitions and it will look slick!
There was a time long ago when all technology was powered by electromechanical relays. Even the telephone network was operated by relays. I’m glad that the technology is making a comeback.
As a kid, I remember that there was a computer in the Brooklyn Children's Museum that was built out of relays. It was hard wired to play Tic Tac Toe. Computers have been built with TL (thermionic logic), RTL, then DTL, then TTL, then ECL, and finally CMOSL, (there was also I2L). I guess you are using EML (electro-mechanical logic) which is one stage above 'stone knives and bear skins'
Damn, you just keep raising the bar. I love every project you have done. They are the exact kind of project I'm always thinking of doing but I never get around to do or give up mid way, so I do admire your work (maybe even envy a little lol) This one is the kind you see in the corner of someone's room and instantly earns you respect and mega cool points. It seems we follow a similar path but you are always many steps ahead! It stills feels daunting to me to dabble with pcbs but it's been on my list for years. Anyway, I'm glad you kept the amazing work going. Oh, and I almost forgot. A little fact I learned a few years ago about the spigot algorithm used here is that it was discovered/invented by none other than the creator of the amazing software ffmpeg! That guy's resume must be wild.
Very nice. Yes I have often been fascinated with the sort of bitwise tricks that used to work back in 8 bit ML days -- e.g. 10x = 2x + 8x. Somebody up there likes us.
Relay logic walked so.....well basically so all electronic logic could run, but it reminds me so much of a very visceral, hands-on, simple way of thinking about IP blocks in verilog on an FPGA, at least with respect to the way you've made pcbs for muxers and other logic. So cool, and deliciously clicky! 🙃
Neodinium magnet embedded and two metallic discs, one with π and one with τ so you can show off the mode. The switching of the metal discs also done using relays. Think about it!
My lysdexic eyeballs totally swapped part of the video title with your channel name, giving me "Building an Elf-Powered Pi Machine." That may not be this video, but it's a video I would totally watch should you make it.
To improved the reliability make sure each relay has a flyback diode on its coil to prevent voltage spikes welding the contacts of the relays you had trouble with
Reminds me of having to implement complex fixed point math in CPLDs without multiplier blocks or RAM. Used a lot of the same binary tricks as well as some custom definitions for subtraction to reduce the logic.
Just discovered this channel, please give us access to the gerber files and the design of the board, or better a in-depth video! This thing is friggin awesome
In theory wouldnt using the digit picking algorithm and then just going place by place be the best method for printing out a strip like this? It would no longer need any memory except for which digit its actually trying to compute, then using that the relays would turn that number into the digit, which the printer is then told to print. This would get around the issue you list in the end where it gets harder to compute the longer it goes, if it only focuses on the immediate digit then all are equal, and it can calculate as long as the clock counter stays within however many bits the machine operates on.
I already fell asleep when your ring rang and woke me up in anxiety, leaving awake for another two hours, because my door ring sounds exactly the same...
I think I'm missing something here - is it calculating one digit at a time? You said you weren't using the arbitrary digit formula, just the simple approximation sum, so it sounds like you're calculating all the digits together - unless there's some subtlety to the "multiply by ten" bit at the end I'm missing. However it works it's a very cool machine and I love clicky relay computers :)
I dont see kickback protection diodes on the relay coils at 8:00, it could affect signal integrity and longevity. It may also help to always use both sides of the relay in parallel where one side would otherwise be usused.
I find a humorous irony in using an entire computer to control a pile of relays and a printer. You could have gotten away with at least a Pi Pico, I bet :)
Awesome video! I was hoping there would be a good 30-60 second clip at the end of the machine running so I could savor the clicky clicks. 😢 Also, I was 100% certain there was a PCB Way sponsor spot coming when you started talking about the PCBs 😂
Did you add snubber diodes across all the relay coils? That will keep the back EMF across the relay coil at a minimum, and enable it to last much longer, without all those voltage spikes.
Just 256 bits storage gets already huge indeed. Using this logic though a continous tape loop could be used since you only need 1 bit at a time in sequence 😊. It would also be interesting to see how they did error correction in the old days
in my fathers job there is an elecro mechanical system (like 150 relays) and they are a special kind that doesnt use springs but gravity for 100% disconecting
1+3 is the same as 3+1 so it's more like 50 pairs of sums. And the most important part of basic decimal arithmetic is determing the positional values. So once you know that 7 + 3 = 10, it's easy to remember 7 + 4 as (7 + 3) + 1 and 4 + 7 is just reversing the digit order. The slowest way to do the math is to take the first number and add 1 the number of times as need. 7 + 6 7 + 1 = 8, 8 + 1 = 9, 9 + 1 = 10, 10 + 1 = 11, 11 + 1 = 12, 12 + 1 = 13
I just found it really funny that the way you did the thumbnail implies that the machine started with the LAST digit and finally ended at the first after infinite time and infinite amounts of paper and ink have been used
Since calculating pi does not require random memory access, only serial memory, you could use delay line memory. Probably magnetostrictive rather than mercury, for obvious reasons.
a pi gadget i've always kinda wanted was a micro computer that represents pi using light and sound, features of the gadget include: a button to calculate the next digit a button to play back the currently stored digits a button to swap modes a 10x10 grid of multicolored LEDs to display pi two modes, one that only advances only when the button is pressed, the gadget plays the full sequence when it generates the new digit, each number 0-9 being assigned one of 11 notes with the spare note going to the decimal the second mode streams digits continuously for as long as the device is able to continue calculating new digits the lights each decide their color based on digits of pi that stream from right to left, bottom to top, excluding the decimal, each light gets up to six digits, if a digit is not available the position is filled in with a zero
I’m new to this, so just for the sake of learning, what would be all of the differences if solid-state relays were used instead of mechanical relays? The only things I can say for sure is more expensive and no fun clicky noises. It would probably compute faster, more reliably, and more precisely, correct? Would it produce more or less heat and take more or less voltage?
Poor relay life can come from un-snubbed coils: the current in a coil wants to keep flowing - if you feed a relay coil from other relay contacts, when the contacts open the current continues anyway, creating an arc across the contacts. This arc chews up the contacts, causing early failure. Adding a diode across each coil (cathode to +) fixes this. Some relays have this diode built in as an option.
I like how the printer in the thumbnail printed pi backwards, that's quite a feat. Where do you begin printing a possibly infinite length number when printing it in reverse?
Extremely funny that you went “hey, let’s do this computation entirely on the relays,” then also “we’ll simulate the computation on the Raspberry Pi as well for error correction”
You weren't late, just super early for next year, right?
3 months early for Tau day
@@bornachor pi hour (3:14)
It's all circular logic
Is this market forecast joke about analog computing whatever big brother mesh?
Aka 100 companies will neglect the world funding their ai so you get to figure out how to make a Nas from broken blenders
@@Thegoal2.Pin our house we call that pi o'clock
12:26 DRC DRC DRC DRC DRC DRC DRC DRC DRC DRC
Sending a PCB to get fabbed without running DRC first is like deploying a project on a Friday at 4 pm.
That aside, neat first PCBs!
I've only designed 2 PCBs, what's DRC?
@@TheAechBomb Design Rule Check, the software goes through each and every rule that's defined (clearance, minimum width, unconnected traces) and looks for violations. Of course, stuff like track clearance is being checked continuously during interactive routing (if you haven't purposely disabled that), but some rules do need that separate step of running DRC to be checked.
But since we're only human and tend to forget to do stuff like that, I (and many other people) have automated scripts for generating production files that also run DRC beforehand, the thinking there is if you use that instead of generating those files by hand then getting a clean DRC is a prerequisite to getting any production files.
A friend of mine produces a T-shirt that says RUN DRC with red bars like the RUN DMC logo. But it also has deliberately bad kerning and a red DRC arrow pointing out where the letters almost touch. "The perfect fit for the small intersection of electrical engineering and typography enthusiasts".
@@SianaGearz that is genius ! I'd love to have one !!! since my latest PCB run had one tiny DRC fault 😛
so glad EasyEDA doesn't let me generate gerber files without doing DRC first
Fellow Pi calculator here. I calculated Pi to 1,000 decimal places in 1981 using a polynomial expansion that converged two decimal places per iteration. Of course, it took a DEC mainframe computer a whole weekend of CPU time to do it!
And now, a cheap arduino board from China can do the same calculation in seconds (at most), can run on a battery and costs just a couple of €£$, rather than the silly money that mainframes cost.
Progress is wonderful :)
@@mattsadventureswithart5764 isnt arduino italian
@@ImXyper made in china.
@@ImXyperyeah but chinese knockoffs and clones exist
@@ImXyperyes
Konrad Zuse invented the relay computer with the Z3 in 1942 - using 2,300 relays to perform floating point binary arithmetic with a 22-bit word length. Very cool to see this elegant implementation of a PI machine. ✨
In 1938 (introduced in 1941), but yeah. Sadly the original Z3 was destroyed in 1943 due to the war
The Z1 was a mechanical computer which operates with moving metal rods and sheets. The Z1 also implemented an ALU which could add, subtract, multiply and divide floating point numbers.
@@0106johnnyBut he rebuilt it although it's currently out of order.
Zuse wasn't the only one thinking along those lines, though. The Harvard Mark 1 was relay-based, and built not long after the Z3 (online in 1944). Among other things, it calculated how different A-bomb designs would work for the Manhattan Project.
As a professional electrical engineer, it’s still just as fun. Layout is my favourite part of the job.
Yea. People have made games that are just laying out logic. Check out the games "Logic World" and "Turning complete" The lather will even export to vhdl hah
You could create your own punch card puncher and output digits to paper tape without a Raspberry Pi. You can use unary or "punch-card art" to output decimal digits.
no, BCD, each digit as four bits on a 4-bit-wide tape :D
PUNCH CARD UNDERTALE???!!
I really appreciate the use of indicator lamps that look like they would’ve come off a period-correct telephone exchange
3:20
"a relay is a way for a circuit to rewire itself"
that's such a beautiful way of describing relays.
Just think of the term used for it. Maybe at that moment the information will correctly 'relay' from one side of your brain to the other. ;-)
This is something someone could feasibly make in Minecraft. Sadly I don't have the skills needed for it as of now
Don't give me ideas :D
We have full 8 bit cpus in Minecraft
@@OmarRodriguez-vl2tq A guy made a very simplified version of Minecraft on a redstone computer in Minecraft. It's on RUclips.
@@OmarRodriguez-vl2tq while my 4th gen i5 can not run Minecraft after certain update.
I mean, a relay would just be a piston with a redstone block on the end where an extended piston is a 1 and a nonextended is a 0.
I'm not sure where you've been these last couple of years, but it's always a pleasure when you upload a video.
Would love it you posted the pcb designs and schematics for this build for others to replicate. Great work!
This reminds me of a machine I was once responsible for. It was called the "Omni 2000". The Omni was a rack tester. It would check that everything was connected to what it was supposed to be connected to and that nothing was connected to anything it wasn't supposed to be connected to. The Omni had 7000 reed relays. Guess what the most common failure was... I still remember the sound of the self test, as it whizzed through all the relays. It was controlled by a PDP/8.
I don't understand why you didn't name it Omni 7000
@@soareleonard7570 I didn't name it. It was named by the company that built it. And the number of test points - and therefor relays - was an option.
Here's a great algorithm for approximating pi that may be better suited to your approach: just generate a digit at random, and if the raspberry pi detects that the digit is incorrect, it resets the relays to a clean state and starts that section over again. Don't worry, the computation is still all happening on the relays. Just a tiiiny bit of error correction. :)
Agreed.
Memory? I can live with that.
Error detection totally defeats the point. :)
@@pompeymonkey3271Error detection in itself is not the issue. It would be okay if it was internal, like asking the same relay setup or another one to compute each digit several times and compare them together. The actual defeat is using a precomputed value to control the output. If the precomputed value has an error, the output will have the same error.
Nice
@@pompeymonkey3271The memory is also a joke. Defeats the purpose completly.
@@fracapolligummala3548but what are you supposed to do about that lol? there are certain constraints that one must make concessions for, this way it can (theoretically, at least) compute 4096 digits without needing 2000 relay boards.
8:20 - I still find it theraputic even for huge boards, its fun to make art of PCBs, something who ever assembles the kit enjoys looking at.
12:41 - It absolutely helps to look at a pcb manufactures capabilities and looking at their min spacing and rounding that up, for example JLCPCB has a min trace thickness and clearance of 0.127mm but I say go to 0.15mm, also account for whos putting it together like, is it possible the edge of the PCB is going to get damaged or a solderng iron slips and damages a trace right next to a pad, so space things apart acordingly.
Matt Parker would absolutely LOVE this machine. Good job!
I love how this guy just disappears for a while then comes back to drop the most science-y thing imaginable, then making it an enjoyable experience to ride along. Keep it up!
I suspect your sticky registers solved by gravity stems from the close physical proximity of all of the relays - the magnetic fields couple and you end up with behaviour like that. You can fix that by giving the components some distance, or adding some magnetic shielding.
Science Elf once again periodically dropping an absolute banger
I was waiting for the part of the video where you show the machine in operation. Sad to say I was disappointed! But you can redeem yourself, if only you would post a video featuring the machine operating, with sound, video, and no voiceover or music. Just let us experience the ambiance for a little while! Pretty please?
You just built a pinball machine... without the pins... or the ball...
Indeed, before about the late 70s, the logic in those was basically a relay-based computer. Technology Connections has a couple videos breaking down much of the logic behind one -- as well as another one exploring an old jukebox.
Or the cabinet… or the game…
... or the 'n'.
*Machine*
@@AaronOfMpls Thanks for reminding me to watch part 2!
What's not to like?!
A machine that outputs Pie?! 😋
Looks like I have to build myself one!
Or you can buy a machine that dispenses pizza pie.
Finally my yearly fix of the Science Elf.
Simon Plouffe used to be one of my Professor in Nantes, France, and really is a great mathematician and person in general. You all really need to check the work that he has done cause it’s really fascinating from a math/IT perspective. Really glad you explained and used this PI formula for this project, awesome work!!
Interesting retro project. I experimented with Boolean logic, using relays, when I was in High school; circa 1966. There were no books in the library on the subject so I developed my own notation. I wanted to build a TIC-TAC-TOE playing machine with relays. I worked out all the possible games and the machine's best moves. My design was a sequential finite state machine. There is a lot of symettry in TIC-TAC-TOE, so I built a symettry translator, with a motorized wafer switch. I was not abke to get eniugh relays for the project, but my high school principle and I went on several great field trips. That year, while visiting a local college for a wrestling meet, I met a fellow who was using an IBM computer. I showed me the printout of PI that spanned over 10 large pages. That was the first time I had seen a computer.
The capabilities of relays got me thinking. You could, in theory, use relays for reversible computing. A DPDT relay could implement a CSWAP gate. Set it up so that the coil takes the control signal and the two switches either pass or swap the inputs. The common pin serves as the output, and one switch will connect A on normally-closed and B on normally-open, and vice-versa for the other one.
"savoring the computation" is not something to be embarrassed about. Embrace the nerdiness. Do not shy away from it.
Great project Nicely explained Your witty banter made watching your Pi expedition all that more enjoyable
This would make a great kit I’m sure there’s a community of nerds (my self included) who would love to have this gizmo whirring on their desk Think about it
Again great video
You do realise how big the market for that would be ?
Either complete or kit form?
Who wouldn't want one on their bench, just waiting to clatter out a printout.
Could you please make a ten hour recording of that beautiful ticking noise, please
YES PLEASE
This is awesome! I love the elegance of slow computation. You’re also making me want to try out PCB design - maybe its because when I started in electronics you had to use an iron and a magazine or something but now you can order stuff and you make the process look very approachable!
Also: Was totally not expecting to see myself halfway through 😂. This machine is way cooler than my old janky droplet montecarlo
Thanks for citing my 2021 #PiDay project.
Love your very clear explanation of how your relay computer works
The transparent relay was a pretty neat thing to see, demonstrates how every step of this process is directly corresponding to flipping a switch. Also I laughed out loud when you compared a relay to a railroad switch just because I'm currently using relays to control model railroad switches.
I love your project, I love walnut veneer too. One tiny annoying note: Run a sanding block along the edges, and you'll smooth out those harsh transitions and it will look slick!
There was a time long ago when all technology was powered by electromechanical relays. Even the telephone network was operated by relays. I’m glad that the technology is making a comeback.
To stay analogue you could try doing the storage on ferrite memory cores. Next year maybe?
I could listen to that all day! You should upload an hour or so long video of it operating.
As a kid, I remember that there was a computer in the Brooklyn Children's Museum that was built out of relays. It was hard wired to play Tic Tac Toe.
Computers have been built with TL (thermionic logic), RTL, then DTL, then TTL, then ECL, and finally CMOSL, (there was also I2L). I guess you are using EML (electro-mechanical logic) which is one stage above 'stone knives and bear skins'
Relays let you make super fast carry chains, Conrad Zuse was a pioneer with this technique, back in the 1940s 🙂
Wow that is awesome! I wish you had more video of it working with all the clicking, maybe you can live stream the machine working ❤
Completely useless, but utterly beautiful! I'm very impressed. And jealous of your patience and determination.
Great project and a lovely little machine! The only negative is we didn't get a "30 minutes of clicking and blinken lights" ASMR video.
I’ve been trying to implement spigot in Verilog for past few months and this every potential of being actually helpful
Now i want a 2 hours video of this machine working non stop.
exactly, why not showing at least a minute of it just working its noisy magic?
Very cool! Now make drop-in compatible transistor versions of the boards and see at what speed you can run them!
Damn, you just keep raising the bar. I love every project you have done. They are the exact kind of project I'm always thinking of doing but I never get around to do or give up mid way, so I do admire your work (maybe even envy a little lol)
This one is the kind you see in the corner of someone's room and instantly earns you respect and mega cool points. It seems we follow a similar path but you are always many steps ahead! It stills feels daunting to me to dabble with pcbs but it's been on my list for years.
Anyway, I'm glad you kept the amazing work going.
Oh, and I almost forgot. A little fact I learned a few years ago about the spigot algorithm used here is that it was discovered/invented by none other than the creator of the amazing software ffmpeg! That guy's resume must be wild.
Very nice. Yes I have often been fascinated with the sort of bitwise tricks that used to work back in 8 bit ML days -- e.g. 10x = 2x + 8x. Somebody up there likes us.
Relay logic walked so.....well basically so all electronic logic could run, but it reminds me so much of a very visceral, hands-on, simple way of thinking about IP blocks in verilog on an FPGA, at least with respect to the way you've made pcbs for muxers and other logic. So cool, and deliciously clicky! 🙃
12:30 RUN DRC.
Also good PCB companies used to warn you that you have a spacing violation.
Neodinium magnet embedded and two metallic discs, one with π and one with τ so you can show off the mode.
The switching of the metal discs also done using relays.
Think about it!
This no joke seems like a really good icebreaker for getting into TTL logic if you were to do this with transistors.
Something very beautiful about a relay base alu.
My lysdexic eyeballs totally swapped part of the video title with your channel name, giving me "Building an Elf-Powered Pi Machine."
That may not be this video, but it's a video I would totally watch should you make it.
Can you make a 10 hour video of this thing working?
Yes everyone like this vid so science elf sees it
@@JohnWilczewskiok
To improved the reliability make sure each relay has a flyback diode on its coil to prevent voltage spikes welding the contacts of the relays you had trouble with
Reminds me of having to implement complex fixed point math in CPLDs without multiplier blocks or RAM. Used a lot of the same binary tricks as well as some custom definitions for subtraction to reduce the logic.
Just discovered this channel, please give us access to the gerber files and the design of the board, or better a in-depth video! This thing is friggin awesome
In theory wouldnt using the digit picking algorithm and then just going place by place be the best method for printing out a strip like this?
It would no longer need any memory except for which digit its actually trying to compute, then using that the relays would turn that number into the digit, which the printer is then told to print.
This would get around the issue you list in the end where it gets harder to compute the longer it goes, if it only focuses on the immediate digit then all are equal, and it can calculate as long as the clock counter stays within however many bits the machine operates on.
I already fell asleep when your ring rang and woke me up in anxiety, leaving awake for another two hours, because my door ring sounds exactly the same...
I think I'm missing something here - is it calculating one digit at a time? You said you weren't using the arbitrary digit formula, just the simple approximation sum, so it sounds like you're calculating all the digits together - unless there's some subtlety to the "multiply by ten" bit at the end I'm missing. However it works it's a very cool machine and I love clicky relay computers :)
I dont see kickback protection diodes on the relay coils at 8:00, it could affect signal integrity and longevity. It may also help to always use both sides of the relay in parallel where one side would otherwise be usused.
I find a humorous irony in using an entire computer to control a pile of relays and a printer. You could have gotten away with at least a Pi Pico, I bet :)
Awesome video! I was hoping there would be a good 30-60 second clip at the end of the machine running so I could savor the clicky clicks. 😢
Also, I was 100% certain there was a PCB Way sponsor spot coming when you started talking about the PCBs 😂
Same
youre by far my favorite tech channel, even if theres a long while between videos im always excited when i see a video in my sub box :)
The thumbnail shows a machine finishing the printing of PI, so apparently the Science Elf is immortal 😮
Did you add snubber diodes across all the relay coils? That will keep the back EMF across the relay coil at a minimum, and enable it to last much longer, without all those voltage spikes.
could be a fun project to try this with transistors, see how fast it goes in comparison :D
Well done! Though I didn't understand much :D
Now I want to see it made with beautiful tubes!
Just 256 bits storage gets already huge indeed. Using this logic though a continous tape loop could be used since you only need 1 bit at a time in sequence 😊. It would also be interesting to see how they did error correction in the old days
Perfectly nerdy. Congratulations!
Pi is probably the most famous transcendental number, but the most famous number period is for sure 1.
i didn't understand a thing you said but it's cool
To avoid issues such as the short you had in your PCBs always run the DRC(design rule check) which looks for errors on your layout.
I love that I found out about this upload three months after. Thanks RUclips for recommending endless crap before the channels I actually sub to.
Science Elf has sent gives us another gift! Thank you! ❤
10:43 That is some nice pride wires you got there
Nah mate, thats the gayble
Great idea, nice application of relay computation
Its always a good day when the science elf uploads (:
A fun and interesting hobby and video. Especially the ding :-) Thank you for sharing. Cheers from Canada.
I love being reminded you exist every half year lol
in my fathers job there is an elecro mechanical system (like 150 relays) and they are a special kind that doesnt use springs but gravity for 100% disconecting
You should do a live stream of it computing in real time
1+3 is the same as 3+1 so it's more like 50 pairs of sums. And the most important part of basic decimal arithmetic is determing the positional values.
So once you know that 7 + 3 = 10, it's easy to remember 7 + 4 as (7 + 3) + 1 and 4 + 7 is just reversing the digit order.
The slowest way to do the math is to take the first number and add 1 the number of times as need.
7 + 6
7 + 1 = 8, 8 + 1 = 9, 9 + 1 = 10, 10 + 1 = 11, 11 + 1 = 12, 12 + 1 = 13
I just found it really funny that the way you did the thumbnail implies that the machine started with the LAST digit and finally ended at the first after infinite time and infinite amounts of paper and ink have been used
This is crazy cool. I learnt heaps. Thanks for sharing :)
Since calculating pi does not require random memory access, only serial memory, you could use delay line memory.
Probably magnetostrictive rather than mercury, for obvious reasons.
a pi gadget i've always kinda wanted was a micro computer that represents pi using light and sound, features of the gadget include:
a button to calculate the next digit
a button to play back the currently stored digits
a button to swap modes
a 10x10 grid of multicolored LEDs to display pi
two modes, one that only advances only when the button is pressed, the gadget plays the full sequence when it generates the new digit, each number 0-9 being assigned one of 11 notes with the spare note going to the decimal
the second mode streams digits continuously for as long as the device is able to continue calculating new digits
the lights each decide their color based on digits of pi that stream from right to left, bottom to top, excluding the decimal, each light gets up to six digits, if a digit is not available the position is filled in with a zero
Should've built a datasette drive into the machine as the Pi storage. Then you'd have a relay computer with a tape drive!
I’m new to this, so just for the sake of learning, what would be all of the differences if solid-state relays were used instead of mechanical relays? The only things I can say for sure is more expensive and no fun clicky noises. It would probably compute faster, more reliably, and more precisely, correct? Would it produce more or less heat and take more or less voltage?
that bin to bcd hack was genius! i was wondering the whole time how you would make double dabble work at the same time the number is being computed
Poor relay life can come from un-snubbed coils: the current in a coil wants to keep flowing - if you feed a relay coil from other relay contacts, when the contacts open the current continues anyway, creating an arc across the contacts. This arc chews up the contacts, causing early failure.
Adding a diode across each coil (cathode to +) fixes this.
Some relays have this diode built in as an option.
Thanks for pointing out the channels of Alpha Phoenix :), Matt Numbephile and Michael Penn - they are great! Mathology is also quite nice :)
I would love to see a long video of this just running
even with complex boards, routing can be fun
I like how the printer in the thumbnail printed pi backwards, that's quite a feat. Where do you begin printing a possibly infinite length number when printing it in reverse?
Very cool. Though I misread the title as "making a Raspberry Pi out of relays"
I'd like to see how to make something like this. Maybe make a dedicated pi machine with discrete transistors like they did for"Megaprocessor"
pi is used to calculate the circumference and area of a circle
Extremely funny that you went “hey, let’s do this computation entirely on the relays,” then also “we’ll simulate the computation on the Raspberry Pi as well for error correction”
This machine is so cool, but I can't unsee that the paper strip in the thumbnail is the wrong way around...