        let mut flash = device.FLASH.constrain();
        let mut rcc = device.RCC.constrain();
        let mut _afio = device.AFIO.constrain(&mut rcc.apb2);
        let _clocks = rcc
            .cfgr
            .use_hse(8.mhz())
            .sysclk(72.mhz())
            .pclk1(36.mhz())
            .freeze(&mut flash.acr);

        // Setup ADC (we're using ADC1 for this example since we're reding PB0)
        let adc1 = adc::Adc::adc1(device.ADC1, &mut rcc.apb2, _clocks);

        // Setup GPIOB (so we can access the ADC via PB0)