Wikipedia states that
It is thought that ŭ was created by analogy with the Belarusian letter ў (Cyrillic u with breve), which was proposed by P.A. Bessonov in 1870.
This comes at the time of writing with a [citation needed], but I suspect that is only because the citation that is present (Булыка (Bulyka). У нескладовае // Энцыклапедыя літаратуры і мастацтва Беларусі. Т.4. p.377.) is not available online.
The same is stated with more certainty, but less support, in the corresponding Vikipedio entry:
Ŭ estas invento de Zamenhof, modifo de U pere de Cirila signeto, la hoketo (aŭ "luneto" aŭ "duonarko").
I doubt that more concrete sources have survived.
On a side note, why reuse (the accent of) a Cyrillic letter for ŭ and not reuse the existing Latin symbols č, š for ĉ, ŝ eludes me.