-
Notifications
You must be signed in to change notification settings - Fork 89
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
Calibration update (#379)
* Overhauls the calibration tool to add additional new modes of operation: * * 5V-only calibration (useful if you don't have a 10V voltage source, as many Eurorack offset generators can easily produce 5V) * * 1-10V, 6-channel calibration (should be more precise than the CV1-only calibration, but takes ~6x longer) * Modifies the output calibration procedure to a 3-stange, increasingly-fine adjustment of the PW, rather than simply going up in fixed increments * Moves calibration and diagnostic tools into `firmware/tools` * Put the system tools in alphabetical order in `menu.py` * Adds `About` to `firmware/tools` to show basic build & configuration information * Add new tools directory to the UF2 builder script * Implement a new class for checking the USB connection; Pin 24 doesn't appear to work on the Pico 2 (previously cherry-picked into the pico2 branch merged previously) * Add `class mem` and `mem32` to mocks/machine * Add a hardware mods file to keep track of unofficial changes to the hardware
Showing
14 changed files
with
582 additions
and
156 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Hardware Mods | ||
|
||
This file documents some common hardware modifications to EuroPi. These modifications are wholly | ||
at your own risk; if performed wrong they could cause damage to your module! | ||
|
||
## Alternative to OLED jumper wires | ||
|
||
Instead of [soldering jumper wires](/hardware/EuroPi/build_guide.md#oled-configuration) to configure | ||
the OLED, you can instead install a 2x4 bank of headers and use 4 jumpers. This makes it easy to | ||
reconfigure the OLED connection, which may be useful if you ever need to replace the display. | ||
|
||
<img src="https://github.com/user-attachments/assets/a308995c-de30-41ae-a7e0-2f714e3f8513" width="420"> | ||
|
||
_Header pins and jumpers used in the CPC orientation_ | ||
|
||
## Reducing analogue input noise | ||
|
||
The original analogue input stage, as designed by Émilie Gillet (of Mutable Instruments fame) includes | ||
a 1nF capacitor located in parallel with the final resistor: | ||
|
||
<img src="https://github.com/user-attachments/assets/02dbf7f8-5e39-422a-82a9-104fbe0589e7" width="600"> | ||
|
||
_The input stage of Mutable Instruments Braids. Note the `1n` capacitor in the upper-right._ | ||
|
||
If you find your EuroPi's V/Oct outputs are incorrect, or are seeing an undesirable amount of jitter on | ||
`AIN`, you can add a 1nF capacitor in parallel with `R23`. The easiest way to do this is to _carefully_ | ||
solder the 1nF capacitor directly to the back-side of `R23`, as shown below: | ||
|
||
<img src="https://github.com/user-attachments/assets/2d7d6dcc-7dc1-433d-98c0-6ff8be978cc7" width="360"> | ||
|
||
_A 1nF capacitor soldered to the back-side of the EuroPi PCB, in parallel with `R23`_ | ||
|
||
After soldering the 1nF capactor in place, you should [recalibrate EuroPi](/software/firmware/tools/calibrate.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# About | ||
|
||
Displays version & other information about the software |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
from europi import * | ||
from europi_script import EuroPiScript | ||
from time import sleep | ||
from version import __version__ | ||
|
||
|
||
class About(EuroPiScript): | ||
def __init__(self): | ||
super().__init__() | ||
|
||
def main(self): | ||
turn_off_all_cvs() | ||
|
||
oled.centre_text( | ||
f"""EuroPi v{__version__} | ||
{europi_config.EUROPI_MODEL}/{europi_config.PICO_MODEL} | ||
{europi_config.CPU_FREQ}""" | ||
) | ||
|
||
while True: | ||
sleep(1) | ||
|
||
|
||
if __name__ == "__main__": | ||
About().main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Calibration | ||
|
||
Input & output calibration too for EuroPi. | ||
|
||
## Required Equipment | ||
|
||
Calibration requires the following physical setup: | ||
1. EuroPi _must_ be connected to rack power | ||
2. For low-accuracy calibration you need either another EuroRack module or an external voltage source capable of | ||
generating precise voltages of either 5V or 10V | ||
3. For high-accuracy calibration you need another EuroRack module or adjustable external voltage source capable of | ||
generating precise voltages of 1.0, 2.0, 3.0, ..., 9.0, 10.0V. | ||
|
||
## Usage | ||
|
||
Calibration is interactive with instructions displayed on-screen. These instructions are summarized below: | ||
1. Make sure the module is powered from your Eurorack power supply. | ||
2. Select input calibration mode by turning `K2`. Press `B2` when ready | ||
a. low-accuracy with 10V input | ||
b. low-accuracy with 5V input | ||
c. high-accuracy with variable 0-10V input | ||
3. Disconnect all patch cables from the module. Press `B1` | ||
4. Connect your voltage source to `AIN`. Press `B1` when instructed. | ||
a. low-accuracy with 10V input: connect 10V to `AIN` | ||
b. low-accuracy with 5V input: connect 5V to `AIN` | ||
c. high-accuracy: read the on-screen instructions and connect the specified voltages when required. | ||
5. Connect `CV1` directly to `AIN`. Press `B1`. Wait for the module to perform the output calibration. | ||
6. Repeat step 5 for `CV2`, `CV3`, etc... until all CV outputs are calibrated | ||
7. Reboot the module when prompted. The new calibration will be applied automatically. | ||
|
||
Calibration data is saved to `/lib/calibration_values.py`. DO NOT delete this file; if you delete it you will have to | ||
complete the calibration again. | ||
|
||
After calibrating and rebooting the module it is recommended to run the `Diagnostic` program to verify that the | ||
inputs and outputs have been properly calibrated. |
Large diffs are not rendered by default.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters