3

Is there any computing system, kit or project where you would actually assemble components to form a rudimentary computer which could actually be used to send basic transmissions over the internet?

In other words, something on a lower level than just buying a Raspberry Pi, which is capable of sending and receiving bytes using the Internet Protocol.

I’m picturing some kind of circuit board which can support computation on a limited number of bytes and at a limited speed. The kit would most probably come with ports / support for internet connectivity, power and a display to subtract the complexity of those out of the equation.

It would be more about creating your own CPU and memory.

If my project is unrealistic, then please suggest a related, similar project that can teach me about fundamental computation but which would be a device I could actually use on the internet.

I am currently studying the Linux kernel and Unix programming so this is as far down I have gone in understanding how computers work and I wish to go to a deeper level next.

toolic
  • 5,637
  • 5
  • 20
  • 33
hmltn
  • 149
  • 3
  • 4
    Any MCU with Ethernet? Or since you don't even require Ethernet, any MCU with UART to have SLIP or PPP connectivity? Has been done with PIC12 if I recall. – Justme Jun 09 '22 at 11:50
  • There are ethernet add-ons for arduino as well.While you can build all the logic for a NIC yourself I would recommend buying one of those and interface it with your homebrew cpu. Similar for the UART, buy a 16550 uart chip, that's what I did. – Goswin von Brederlow Jun 09 '22 at 11:53
  • @Justme But that's too easy! :D It doesn't involve _actually_ building the CPU and everything. Sure it's objectively faster/cheaper/better/less painful to use a well-supported microcontroller, but where's the fun in that? :D – Richard the Spacecat Jun 09 '22 at 12:20
  • 1
    I remember back in 2004 when I friend of mine made an ATmega (way before Arduino and native Ethernet support) more or less bit bang Ethernet data which some switch accepted as good enough. He had an incandescent lamp with a fixed IP number which you could ping a certain port from anywhere in the world and it would toggle on/off. Good times. – winny Jun 09 '22 at 14:02
  • 2
    *If my project is unrealistic, then please suggest a related, similar project that can teach me about fundamental computation but which would be a device I could actually use on the internet.* - how about first creating a CPU that can run some very basic programs? Look at https://www.nand2tetris.org/ Then you will probably start understanding the complexity of things. – Eugene Sh. Jun 09 '22 at 14:26
  • What counts as the Internet? The Magic-1 has a serial port that's plugged into something else that translates between serial port and Internet. Does that count as connected to the Internet? Or is it cheating? – user253751 Jun 09 '22 at 16:21
  • Why stop there? How about the transistor level? Now that would be fun. Look up Sisyphus! – StainlessSteelRat Jun 09 '22 at 16:51

1 Answers1

5

I vaguely remember an interesting machine called the "Magic-1", that was entirely built out of 74-series logic, but still could talk on the internet.

See http://www.homebrewcpu.com and http://magic-1.org/. It even runs Minix!

Richard the Spacecat
  • 1,689
  • 15
  • 23
  • "Running 16-bit Minix 2.0.4 at a blazing 4.09 Mhz......" – Oskar Skog Jun 09 '22 at 12:14
  • @OskarSkog Not too bad, eh? – Richard the Spacecat Jun 09 '22 at 12:18
  • Not too bad indeed. I forgot it also hosts its own website! – Oskar Skog Jun 09 '22 at 12:20
  • 1
    That was an incredibly fun rabbit hole. Thank you, fine folks, for making my morning. – Chris Knudsen Jun 09 '22 at 12:59
  • This connects to the internet via a [Lantronix UDS200](http://www.lantronix.com/wp-content/uploads/pdf/UDS200_UG.pdf) which is basically an RS-232 to Ethernet gateway. RS-232 is definitely something you can do yourself. But does using a gateway to connect it to Ethernet count as cheating? – user253751 Jun 09 '22 at 16:21
  • @user253751 Is using a network card in a PC considered "cheating" ? :) The problem is with the question, not with the answer. You can "connect" a wall painting to internet by pointing a webcam on it. – Eugene Sh. Jun 09 '22 at 21:33
  • Thank you. Unfortunately I found the Magic 1 to not have very organized documentation so it’s not that easy for me to know what parts to buy and to ask for help from a support community. Is there any similar but more widely known hardware kit or project? – hmltn Jun 10 '22 at 12:51
  • I’m considering googling “make your own microcontroller” if that’s the most precise keyword for such a project. This project looks alright (https://www.instructables.com/Designing-a-Microcontroller-Development-Board/?amp_page=true), but I would be curious if there’s a canonical project analogous to Linux From Scratch, Raspberry Pi, APUE, etc. Maybe a famous microcontroller parts manufacturer you can buy pieces from to reassemble in different ways? nand2tetris is great except it’s all via emulated software with no hardware components. Thank you – hmltn Jun 10 '22 at 12:55