Please log in.
Before you can vote, you need to register. Please log in or create an account.
Computer: Programming Language
Lego programming   (+2)  [vote for, against]
Design hardware and software using Lego.

One way to look at electronic hardware is as big electron water wheels. Electrons come in on the hot (black) wire, flow through the machine doing some "work," and (hopefully) most leave on the neutral (white) wire, always flowing towards "Earth" or "ground." (Sure, there are a few planned escapees, like the ones that are being shot at your face right now if you sitting in front of a CRT.)

In an electronic circuit, the flow of the electrons is "logically" regulated with capacitors, diodes, resistors, etc., that have (hopefully) precise effects upon the flow of the electrons. Lego bricks could be used as analogs for these electronic components in design. For example, the red 4x1 brick would symbolize a 4-K resistor. The yellow 4x2 would symboliz an 8-Ohm Capacitor. With these bricks, one could construct a Lego "model" of a circuit. For example, the first two blocks you could place on your big Green Board would be the (symbolic) black and white DC power lines in and out of the model to establish the direction of flow. Then you connect those two bricks with an elaborate series of various Lego blocks, that have a specific effect on the flow.

In this fantasy world, the Green Board the Lego are being clicked onto has "sensors" to receive a "digital signature" signal from the blocks, so it can tell what blocks cover what parts of the board. The Green Board also has an RS-232 (USB, whatever) interface so the position of the different types of blocks (the circuit diagram) can be downloaded to an external system, which could then instruct a PCB-board-making device to turn your Lego model into a PCB.

Software can be viewed as similar type of abstract flow, but of streams of data (or just the "focus" of the program) instead of electrons. So bricks would just represent more abstract ideas. For example, "for" loops are a pair of white Lego bricks. Or bricks could represent more sophisticated standard or personal library functions or system calls.

Bricks could be stacked into the third dimension (Z), for combinations that would create more complex "functions," or perhaps to define what the parameters of that "for" loop are.

It seems like the whole design idea could probably be implemented virtually in software as a GUI. But somehow, the idea of sitting down with a big pile of Lego to do some coding seems much more appealing. Plus i'd get to give my wrists a break from typing.
-- johan, Mar 02 2000

Lego Mindstorms http://www.legomindstorms.com
Not related to the idea, but it is Legos and it is cool. [pkj, Mar 02 2000, last modified Oct 04 2004]

Graspable User Interfaces http://www.dgp.toro.../chi95%20Bricks.pdf
``We introduce the concept of Graspable User Interfaces that allow direct control of electronic or virtual objects through physical handles for control.'' [egnor, Mar 02 2000, last modified Oct 04 2004]

Lego Machine Gun http://www.silverli...lego/machinegun.asp
The Lego gun [juke] was asking for. [egnor, Mar 02 2000, last modified Oct 04 2004]

Mimio http://www.mimio.com
They sell a piece of hardware that snaps on to a whiteboard and through complex seismography, infrared, whatever, replicates what you draw on your computer. You could adapt this to work with the Green Board, detecting the color and size of added Legos. [f_kedge, Mar 02 2000, last modified Oct 04 2004]

Lego Turing Machines http://www.mapagewe.../Turing/Turing.html
[jimshaw, Apr 30 2006]

Hardware/Software architecture for middle managers!

Btw, electrons flow opposite the direction of current, that is, from the ground up. Thank Ben Franklin. But hey, he had to guess. He had a 50/50 shot. He guessed wrong.
-- pkj, Mar 02 2000


Oops! Hopefully, this forum is used to my sort of error-prone speculation. Of course, the implications of electrons flowing against the current raises all sorts of interesting ideas for me now. (paradigm shift! heh) I'm really not going to get any other work done today!
-- johan, Mar 02 2000


Off the subject, but I saw recently on the web a working Lego gun that shot Lego bullets. Anyone know where it is?
-- juke, Mar 04 2000


not exactly the same, but interesting and pertinent, anyone remember lego-logo? it was a hardware/software interface in which you wrote logo routines on your apple IIe and it sent instructions to a little mechanized lego robot which you built. it got as fancy as four separate motors, each with it's own control channel... pretty slick, but alas, discontinued.
-- urbanmatador, Mar 25 2000


Yeah, I remember lego-logo. I had a computer class back in elementary school where we used it. Fun stuff!
-- jediKnight, Apr 20 2000


Speaking of weird devices to do computing:

-1- I saw a device made out of tinkertoys and string at the Computer Museum in Boston which would supposedly play tic-tac-toe. It was about a meter cubed. Scientific American also shoed a picture of a tinkertoy tic-tac-toe computer, though this one used sequential logic rather than combinatorial and was probably about 100cm x 80cm x 15cm. A reader examining the photo, however, noticed a bug in the logic and wrote to the magazine with a proposed fix; the magazine confirmed both the bug and the fix.

-2- I've designed a Quake level which implements an adding machine using sliding doors, teleports, and a bunch of ogres (which face away from the player; if any of them sees the player everything goes to pieces!). I also designed a level which plays tic-tac-toe, though I left in a slight bug which allows a clever player to win. Maybe someday I'll get around to 4x4x4 tictactoe.
-- supercat, Sep 21 2000


One thing you could certainly use it for is mapping out relational databases.

I'm starting a new job next week, I might suggest it and see what happens.
-- marklar, Apr 26 2006


I dunno what it would be useful for, but I like it.
-- moomintroll, Apr 28 2006



random, halfbakery