Using a breadboard for this sort of things may be tricky because you'll have to breadboard the jacks, which can be challenging or impossible. I really recommend you get a Pepper if you have a chance. Pepper cannot receive bipolar inputs into the analog inputs in its stock configuration, but it could be rewired to do that.
This said, the Pepper schematics are the best place to look for this type of things:
https://github.com/BelaPlatform/bela-pepper/blob/master/Design%20Files/rev2b/pepper-rev2b.sch
, cross-checked with the BOM which specifies the correct values for the components.
The relevant circuit to get a 0V:10V input is the following:
IN0 is the ADC's first input. R12 and VR1 create a resistor divider so that the voltage at Vp is a scaled down version of the voltage connected to JACK_IN_1's tip. The divider's ratio gives100/(100+150) = 0.4
, thus scaling input voltages from the 0V:10V range down to 0V:4V at Vp, well within the ADC's full-scale voltage range of 0V:4.096V . The VR1 potentiometer then works as an attenuator further scaling down the voltage before feeding it to the ADC's pin. C4 and VR1 implement a first-order low-pass filter which helps reducing noise at the ADC's input and C4 can be omitted when breadboarding. The fixed resistor R12 is chosen large enough that it also works to protect the ADC's input against over or under voltages (i.e.: the input voltage being above 10V or below 0V), by limiting the current that can flow into the pin, which eliminates the need for protection schottkys. When the jack is not plugged in, the tip of the socket is connected to VOLTAGE_SELECT_OUTPUT which is +10V, thus giving 4V at Vp, so that turning the potentiomer VR1 gives ADC readings between 0V and 4V.
If you want a 0V:5V input, then you can do something similar using 24k for R12, thus making the divider's ratio 100/(24+100)=0.806 rescaling 0V:5V to 0V:4.03V and still providing protection to the ADC's input.
In order to condition negative input voltages so that they can be read into the ADC you'd need to add a second resistor to the Vp node. The other end of this resistor should go to a positive voltage reference. This way you'd have a passive summing mixer at the Vp node. The resistor's value will depend on the positive voltage source you have available. One downside of this approach is that the signal is being both scaled and shifted, thus for instance turning the potentiomer to the minimum will give you the same reading as -5V instead of a more convenient 0V. You'd need to leave the pot in the middle for it to show as a 0V input.
In either configuration, if you are not interested in the attenuator, then simply replace the potentiometer with a 100k fixed resistor.