This story from the BBC explains how researchers at Cornell have created a very simple robot that can assemble a duplicate of itself.
Now, it’s not the time to panic (yet). The robot can only really
assemble a duplicate of itself if it has the correct parts. In this
case, each robot is made up of three cubes, each of which contain
motors, a processor, and programming. Aside from making more of
themselves out of these building blocks, the robots really can’t do
much else.