diff --git a/project_doc_mechanics/mechanics.html b/project_doc_mechanics/mechanics.html
index a882e534bbfa88739d375838dd4fb8d69c5e7b1f..ca8a0451b0c842f3af3072f4b3e4aa009c5a0a3c 100644
--- a/project_doc_mechanics/mechanics.html
+++ b/project_doc_mechanics/mechanics.html
@@ -21,11 +21,29 @@
 <p>An electromechanical clock doesn't really need that much, mechanically. The way I wanted to build it, with <em>wheels</em> driven by <em>geared motors</em> to show the digits, can be divided down into <em>four identical units</em>, one for each digit. <em>Drawing</em> one part in CAD is less work than drawing four, and printing four identical parts is simpler than printing four different parts, so I decided immediately to build the clock from four identical units.</p>
 
 <h2>Coming up With a Design</h2>
+<p>The first important step from the general idea to drawing actual parts was to determine the size of the numbers on the wheels. That size is kind of a building block for the rest of the clock, as it directly determines the smallest possible wheel diameter, and a sensible wheel width. With the length of the motors given, I didn't want to be too small there, as the distance between the individual digits can't be smaller than the length of a motor. With the motors getting in at roughly 44mm, I estimated that 30mm high numbers might work OK (not making the wheels way too large, but also not looking totally ridiculous). Also, at that size, the numbers should print OK.</p>
+<p>With that size fixed I fired up inventor, and started with a decagon. I set the edge length to 40mm to have some space for rounding the edged of the complete wheel, and still have 30mm numbers on the faces:</p>
+<a href="../project_media/digitwheel_start_large.jpg
+"><img src="../project_media/digitwheel_start.jpg" alt="the basic shape of the digit wheel is a decagon"></a>
+<p>Since I wanted to have hollow wheels with the motors inside, I first made a plate of that shape, then added a wall around it, aiming for 30mm width - A number of 30mm height should easily fit into that, and putting 40x30mm openings into the front plate should look good. Since the wheels are quite large and the bearings of the geared motors are quite bad, I wanted to have the wheels hanging from a ball bearing (it's just the simplest to adapt a printed part to, since it doesn't require any really smooth surfaces). 608-size ball bearings are about the cheapest stuff you can get, so I planned on them, even though they are way too large for the load and easily weigh more than a wheel. The resulting wheel is still a relatively simple part, with large holes not for weight, but for some access to the parts behind it:</p>
+<a href="../project_media/digitwheel_right_large.jpg"><img src="../project_media/digitwheel_right.jpg" alt="the digitwheel as seen from the right"></a>
+<p>The magnet for the encoder also needed somewhere to go, so I added in a small hole at the other side. It is sized so the magnets will easily slide in, but stand out a bit to be closer to the sensor:</p>
+<a href="../project_media/digitwheel_left_large.jpg"><img src="../project_media/digitwheel_left.jpg" alt="the left side of the digitwheel with the magnet hole"></a>
+<p>At this point, I needed to get some further measurements right, so I could draw the frames keeping the wheels in place. The trusty <span style="text-decoration: line-through;">high-tech</span> solution for this is a sketch:</p>
 <img src="spool_holder_sketch.jpg" alt="a sketch to determine the necessary width of a spool holder">
