3
\$\begingroup\$

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.

\$\endgroup\$
7
  • 4
    \$\begingroup\$ 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. \$\endgroup\$
    – Justme
    Jun 9, 2022 at 11:50
  • \$\begingroup\$ 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. \$\endgroup\$ Jun 9, 2022 at 11:53
  • \$\begingroup\$ @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 \$\endgroup\$ Jun 9, 2022 at 12:20
  • 1
    \$\begingroup\$ 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. \$\endgroup\$
    – winny
    Jun 9, 2022 at 14:02
  • 2
    \$\begingroup\$ 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 nand2tetris.org Then you will probably start understanding the complexity of things. \$\endgroup\$
    – Eugene Sh.
    Jun 9, 2022 at 14:26

1 Answer 1

5
\$\begingroup\$

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!

\$\endgroup\$
8
  • \$\begingroup\$ "Running 16-bit Minix 2.0.4 at a blazing 4.09 Mhz......" \$\endgroup\$
    – Oskar Skog
    Jun 9, 2022 at 12:14
  • \$\begingroup\$ @OskarSkog Not too bad, eh? \$\endgroup\$ Jun 9, 2022 at 12:18
  • \$\begingroup\$ Not too bad indeed. I forgot it also hosts its own website! \$\endgroup\$
    – Oskar Skog
    Jun 9, 2022 at 12:20
  • 1
    \$\begingroup\$ That was an incredibly fun rabbit hole. Thank you, fine folks, for making my morning. \$\endgroup\$ Jun 9, 2022 at 12:59
  • \$\begingroup\$ This connects to the internet via a Lantronix UDS200 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? \$\endgroup\$
    – user253751
    Jun 9, 2022 at 16:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.