My dumb butt forgot to update Github with all the design files, but that has been rectified! Check the link below for the Logisim file, DesignSpark PCB file, Gerbers, and Bill of Materials! github.com/Nakazoto/UE-0.1/tree/main
Dave, once again, you have created a WONDERFUL video here, and, if I do say, a glorious holiday gift to us all with this project...thanks so much! I'm learning so much just by following your Tube computers alone!!!
Interesting, I always thought Manhattan style was where you had little isolated islands on the PCB like this: th-cam.com/video/0QbeC0Hw2QA/w-d-xo.htmlsi=vUOMURG6GIAGgasr
Perfectly logical. I usually go with Long Island City routing, you can tell planning was considered, abandoned, re-implemented, and the labels are so incoherent even the designer has no idea what the method to the madness was.
When I was in computer school in the Navy (1979), they had a training computer called the COMTRAN-10 (COMputer TRAiNer 10). It was a TTL computer that exposed its microcode. It was really an eye opening experience to see how computers work at the lowest level. I will never forget the knowledge I gained from working on it. This reminds me quite a bit of your one-bit computer.
I love it, real nice work! Adding a 10+ KHz clock, paper tape (or punched card) reader and maybe a core rope memory I think would make a proper general purpose computer capable of doing real complex things. Slowly, but reliably. Simplicity at its best, not many things can go wrong with such a small part count. I am genuinely tempted to attempt building something like this with transistors. Thank you for sharing this, it's really beautiful and educational!
Oh, beat me to a similar idea…(kudos). I thought of core rope for “cpu” instructions, since that’s literally “rom”. Then a few bits of ferrite “ram”, but quickly realising that it will need its own complex logic… So, I revise; How about creating the necessary “devices” just on a modern microcontroller, including a very simple oled display? Then real paper tape for program, data and output? Real 1-bit tube “cpu” with fake additional interface logic… Nah, see that I’m way overboard already… Very nice work…! 👍
How is it going to be a general purpose computer without things like a program counter, jump and branch instructions? Right now there is no way to make decisions or alter the program flow.
Thank you so much! Glad I could inspire some ideas in you! I have also thought about expanding it out into something a little more general purpose, that's actually why I included the pin headers on the large vertical bus in the center. Maybe someday, I'll build some expansion boards for this and get it doing something all on its own! If you want to see the design files, I dropped them into a Githhub repository at the link below: github.com/Nakazoto/UE-0.1/tree/main
@@Stoney3K The 1bit cpu presented here has the ability to simulate boolean logic operations. Since any digital circuit can be described with a series of boolean algebraic expressions, with an adequately crafted algorithm you can simulate a digital circuit of any complexity by simply sequencing 1bit cpu instructions and storing output at certain steps to the external output register of sorts to read out the result of execution. As program counter and branching logic can be implemented as digital circuits, it would be quite a trivial task to run them as a program on this 1bit cpu. Just adding a sequential ROM like for eg. a punched paper tape and perhaps some form of gated closed loop shift register you'd get universal computability. To further clarify I'm thinking of branching in terms of mostly Turing Machines, Rule 110 cellular automata and Cyclic Post Tag systems. All of these are Turing Complete, therefore general purpose computing is possible.
1:10 absolutely the way to do it! Let the product speak for itself. When someone is too pushy during an ad i will put that on my "i will never buy that ever." List.
I would really recommend it to add support in the middle of the PCB. Now it's only at the corner and the PCB is flexing. If you want to use it at events you might break traces from the flexing, making it unreliable. As your bus is smack in the middle, I would suggest adding holes on both sides of the bus. Also a little more towards the middle so your switches are properly supported on all sides.
That's what I was thinking. PCBs are not meant to be flexed. I was also wondering if it would have been a better idea to mount the switches and button separately, connecting to the board with wiring.
A nice accessory that would also keep it from being damaged would be a small hand held box with a rotary switch for selecting the instruction and a push switches for the data and clock. A binary coded rotary switch would make entering the instructions a lot easier for people unfamiliar with the computer.
If you look closely, there are machined holes next to each switch and the push button for standoffs and proper support. I didn't install those this time because the wooden base is just a temporary thing. Once it's in its final setup, there will be a dedicated standoff for each touch point from the user. It'll be plenty strong!
@@alephcake I've actually never heard this word in my life, and I've been a writer/word nerd for some 20 years. I love it though, I experience it often. Thanks for putting a name to the feeling!
@@collectorguy3919 oh wow, new word! I have that same feeling with this channel. I was born at the tail end of the 90s and never touched anything older than the mid 90s until way later in life, so I have no rose tinted glasses nostalgia for Usagi's subject matter, but still feel sorta nostalgic in the sense it's retro I guess. It's just neat tbh.
This just cleared up a lot of confusing concepts about computing for me. I have a much better understanding of cpu architecture and logic. Now I SEE what assembly language IS. It's actually the physical configuration of the hardware! Great video! Thank you!!!
Machine code is the bytes that control the physical configuration of the hardware. Assembly code is the same but easier to read. This processor is unusually simple, impossibly simple. Every actual processor doesn't have the instruction wired straight into the ALU like that
Today people play with gear where even a remote control or a microwave oven may have more computing power than first generation tube or relais computers ... and then there is this anachronistic guy that builds a computing tutorial device from *Tubes* ! Well ... that's something. Thanks for sharing ! Keep up the good work also with the antique computers. My earliest device I work with - at the moment - is a 1984 IBM 5155 Portable PC, which I own for around 30 years and which spent the last two decades in the basement ... And I felt rather "retro" when I got back to work.
I think this works as a concept trainer. I've never really understood stuff this far down, particularly not digitally, but I could definitely follow this.
Imagine giving a computer engineer from that 50s Time Machine and showing them this computer. Like “you have made a single bit almost the size of an atom and you are making this!? That’s pretty cool keep up the good work.”
My first job out of college in the late 90s was at a small electronics manufacturer. The systems I worked on were iterative designs extending back to the 70s, and some of the boards on older systems and in manufacturing test jigs were the "naked" double-layer fiberglass just like yours. ISTR a lot of backplanes floating around with that style of board as well. I always liked the "etched" labels like the boards in the bendix, where labels were etched on the board along with the traces, but weren't part of any circuit. (I think the boards in my old PAIA synth are like this, too.) Some of the boards that were still in production when I started were dual-layer, and hand layed-out with tape and mylar. The back of the door to the engineering library had the original 8x(?) artwork. In the early 2000s, the boards were re-captured in ORCAD because it was getting difficult to update the originals, and I suspect board manufacturers didn't want to deal with the process. The boards ended up as two-layer with soldermask and silkscreen on pededstrian green boards, mostly autorouted with tweaks for RF. Your board design language is great: it's got the organic feel of tape and mylar due to the curves, but the consistent radii and alignment makes it really clean. Kudos.
I love this project. It would have been a really great project back in university. Thanks for the great content! Always excited to see a new video post.
I think this is great not only for introducing people to 1 bit computing, but for introducing them to computing in general. The learning process is much more efficient if you start with something less complex at first. I wish more teachers would use this approach.
I would concur with others who were concerned with the lack of structural support in the middle. Perhaps a few wood dowels inserted into the baseplate and trimmed to height would suffice?
If you look closely, there are machined holes next to each switch and the push button for standoffs and proper support. I didn't install those this time because the wooden base is just a temporary thing. Once it's in its final setup, there will be a dedicated standoff for each touch point from the user. It'll be plenty strong!
That's a great way to demonstrate processing, plus it physically shows the operations in a hands - on manner. This should be in every classroom. Here's a challenge: build a 32 bit d/a tube processor for audio. 😮
This is really fascinating, I need to look into this myself, maybe I should build a 1 bit relay computer. I find this interesting, so this is practically serial processing.
I am building a 1 bit computer that uses the MC 14500 chip and it fascinates me that your handheld vacuum tube computer is based on that chip! Great work!
Debounce! That put a smile on my face :) I remember in the early 90's I made Amiga Basic program and some sort of switch to record my hamster's wheel speed, I had no concept of debounce.
It's so cool that PCBWay can straight up design PCBs with that same semi-transparent piss yellow color and zero solder mask of old PCBs. Obviously built way better than old ones, should never have traces lifting from a tiny amount of heat.
In the mid 1980s I was working for a crankshaft manufacturer. We had a production CNC grinder that had a one bit computer that ran a 4 axis machine. It worked very well holding .0001 in tolerance.
When we did History of Computers at college in the 1980s, we called the old 1-bit VC machines "serial" and the (e.g.) 29-bit machines "parallel". I think that made it easier to understand but simple serial and parallel interfaces were still common then and maybe that helped our old school terminology work.
Thanks for the great series on Huey-1 :-) A suggestion after your crash at the end of the computer show: build a perspex or similar case and lid to transport the kit, with pin hinges to allow for lifting and removal once it is secure in a show venue (or at home).
So I know this is a bit outside the scope of this channel, but this would be a great project to do a quick side video on the process of ordering one from PCBWay from the github files. So many settings.....
Isn't it amazing how much easier the second project goes together. All that basic learning from the first paves the way. You will make two-bit engineer soon!
You need a "load simulator" to go with it, so that people can understand it better. That is, a microcontroller that simulates a device that _uses_ the control board: It issues instructions based on its own state, puts out data and reads in result data to make decisions. A washing machine comes to mind, but the quintessential place that you find ladder logic is an elevator. I wonder if an elevator is too complex; but again, you can simplify it, leaving out Fire Control and executive floor keys and whatnot.
I really want to see you keep it vacuum’d not get slowed down with electro-mechanical storage! How about a Williams Tube next? Incidentally adding a second tube in parallel with the storage tube gives you a nice output device!
Yeah, I noticed that too. I have a few of them at home. My father worked as a technician on a soviet EC(ES)1033,EC1045 mainframe, basically a IBM system/360 clone.
Thanks a lot for the demonstrator. Some confusion has happened because modern pics are having address bus and are sharing data bus to fetch data and instructions, while your design is actually manual 3 bit command size direct input one
"Now I just have to figure out how to power it." Have you considered a sterling engine? I'm not being sarcastic. I love archaic technology. Paper tape, core memory, transformer ROM, fluidics. I love it all.
David, you lulled us in with the Centurion, I see now that you just wanted to show the world your 1 bit computer, you are indeed a mad scientist. Your enthusiasm is top draw, you have obviously spent many hours, making the vacuum tube PCB's and wiring up etc. I am at a loss to why, only thing that comes to mind, is that an inate desire to understand the basic's of how a computer works. Or I am missing the whole point. To me you might be better off with a old school 6502 college training board. Anyway I like what you do & will watch with interest, to see where you are going with this project, you have me intrigued, I might not be able to sleep tonight, contemplating ... What is that Usagi Electric ... David up to ! ... mmm
No plans to sell it as a kit or anything, but all the design files, gerbers and a BOM is available at the link below! github.com/Nakazoto/UE-0.1/tree/main
"All your 6AU6 are belong to us!"... again! Nice project, I like the totally tubular old-school PCB. None of that 4-layered stackup rubbish. Not even a soldermask, haha! All this with plated through-holes and vias, that's the good stuff that gets out of the way when assembling the thing. I like the wooden sub-structure and connections. You might even be able to take the UE-2 on a plane to show at conferences and meetups... waaaaaaay easier than UE-1, and harder to RUD. 19:05 wanna visit my lab, eh? That'd be a big one!
You should really make a way for other people to make something like this. Maybe by instructables or just another video detailing how to build it. I’m new to this channel and I would really enjoy being able to make something like this.
Loving this project and hope it inspires lots of people who see it in person. Is the output to memory on one of the pins on the edge? You could have an oscilloscope or some simple display of some kind just to show the individual output of bits to make it a bit more visual maybe.
This brings back memories. When I was in the AF and training at Kesler AFB (72), we had an array of logic racks the was used for logic training. At one point they had a single bit computer made from them, with a one kiloword (16-bit) (core memory) module attracted to one of the racks. I believe that it was a 16-bit register and something like 4-bit instructions set. Yes, it was simple, but was very instructional. Now, I do believe that I may have the circuit diagrams of it somewhere. And if I do find it, I would like to try to build it with modern logic IC’s. I think that the original was built out of discreet RTL, but I am not going to try for that.
If you're using 24vdc, you might look into using Sealed/Valve Regulated Lead Acid batteries. They're cheap, easy to transport, store, and charge, and are available in sizes from as small as 700 milliamp-hour on up to 100 amp-hour (but all things for a price, Effendi). How much current does the UE-1 draw again? Three of these would be able to supply +12 and +24 vdc and allow independent operation of the UE-1 for a short period. This might be handy at small gatherings or those held outdoors. EDIT: Needless to say, the UE-2 would be a lot easier to equip with these.
Have you looked at transistor logic optimization using the tubes instead of sticking to logic gate level? For cmos the transistor optimization level strips a lot of transistors in many situations. Just wondering if that could be done on tube-level too or if it is already done.
try the pre-computed results rom computer style design, or dynamically on-the-fly changed instruction logic circuit ALU circuit, as opposed to FPGA or ASIC preset circuits design. the dynamic instruction set is more close to FPGA, but does the switching on-the-fly per clock cycle. goal is less logic elements used, the instruction matrix is loaded from memory, or store as simple roms next to the per-cycle re-programmed fpga circuit.
I know that some single instruction processors have been proven turning complete, I recall they concluded that subtract is the best instruction to use. (not the only one but something about it works better) It would be cool to make a single instruction [SISC], single bit, single board computer.
This is cool. Strangely I had a harder time following the logic than with simple 8-bit processors. Which reminds me, I should really get around to assembling my Ben Eater 8-bit kit at some point...
So can someone build this with discrete transistors or simple ICs and make it credit card sized? Could be a fun kit even if it seems wrong for a vacuum tube channel.
Absolutely! It's a very simple logic design, so building it from discrete components would be a cinch, and make it so much smaller. I know a few people are already working on that for fun, but I also may take a crack at it with some transistors in the future for funsies!
Essentially it all breaks down on your ability to handle a soldering iron, get the parts and put them on their appropriate positions. And you need a power supply as noted. I would estimate that a mediocre solderer with all parts in a box and an installation sheet with the components location would not use more time than a boring sunday afternoon - including having some tea or coffee and a brief walk with the dog. Given all tubes work it could be "in service" earlier in the evening.
It's totally possible! If you want to dig through the design files I uploaded everything related to the project to a Github repository at the link below: github.com/Nakazoto/UE-0.1/tree/main It's a fairly easy soldering project, it's just designed around some not so common soviet era switches and VFDs. Those will have to be acquired via eBay or other used markets.
You could try building a processor with just one instruction- like a SUBLEQ machine. The only problem is you would need a control store- but you could cheat a bit and use silicon diodes.
Even with the idea of making it easier to understand, anything that isn't an integrated circuit computer is just gonna be "not a real computer" to me. Obviously they're computers, but they're so much older than I am and are far different than anything made even in the late 70s. I feel the same way with whatever a neural computer ends up like, it just won't feel the same. Despite being born in the late 90s, I can still relate to early integrated circuit computers, even ones like the Sol or Altair, just because modern computing is more or less an evolution of those machines. It's hard to explain honestly. That's why these vacuum tube videos are less of a computer nerd thing for me and more a peak into crazy engineering lol.
Next you need to add three digits; whatever is in the result register (initially zero, but thereafter the carry from the previous operation), A read from memory and B read from memory. The carry from the previous addition will need to be overwritten in memory with the next sum when it comes around. As you are only using +24V and -12V, you should be able to build a compact memory unit using just BC337 and BC327 transistors, or whatever general-purpose NPN and PNP transistors you can get dozens of cheaply, there and may even be enough voltage headroom for LEDs in the collector loads, which will be compatible with the SBVTC ..... Not quite valves, but still discrete components, and probably OK for demonstration purposes ..... an 8-bit instruction memory allows one bit for immediate data, 3 bits for instruction and 4 bits for a memory address, which is enough room for two 5-bit numbers and their sum or difference .....
The UE-1 is horribly designed and full of inefficiencies, even though I love it all the same. But, UE-1 is nearly completion. I'm hoping to have it fully finished, executing code off paper tape in just a few months. What comes next is going to be even more exciting though. We've already started design on UE-2, using everything we learned on UE-1 and trying to build the best hobby vacuum tube computer in history!
Ok… PLEASE tell me this is going to be released as a KIT soon! OH, how I HUNGER for learning like this (but not having to waste precious rare time sourcing parts, and construction directions, as well as educational exercises to go with it). This is the kind of thing my autistic son and I desperately need to work on together for father/son quality educational time…
I like the toggle switches on the unit. I wonder if it would be possible to put some relays in there so you could alternatively drive it with either a 5v Arduino or 3v raspberry pi . What also might be nice, would be some sort of toggle or hot swap where you could flex the Motorola chip. Wood seems to be an easy material to use. Is worth the time to explore other 50's era materials or maybe go for something space age out of the 70s?
I'd be interested to see how fast you can get it to run. thinking a scope on the result register, and a square wave on the clock input, crank up the Hz until the result register stops changing.
The biggest quirk I see with "one bit" computers is the lack of any discussion of how the program counter is stored. If one can branch based upon the state of an input, then things like carry flags can be handled through program logic, and if one can't branch, that wouldn't let the processor do very much. Even if instructions were limited to "Output X and XOR the program address with Y, but using the data input from a delay line as the bottom bit of the program address", it would be possible to build everything out of those given sufficient code space [it would essentially be a Turing machine, except with the ability to move left replaced by having the tape loop around]. Such a design would lead to horrible code bloat if all addresses were fully decoded, but if one could say that all addresses of a certain form should have certain bits in certain fields, that could make things much more efficient, since one could handle subroutines by simply ignoring certain address bits while using others, and one could repeat a group of operations e.g. 16 times by having the row lines for those operations ignore four bits of the program address, while another set of rows would act as a counter when a certain address bit was set, and flip that address bit when the count expired. Having to use a tride to decode every instruction would seem expensive, but a silicon-diode ROM seems much more practical.
Now you just need to design your own vacuum tube ICs to make the computer smaller. I imagine it would be possible to fit a couple dozen triodes in a small package if it was built like a modern VFD.
The current version of KiCAD can fillet between two traces. Although I don't think it does it automatically (as you are dragging the traces around) you have to select two completed traces and use the 'fillet' commend which could be an issue with neighboring traces. I think any EDA package will let you create graphic elements on the copper layer. It would be some extra effort, but you could create a set of 90° arcs with the same radius and in the 4 orientations and copy/past them at the intersections of the traces. Then go back and trim the traces. The DRC would complain, but the Gerber files would be fine.
As ElectricGears mentioned, any EDA can do the rounded traces, but I personally use DesignSparkPCB. It has some features that I really like over other EDAs out there.
My dumb butt forgot to update Github with all the design files, but that has been rectified! Check the link below for the Logisim file, DesignSpark PCB file, Gerbers, and Bill of Materials!
github.com/Nakazoto/UE-0.1/tree/main
Dave, once again, you have created a WONDERFUL video here, and, if I do say, a glorious holiday gift to us all with this project...thanks so much! I'm learning so much just by following your Tube computers alone!!!
Thanks for the fascinating and instructive video. 🙂👍
Would you be able to run ladder logic programs on it as a PLC function?
Are these tubes actually obtainable? I remember them being used in radios.
"You're just some two-bit computer engineer!"
Usagi: "I'm actually a one-bit computer engineer 😏"
"In a 64-bit world, I'm a 1-bit user!"
Comment of the day right here!
@@Stoney3Kdoes that make it itty bitty?
*insert AVGN Tiger Wrist game joke here*
The style of routing with horizontal on one side and vertical on the other is known as "Manhattan Routing", BTW.
Get it? Because ur using a grid system.
Lulz
Uh, I think you mean “I’m walkin’ here!” routing, jabroni.
Interesting, I always thought Manhattan style was where you had little isolated islands on the PCB like this:
th-cam.com/video/0QbeC0Hw2QA/w-d-xo.htmlsi=vUOMURG6GIAGgasr
@@UsagiElectric : Yeah, same here.
Perfectly logical. I usually go with Long Island City routing, you can tell planning was considered, abandoned, re-implemented, and the labels are so incoherent even the designer has no idea what the method to the madness was.
When I was in computer school in the Navy (1979), they had a training computer called the COMTRAN-10 (COMputer TRAiNer 10). It was a TTL computer that exposed its microcode. It was really an eye opening experience to see how computers work at the lowest level. I will never forget the knowledge I gained from working on it. This reminds me quite a bit of your one-bit computer.
This is why your channel is doing so well. Nobody produces stuff like this. Absolutely fascinating.
Caught you here 😊
Right? It's like a lost genre that I'm rediscovering!!!
I love it, real nice work! Adding a 10+ KHz clock, paper tape (or punched card) reader and maybe a core rope memory I think would make a proper general purpose computer capable of doing real complex things. Slowly, but reliably. Simplicity at its best, not many things can go wrong with such a small part count. I am genuinely tempted to attempt building something like this with transistors. Thank you for sharing this, it's really beautiful and educational!
Oh, beat me to a similar idea…(kudos). I thought of core rope for “cpu” instructions, since that’s literally “rom”. Then a few bits of ferrite “ram”, but quickly realising that it will need its own complex logic…
So, I revise; How about creating the necessary “devices” just on a modern microcontroller, including a very simple oled display? Then real paper tape for program, data and output? Real 1-bit tube “cpu” with fake additional interface logic… Nah, see that I’m way overboard already…
Very nice work…! 👍
How is it going to be a general purpose computer without things like a program counter, jump and branch instructions? Right now there is no way to make decisions or alter the program flow.
I like the idea of trying to replicate it with transistors. I think JFETs, such as the 2N3819 would be a good match for the thermionic devices.
Thank you so much! Glad I could inspire some ideas in you!
I have also thought about expanding it out into something a little more general purpose, that's actually why I included the pin headers on the large vertical bus in the center. Maybe someday, I'll build some expansion boards for this and get it doing something all on its own!
If you want to see the design files, I dropped them into a Githhub repository at the link below:
github.com/Nakazoto/UE-0.1/tree/main
@@Stoney3K The 1bit cpu presented here has the ability to simulate boolean logic operations. Since any digital circuit can be described with a series of boolean algebraic expressions, with an adequately crafted algorithm you can simulate a digital circuit of any complexity by simply sequencing 1bit cpu instructions and storing output at certain steps to the external output register of sorts to read out the result of execution. As program counter and branching logic can be implemented as digital circuits, it would be quite a trivial task to run them as a program on this 1bit cpu. Just adding a sequential ROM like for eg. a punched paper tape and perhaps some form of gated closed loop shift register you'd get universal computability. To further clarify I'm thinking of branching in terms of mostly Turing Machines, Rule 110 cellular automata and Cyclic Post Tag systems. All of these are Turing Complete, therefore general purpose computing is possible.
Add silk screen and you can label functions on the board.
Amazing to see a cut down processor working with so few tubes, thank you.
1:10 absolutely the way to do it! Let the product speak for itself. When someone is too pushy during an ad i will put that on my "i will never buy that ever." List.
I would really recommend it to add support in the middle of the PCB. Now it's only at the corner and the PCB is flexing. If you want to use it at events you might break traces from the flexing, making it unreliable. As your bus is smack in the middle, I would suggest adding holes on both sides of the bus. Also a little more towards the middle so your switches are properly supported on all sides.
That's what I was thinking. PCBs are not meant to be flexed. I was also wondering if it would have been a better idea to mount the switches and button separately, connecting to the board with wiring.
A nice accessory that would also keep it from being damaged would be a small hand held box with a rotary switch for selecting the instruction and a push switches for the data and clock. A binary coded rotary switch would make entering the instructions a lot easier for people unfamiliar with the computer.
If you look closely, there are machined holes next to each switch and the push button for standoffs and proper support. I didn't install those this time because the wooden base is just a temporary thing. Once it's in its final setup, there will be a dedicated standoff for each touch point from the user. It'll be plenty strong!
This is what every aspiring computer engineer should review. Excellent content.
Thank you! I'm just a hobbyist, but I love taking things down to the very fundamentals, and this was a fun project for that!
And the 8 bit breadboard computer series by Ben Eater.
Perhaps my new favorite retro tech channel. This stuff is just fascinating, anemoic even.
Thank you so much!
TIL, "anemoic" means nostalgia for a time you've never known, but it's not in the 3 mainstream dictionaries that I checked.
@@collectorguy3919Yeah, that's exactly it. I don't know why it's not in dictionaries, anemoia is a popular term.
@@alephcake I've actually never heard this word in my life, and I've been a writer/word nerd for some 20 years. I love it though, I experience it often. Thanks for putting a name to the feeling!
@@collectorguy3919 oh wow, new word! I have that same feeling with this channel. I was born at the tail end of the 90s and never touched anything older than the mid 90s until way later in life, so I have no rose tinted glasses nostalgia for Usagi's subject matter, but still feel sorta nostalgic in the sense it's retro I guess. It's just neat tbh.
This just cleared up a lot of confusing concepts about computing for me. I have a much better understanding of cpu architecture and logic. Now I SEE what assembly language IS. It's actually the physical configuration of the hardware! Great video! Thank you!!!
Machine code is the bytes that control the physical configuration of the hardware. Assembly code is the same but easier to read.
This processor is unusually simple, impossibly simple. Every actual processor doesn't have the instruction wired straight into the ALU like that
Today people play with gear where even a remote control or a microwave oven may have more computing power than first generation tube or relais computers ... and then there is this anachronistic guy that builds a computing tutorial device from *Tubes* ! Well ... that's something. Thanks for sharing ! Keep up the good work also with the antique computers. My earliest device I work with - at the moment - is a 1984 IBM 5155 Portable PC, which I own for around 30 years and which spent the last two decades in the basement ... And I felt rather "retro" when I got back to work.
I'm sad to not see the CNC routed PCB's but happy to see PCBWay supporting projects like this.
And of course, absolutely love the project.
Thank you so much!
Don't worry, next week we're actually cutting new PCBs for the UE-1 on the mill again!
I think this works as a concept trainer. I've never really understood stuff this far down, particularly not digitally, but I could definitely follow this.
Imagine giving a computer engineer from that 50s Time Machine and showing them this computer. Like “you have made a single bit almost the size of an atom and you are making this!? That’s pretty cool keep up the good work.”
My first job out of college in the late 90s was at a small electronics manufacturer. The systems I worked on were iterative designs extending back to the 70s, and some of the boards on older systems and in manufacturing test jigs were the "naked" double-layer fiberglass just like yours. ISTR a lot of backplanes floating around with that style of board as well. I always liked the "etched" labels like the boards in the bendix, where labels were etched on the board along with the traces, but weren't part of any circuit. (I think the boards in my old PAIA synth are like this, too.)
Some of the boards that were still in production when I started were dual-layer, and hand layed-out with tape and mylar. The back of the door to the engineering library had the original 8x(?) artwork. In the early 2000s, the boards were re-captured in ORCAD because it was getting difficult to update the originals, and I suspect board manufacturers didn't want to deal with the process. The boards ended up as two-layer with soldermask and silkscreen on pededstrian green boards, mostly autorouted with tweaks for RF.
Your board design language is great: it's got the organic feel of tape and mylar due to the curves, but the consistent radii and alignment makes it really clean. Kudos.
I love this project. It would have been a really great project back in university. Thanks for the great content! Always excited to see a new video post.
Very lovely little project!
A great trainer for the UE-1!
I think this is great not only for introducing people to 1 bit computing, but for introducing them to computing in general. The learning process is much more efficient if you start with something less complex at first. I wish more teachers would use this approach.
I don't know. 1 bit can't do much
I would concur with others who were concerned with the lack of structural support in the middle. Perhaps a few wood dowels inserted into the baseplate and trimmed to height would suffice?
If you look closely, there are machined holes next to each switch and the push button for standoffs and proper support. I didn't install those this time because the wooden base is just a temporary thing. Once it's in its final setup, there will be a dedicated standoff for each touch point from the user. It'll be plenty strong!
That's a great way to demonstrate processing, plus it physically shows the operations in a hands - on manner. This should be in every classroom.
Here's a challenge: build a 32 bit d/a tube processor for audio. 😮
This is really fascinating, I need to look into this myself, maybe I should build a 1 bit relay computer. I find this interesting, so this is practically serial processing.
unless it's a special challenge, you CAN build one with 4 or 8 bits with one a couple hundred dollars of relays
I am building a 1 bit computer that uses the MC 14500 chip and it fascinates me that your handheld vacuum tube computer is based on that chip! Great work!
Debounce! That put a smile on my face :) I remember in the early 90's I made Amiga Basic program and some sort of switch to record my hamster's wheel speed, I had no concept of debounce.
It's so cool that PCBWay can straight up design PCBs with that same semi-transparent piss yellow color and zero solder mask of old PCBs. Obviously built way better than old ones, should never have traces lifting from a tiny amount of heat.
I love how excited you get when things work.. like you are even surprising yourself.. So relatable!
In the mid 1980s I was working for a crankshaft manufacturer. We had a production CNC grinder that had a one bit computer that ran a 4 axis machine. It worked very well holding .0001 in tolerance.
When we did History of Computers at college in the 1980s, we called the old 1-bit VC machines "serial" and the (e.g.) 29-bit machines "parallel". I think that made it easier to understand but simple serial and parallel interfaces were still common then and maybe that helped our old school terminology work.
Thanks for the great series on Huey-1 :-) A suggestion after your crash at the end of the computer show: build a perspex or similar case and lid to transport the kit, with pin hinges to allow for lifting and removal once it is secure in a show venue (or at home).
So I know this is a bit outside the scope of this channel, but this would be a great project to do a quick side video on the process of ordering one from PCBWay from the github files. So many settings.....
Isn't it amazing how much easier the second project goes together. All that basic learning from the first paves the way. You will make two-bit engineer soon!
This is the first time I've actually fully understood how binary computing works
Awesome! Reminiscent of my earliest career days.
You need a "load simulator" to go with it, so that people can understand it better.
That is, a microcontroller that simulates a device that _uses_ the control board: It issues instructions based on its own state, puts out data and reads in result data to make decisions.
A washing machine comes to mind, but the quintessential place that you find ladder logic is an elevator. I wonder if an elevator is too complex; but again, you can simplify it, leaving out Fire Control and executive floor keys and whatnot.
I really want to see you keep it vacuum’d not get slowed down with electro-mechanical storage! How about a Williams Tube next? Incidentally adding a second tube in parallel with the storage tube gives you a nice output device!
That's so awesome. The PCB is a thing of beauty. Great design.
Thank you so much! I definitely feel like I've managed to carve away a very specific design language that is unmistakably Usagi Electric!
@@UsagiElectric Absolutely. 👍
Oh you used soviet swiches along with the display tube so cute 🤤
Yeah, I noticed that too. I have a few of them at home. My father worked as a technician on a soviet EC(ES)1033,EC1045 mainframe, basically a IBM system/360 clone.
"Kinetic art" 😊 just the bare PCB is a work of art.
Thanks a lot for the demonstrator. Some confusion has happened because modern pics are having address bus and are sharing data bus to fetch data and instructions, while your design is actually manual 3 bit command size direct input one
"Now I just have to figure out how to power it." Have you considered a sterling engine?
I'm not being sarcastic. I love archaic technology. Paper tape, core memory, transformer ROM, fluidics. I love it all.
David, you lulled us in with the Centurion, I see now that you just wanted to show the world your 1 bit computer, you are indeed a mad scientist. Your enthusiasm is top draw, you have obviously spent many hours, making the vacuum tube PCB's and wiring up etc. I am at a loss to why, only thing that comes to mind, is that an inate desire to understand the basic's of how a computer works. Or I am missing the whole point. To me you might be better off with a old school 6502 college training board. Anyway I like what you do & will watch with interest, to see where you are going with this project, you have me intrigued, I might not be able to sleep tonight, contemplating ... What is that Usagi Electric ... David up to ! ... mmm
Cool I learned a lot super fast with that simple addition! Cool!
So functional as a computer, no. But as an example for the concept, yes! And that's exactly the point.
Just beautiful! Please consider selling it as a kit 😊
Or at least making the gerbers (PC board 'blueprints') and BOM (parts list / preferred suppliers) available.
@@Renville80 you are so right!
No plans to sell it as a kit or anything, but all the design files, gerbers and a BOM is available at the link below!
github.com/Nakazoto/UE-0.1/tree/main
"All your 6AU6 are belong to us!"... again!
Nice project, I like the totally tubular old-school PCB. None of that 4-layered stackup rubbish. Not even a soldermask, haha! All this with plated through-holes and vias, that's the good stuff that gets out of the way when assembling the thing.
I like the wooden sub-structure and connections. You might even be able to take the UE-2 on a plane to show at conferences and meetups... waaaaaaay easier than UE-1, and harder to RUD.
19:05 wanna visit my lab, eh? That'd be a big one!
This is exactly the sort of mad-scientist shenanigans that TH-cam was made for. Completely awesome.
Very nice looking. Even the bodge fits the design style.
Fantastic job what a wonderful little CPU trainer
You should really make a way for other people to make something like this. Maybe by instructables or just another video detailing how to build it. I’m new to this channel and I would really enjoy being able to make something like this.
Definitely awesome. Your case needs to be mahogany and brass for authenticity.
Looking forward to you doing a bit-slice PDP8 - or maybe a PDP8/S?
Loving this project and hope it inspires lots of people who see it in person.
Is the output to memory on one of the pins on the edge? You could have an oscilloscope or some simple display of some kind just to show the individual output of bits to make it a bit more visual maybe.
This brings back memories. When I was in the AF and training at Kesler AFB (72), we had an array of logic racks the was used for logic training. At one point they had a single bit computer made from them, with a one kiloword (16-bit) (core memory) module attracted to one of the racks. I believe that it was a 16-bit register and something like 4-bit instructions set. Yes, it was simple, but was very instructional.
Now, I do believe that I may have the circuit diagrams of it somewhere. And if I do find it, I would like to try to build it with modern logic IC’s. I think that the original was built out of discreet RTL, but I am not going to try for that.
As an electronics tech, I could not take my eyes off the glaring error in the bank of resistors above the display tube at around 14:39.
If you're using 24vdc, you might look into using Sealed/Valve Regulated Lead Acid batteries. They're cheap, easy to transport, store, and charge, and are available in sizes from as small as 700 milliamp-hour on up to 100 amp-hour (but all things for a price, Effendi). How much current does the UE-1 draw again? Three of these would be able to supply +12 and +24 vdc and allow independent operation of the UE-1 for a short period. This might be handy at small gatherings or those held outdoors.
EDIT: Needless to say, the UE-2 would be a lot easier to equip with these.
I might try to build this in minecraft, sounds doable for a (relative) noob like me
That would be awesome!
Do it! Post the video
I didn't understand most of this but I still enjoyed it.
would be interesting to control the switches and button with an esp32 and write software to automate math through the computer
Have you looked at transistor logic optimization using the tubes instead of sticking to logic gate level?
For cmos the transistor optimization level strips a lot of transistors in many situations. Just wondering if that could be done on tube-level too or if it is already done.
try the pre-computed results rom computer style design, or dynamically on-the-fly changed instruction logic circuit ALU circuit, as opposed to FPGA or ASIC preset circuits design. the dynamic instruction set is more close to FPGA, but does the switching on-the-fly per clock cycle. goal is less logic elements used, the instruction matrix is loaded from memory, or store as simple roms next to the per-cycle re-programmed fpga circuit.
You built that computer bit by bit
Very cool!
I know that some single instruction processors have been proven turning complete, I recall they concluded that subtract is the best instruction to use. (not the only one but something about it works better)
It would be cool to make a single instruction [SISC], single bit, single board computer.
This is cool. Strangely I had a harder time following the logic than with simple 8-bit processors. Which reminds me, I should really get around to assembling my Ben Eater 8-bit kit at some point...
Amazed by the work you do!
Outstanding, good work
So can someone build this with discrete transistors or simple ICs and make it credit card sized? Could be a fun kit even if it seems wrong for a vacuum tube channel.
Absolutely! It's a very simple logic design, so building it from discrete components would be a cinch, and make it so much smaller.
I know a few people are already working on that for fun, but I also may take a crack at it with some transistors in the future for funsies!
You just made the first Vacuum Tube iPad!
I wonder how much more a computer could be cut down and still be Turing complete?
Having instructions and addresses larger than the data bus isn't so weird. Most 8-bit computers had those properties.
Amazing
How hard would it be for someone to build one of these at home? Looks like it would be a fun project!
That's honestly where I thought this was going.
Not hard at all, if you know what your doing. For me, impossible.
Essentially it all breaks down on your ability to handle a soldering iron, get the parts and put them on their appropriate positions. And you need a power supply as noted. I would estimate that a mediocre solderer with all parts in a box and an installation sheet with the components location would not use more time than a boring sunday afternoon - including having some tea or coffee and a brief walk with the dog. Given all tubes work it could be "in service" earlier in the evening.
It's totally possible!
If you want to dig through the design files I uploaded everything related to the project to a Github repository at the link below:
github.com/Nakazoto/UE-0.1/tree/main
It's a fairly easy soldering project, it's just designed around some not so common soviet era switches and VFDs. Those will have to be acquired via eBay or other used markets.
How very cool. You should consider selling it as a kit.
You could try building a processor with just one instruction- like a SUBLEQ machine. The only problem is you would need a control store- but you could cheat a bit and use silicon diodes.
I think he needs to add memory first.
And that will show which further improvements are possible.
Now all it needs is a ROM to read from, a clock and a conditional operator (if you want to make it turing complete).
Even with the idea of making it easier to understand, anything that isn't an integrated circuit computer is just gonna be "not a real computer" to me. Obviously they're computers, but they're so much older than I am and are far different than anything made even in the late 70s. I feel the same way with whatever a neural computer ends up like, it just won't feel the same. Despite being born in the late 90s, I can still relate to early integrated circuit computers, even ones like the Sol or Altair, just because modern computing is more or less an evolution of those machines. It's hard to explain honestly. That's why these vacuum tube videos are less of a computer nerd thing for me and more a peak into crazy engineering lol.
You're insane, I love it!
Next you need to add three digits; whatever is in the result register (initially zero, but thereafter the carry from the previous operation), A read from memory and B read from memory. The carry from the previous addition will need to be overwritten in memory with the next sum when it comes around.
As you are only using +24V and -12V, you should be able to build a compact memory unit using just BC337 and BC327 transistors, or whatever general-purpose NPN and PNP transistors you can get dozens of cheaply, there and may even be enough voltage headroom for LEDs in the collector loads, which will be compatible with the SBVTC ..... Not quite valves, but still discrete components, and probably OK for demonstration purposes ..... an 8-bit instruction memory allows one bit for immediate data, 3 bits for instruction and 4 bits for a memory address, which is enough room for two 5-bit numbers and their sum or difference .....
Can the number of logic gates can be reduced for the full computer using gate optimizations and some smart tricks?
The UE-1 is horribly designed and full of inefficiencies, even though I love it all the same. But, UE-1 is nearly completion. I'm hoping to have it fully finished, executing code off paper tape in just a few months. What comes next is going to be even more exciting though. We've already started design on UE-2, using everything we learned on UE-1 and trying to build the best hobby vacuum tube computer in history!
While I'm still designing the first vacuum tube computer you already built the second one :D
I don't know if I would call this one a computer, plus yours is going to be beyond epic when finished!
That was so cool!
Where can I order the 256MByte version? ;-)
PCBWay rocks.
Ok… PLEASE tell me this is going to be released as a KIT soon! OH, how I HUNGER for learning like this (but not having to waste precious rare time sourcing parts, and construction directions, as well as educational exercises to go with it). This is the kind of thing my autistic son and I desperately need to work on together for father/son quality educational time…
I like the toggle switches on the unit. I wonder if it would be possible to put some relays in there so you could alternatively drive it with either a 5v Arduino or 3v raspberry pi . What also might be nice, would be some sort of toggle or hot swap where you could flex the Motorola chip. Wood seems to be an easy material to use. Is worth the time to explore other 50's era materials or maybe go for something space age out of the 70s?
Hopefully, this one won't try to fly away and face crash like its bigger sibling 🙂
I can still see it tipping in slow motion in my head, haha.
I'd be interested to see how fast you can get it to run. thinking a scope on the result register, and a square wave on the clock input, crank up the Hz until the result register stops changing.
The biggest quirk I see with "one bit" computers is the lack of any discussion of how the program counter is stored. If one can branch based upon the state of an input, then things like carry flags can be handled through program logic, and if one can't branch, that wouldn't let the processor do very much. Even if instructions were limited to "Output X and XOR the program address with Y, but using the data input from a delay line as the bottom bit of the program address", it would be possible to build everything out of those given sufficient code space [it would essentially be a Turing machine, except with the ability to move left replaced by having the tape loop around]. Such a design would lead to horrible code bloat if all addresses were fully decoded, but if one could say that all addresses of a certain form should have certain bits in certain fields, that could make things much more efficient, since one could handle subroutines by simply ignoring certain address bits while using others, and one could repeat a group of operations e.g. 16 times by having the row lines for those operations ignore four bits of the program address, while another set of rows would act as a counter when a certain address bit was set, and flip that address bit when the count expired. Having to use a tride to decode every instruction would seem expensive, but a silicon-diode ROM seems much more practical.
Now you just need to design your own vacuum tube ICs to make the computer smaller.
I imagine it would be possible to fit a couple dozen triodes in a small package if it was built like a modern VFD.
Love it
SBC? …… where is the Program Counter …… and where is Address Register ……
Very good! Was the PCB this time processed using your CNC machine?
Nah it was PCBway
Needs a small 3D printed hood on the outcome, to make it a bit more visible.
im sorry if i missed it, what software you use to make the pcb? I love the rounded traces
The current version of KiCAD can fillet between two traces. Although I don't think it does it automatically (as you are dragging the traces around) you have to select two completed traces and use the 'fillet' commend which could be an issue with neighboring traces.
I think any EDA package will let you create graphic elements on the copper layer. It would be some extra effort, but you could create a set of 90° arcs with the same radius and in the 4 orientations and copy/past them at the intersections of the traces. Then go back and trim the traces. The DRC would complain, but the Gerber files would be fine.
As ElectricGears mentioned, any EDA can do the rounded traces, but I personally use DesignSparkPCB. It has some features that I really like over other EDAs out there.
Thank you both for the answer, definetly gonna give it a shot when i can! @@UsagiElectric @ElectricGears
Hello Usagi Team
Quick input
Not all you videos are listed in when videos > Play All is selected. Some are left out
It’s the UE 1/8th!
Great little device, do you have a schematic of your design?
Hey kindly make a tutorial of circuit making and also tell can we replace led diodes with vaccum blue lights
Can you please share names of those switches and push button? One guy told me they were designed and produced in USSR only ))
The switches and push-button are indeed old Soviet era stuff! I put a full BOM available at the link below:
github.com/Nakazoto/UE-0.1/tree/main