+<p>It's probably not readable for anyone, but it allowed me to determine the necessary width of the frame pieces (and, thus, the distance between the digits) to be 58mm, so between the "windows" of the front panel, there will be almost a window width of unused space. Not as nice as I would have liked it, but I can't easily shorten the motors...</p>
+<p>The frame parts are simple parts to begin with, again. With the wheel diameter fixed at almost 130mm, I decided to make the clock 140mm high and deep, so there is little space wasted around the wheels. The wheel axis is in the middle, so the motorboard has to be fixed there, too, leading to a cutout. Then, I don't want to have that huge bottom surface to print (it takes time), so I shaved off material where I thought I could get away with it:</p>
+<a href="../project_media/wheelholder_base_large.jpg"><img src="../project_media/wheelholder_base.jpg" alt="the basic shape of the frame parts"></a>
+<p>In that image, the front of the clock is at the bottom - with the coordinate system right for printing without having to flip the parts first, inventor just puts it like that, and I can't pretend to care...</p>
+<p>The frame parts cannot be full material, of course, as all the moving parts are in them. So, I drew them as a plate, too, and added posts to keep those plates at a distance. Drawing in a circle for what the wheel size will be helps a lot:</p>
+<a href="../project_media/wheelholder_blocks_large.jpg"><img src="../project_media/wheelholder_blocks.jpg" alt="the basic shape of the frame parts"></a>
+<p>There are actually a whole lot of holes in the frame parts, for screwing them together, screwing in the feet, putting in zip ties to mount the cables, ... So, the completed part is more like a piece of cheese:</p>
+<a href="../project_media/wheelholder_complete_large.jpg"><img src="../project_media/wheelholder_complete.jpg" alt="the basic shape of the frame parts"></a>
+<p>The last interesting part were the motor holders. They are made to (rather loosely) fix the motors in place, but not restrict them too much - All the little imprecisions of manufacturing can add up, so I wanted to give the motors a little bit of space to move before stuff breaks just in case.</p>
+<a href="../project_media/motorholder_large.jpg"><img src="../project_media/motorholder.jpg" alt="the basic shape of the frame parts"></a>
+<p>There is also a center frame part (which is a normal frame part with the front filled in and two 8.5mm holes to mount the front panel) and an end plate - The last frame part doesn't need the distance posts, so I omitted them.</p>
 
 
-<h2>Drawing The Parts</h2>
-
 
 <h2>Production</h2>
 <p>The resulting parts were exported to <em>stl</em> and printed on the ultimakers of the Technical Center for Thermal and Mechanical Process Engineering:</p>
diff --git a/project_doc_software/software.html b/project_doc_software/software.html
index a5ad0648d6fcb2a2f37ab5211fd4ca95c0d88bab..ba6e132dfba0afc86f27768d820db865ee3df426 100644
--- a/project_doc_software/software.html
+++ b/project_doc_software/software.html
@@ -72,12 +72,13 @@ while(OSCCONbits.COSC != 0b011); // wait for oscillator to stabilize
 
 <h3>Driving The Motor: PWM</h3>
 <p>Most of the software to control the PWM output is described in fine detail in the <a href="../weekly12/weekly12.html">Output Devices</a> assignment. The PIC used on the motorboard differs only in that its PWM module uses the main clock as a clock source, not an additional clock that first has to be configured. For the motor board software, I packed the PWM parts up into a nice, simple, but really <em>not</em> generalised API, so it hides between two function calls - One to initialise the module, the other to set a duty cycle.</p>
+<p>In the clock, the motors are simply switched on to a predefined PWM value and left on until the wheel reaches its target, then the motor is switched of. With the wheels having a bit of room, this leads to them sometimes not being exactly at their target position, but doing something about that would take more time than I have right now (put in a real position controller, and give the wheels less room to move on their own).</p>
 
 <h3>Knowing Where We Are: Quadrature Decoding</h3>
 <p>This part is done and documented as part of the <a href="../weekly10/weekly10.html">Input Devices</a> assignment.</p>
 
 <h3>State Affairs: Where Everything Comes Together</h3>
-<p>There is nothing here <em>yet</em>. Sorry.</p>
+<p>There is a simple state machine in the software that mostly controls the initialisation: When the module is switched on, it starts by driving the wheel (at a good pace, because the geared motors tend to stick after some time, and need a good shove to run smoothly again), and waits for an index pulse. When an index pulse comes, the encoder interface is set to a the calibration offset of the magnet in this particular wheel, the motor is switched to its normal speed (mostly to make the change visible for debugging) and the target is set to 0, so the first number all wheels will stop at is 0. The module then falls into its normal mode, and accepts commands for setting a number.</p>
 
 <h3>Visualising Our State: LED Output</h3>
 <p>The <em>RGB-LED</em> is quite a simple thing, and I didn't do anything fancy with it. The pins it's connected to are set to be outputs during initialisation, so what is left is packing LED usage into a simple function:</p>
@@ -110,7 +111,7 @@ while(OSCCONbits.COSC != 0b011); // wait for oscillator to stabilize
 
 <h3>Inputs: Setting The Clock</h3>
 <p>At each motorboard driving a digit wheel, a microswitch is connected to one of the endstop inputs and mounted on top of the clock. While endstops are not needed in any way for the clock, a way to set it is quite an important thing, and having an "increment one" button for each digit is a quick way to do so.</p>
