diff --git a/examples/bare7.rs b/examples/bare7.rs
index bde535f324c2f9710ec3427ab867030838475571..e2bc5d499dc9c4a152510c6dd12b2ccb74ed28cc 100644
--- a/examples/bare7.rs
+++ b/examples/bare7.rs
@@ -183,7 +183,12 @@ fn main() -> ! {
 //
 //    What is the peak to peak reading of the signal (and why did it change)?
 //
-//    ** Zero at MCO2 = 84 MHz and low_speed mode. 3.95 V at MCO = 21 MHz. **
+//    ** Zero at MCO2 = 84 MHz and low_speed mode. 3.95 V at MCO = 21 MHz. 
+//    The voltage changed because more current is required to drive the CLK up and
+//    down at higher frequency. The speed setting exists to be able to conserve
+//    power when only little power is needed, i.e. at low frequencies. The current
+//    in the low speed setting can't drive the CLK all the way up to nominal voltage,
+//    charge, that fast. **
 //
 //    Make a screen dump or photo of the oscilloscope output.
 //    Save the the picture as "bare_6_84mhz_low_speed".
@@ -220,8 +225,11 @@ fn main() -> ! {
 //
 //    Explain why the buffer overflows.
 //
-//    ** There was no buffer overflow. I wrote 496 bytes, it failed after 336 ITM outputs.
-//    It failed to echo after 425 characters. **
+//    ** There was no buffer overflow. I instead wrote 496 bytes, it failed after 336 ITM
+//    outputs. It failed to echo after 425 characters. It fails because the readout (and write)
+//    of the registers take time, and if bytes are added faster than the cpu reads them, the
+//    register can be cleared to make way for new incoming bytes even before all bytes
+//    have been read by the program. **
 //
 //    commit your answers (bare7_4)
 //