-<p>The buttons are read in the timer interrupt each millisecond, and filtered with a simple filter routine to debounce them. When their filtered state changes to pressed, a CAN message is sent of the button being pressed - As with the setting of the wheel positions, this is again done directly in the ten hour wheel. A routine at that board reads those messages from the bus, and increments the time variables accordingly. It checks for rollovers, but will not advance the higher up digits when one occurs.</p>
+<p>The buttons are read in the timer interrupt each millisecond, and filtered with a simple filter routine to debounce them. When their filtered state changes to pressed, a CAN message is sent of the button being pressed - As with the setting of the wheel positions, this is again done directly in the ten hour wheel. A routine at that board reads those messages from the bus, and increments the time variables accordingly.</p>
 
 <!-- navi -->
 <p style="text-align:center;"><a href="../final.html">final project</a> -- <a href="../index.html">about me</a> -- <a href="../weekly.html">weekly assignments</a> -- <a href="http://fabacademy.org/">fab academy</a></p>
diff --git a/project_media/clock_init.mp4 b/project_media/clock_init.mp4
deleted file mode 100755
index 4cb9ae9acee04ef9986b2b0c7f6797460725c682..0000000000000000000000000000000000000000
Binary files a/project_media/clock_init.mp4 and /dev/null differ
diff --git a/project_media/digitwheel_left.jpg b/project_media/digitwheel_left.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c2db5614215ae6d48ae9f187299c42c6a7d31c7e
Binary files /dev/null and b/project_media/digitwheel_left.jpg differ
diff --git a/project_media/digitwheel_left_large.jpg b/project_media/digitwheel_left_large.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5b8817d1623cb34b31ed088f9152506e1587af02
Binary files /dev/null and b/project_media/digitwheel_left_large.jpg differ
diff --git a/project_media/digitwheel_right.jpg b/project_media/digitwheel_right.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e532e86882907b8ecab4cda7aed8ed30fe92d23e
Binary files /dev/null and b/project_media/digitwheel_right.jpg differ
diff --git a/project_media/digitwheel_right_large.jpg b/project_media/digitwheel_right_large.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1a7850689fd0d266130646e36af1cf3f1f6165e6
Binary files /dev/null and b/project_media/digitwheel_right_large.jpg differ
diff --git a/project_media/digitwheel_start.jpg b/project_media/digitwheel_start.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..965fcfcbd38f447ffd7933ee9cf7a2748fba9a3b
Binary files /dev/null and b/project_media/digitwheel_start.jpg differ
diff --git a/project_media/digitwheel_start_large.jpg b/project_media/digitwheel_start_large.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..98639c0972bc3ae80357aa27818e6d18e3c3674b
Binary files /dev/null and b/project_media/digitwheel_start_large.jpg differ
diff --git a/project_media/motorholder.jpg b/project_media/motorholder.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a1f8cc70bb6b8fe45f67fc77940d87e2d1c7bbb0
Binary files /dev/null and b/project_media/motorholder.jpg differ
diff --git a/project_media/motorholder_large.jpg b/project_media/motorholder_large.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..55e08f61031c311a1e108358a5833525e02cf516
Binary files /dev/null and b/project_media/motorholder_large.jpg differ
diff --git a/project_media/wheelholder_base.jpg b/project_media/wheelholder_base.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3cd743d389cce213006800774a1ce9023ce3cc1a
Binary files /dev/null and b/project_media/wheelholder_base.jpg differ
diff --git a/project_media/wheelholder_base_large.jpg b/project_media/wheelholder_base_large.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9ae4b3d27966bfc63500c2f35054b8087add81c0
Binary files /dev/null and b/project_media/wheelholder_base_large.jpg differ
diff --git a/project_media/wheelholder_blocks.jpg b/project_media/wheelholder_blocks.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e35ca09d2e21f46d712b1c56b7967767f4d13997
Binary files /dev/null and b/project_media/wheelholder_blocks.jpg differ
diff --git a/project_media/wheelholder_blocks_large.jpg b/project_media/wheelholder_blocks_large.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a5de008fc265209995ca556d38110df0b0c2f5d6
Binary files /dev/null and b/project_media/wheelholder_blocks_large.jpg differ
diff --git a/project_media/wheelholder_complete.jpg b/project_media/wheelholder_complete.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4604707a57397c875f0c88ca021ac234e69ee556
Binary files /dev/null and b/project_media/wheelholder_complete.jpg differ
diff --git a/project_media/wheelholder_complete_large.jpg b/project_media/wheelholder_complete_large.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5df87c6e20414ce29450346d78200cdc3aeb1165
Binary files /dev/null and b/project_media/wheelholder_complete_large.jpg differ