Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 28 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,20 @@
[![discord members](https://discord-live-members-count-badge.vercel.app/api/discord-members?guildId=931297838804127794)](https://discord.gg/JaQwtCnBV5) [![Subreddit subscribers](https://img.shields.io/reddit/subreddit-subscribers/europi)](https://www.reddit.com/r/EuroPi/) [![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/Allen-Synthesis/Europi)](https://github.com/Allen-Synthesis/EuroPi/releases)
# EuroPi
The EuroPi is a user reprogrammable [Eurorack](https://en.wikipedia.org/wiki/Eurorack) module developed by [Allen Synthesis](https://www.allensynthesis.co.uk) that uses the [Raspberry Pi Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/) to process and produce modular level signals based on code written in [MicroPython](https://micropython.org/). The entire project is open-source.

## Documentation
### Hardware
The hardware source files and documentation (including build guides) can be found in the [hardware overview](hardware/README.md), and kits can be bought directly from [Allen Synthesis](https://allensynthesis.square.site/product/europi-panel-pcb/16?cp=true&sa=true&sbp=false&q=false).

The EuroPi is a fully user reprogrammable module based on the [Raspberry Pi Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/), which allows users to process inputs and controls to produce outputs based on code written in Python. The entire project is open-source.
### Software
Before using any of the software, follow the [programming_instructions](software/programming_instructions.md) to set up and calibrate your module.
A list of user contributed scripts (along with descriptions for their usage) can be found in [contrib/README.md](software/contrib/README.md).

<p>
<a href="https://discord.gg/JaQwtCnBV5">
<img src="https://discordapp.com/api/guilds/931297838804127794/widget.png?style=shield"
alt="chat on Discord">
</a>
<a href="https://www.reddit.com/r/EuroPi/">
<img src="https://img.shields.io/reddit/subreddit-subscribers/europi?style=social"
alt="chat on Discord">
</a>
<a href="https://github.com/Allen-Synthesis/EuroPi/tree/main/software/contrib">
<img alt="GitHub repo file count (file extension)" src="https://img.shields.io/github/directory-file-count/Allen-Synthesis/EuroPi/software/contrib?extension=py&label=contrib scripts&type=file">
</a>
<a href="https://github.com/Allen-Synthesis/EuroPi/releases/">
<img alt="GitHub release (latest SemVer)" src="https://img.shields.io/github/v/release/Allen-Synthesis/Europi">
</a>
The EuroPi firmware allows you to interact with the hardware easily using code written in MicroPython. You can read the full list of available functions in the [EuroPi API Documentation](https://allen-synthesis.github.io/EuroPi/), which also includes some examples of some of those functions can be used. Some of the less obvious but potentially useful functions are also explained in more depth in [interesting_things.md](software/interesting_things.md).

</p>

---

This repository relates to the EuroPi module, however some users may be expecting to see what is now referred to as the 'EuroPi Prototype'. The repository for this (now deprecated) module [can be found here](https://github.com/roryjamesallen/EuroPi-Prototype)

You can find more about this and other projects of mine on [my website](https://www.allensynthesis.co.uk)

![github banner](https://user-images.githubusercontent.com/79809962/157898134-44cc0534-ac3b-4051-9773-a3be95ba4602.jpg)

## Capabilities
If you would like to extend any of the features of the EuroPi software, you can view the [firmware source code](software/firmware/europi.py), and make contributions of your own after reading the [contribution guidelines](contributing.md).

## Specification
* 6 0-10V Control Voltage outputs, each with indicator LED
* 2 Knobs with 12 bit resolution
* 2 Push Buttons
Expand All @@ -39,39 +23,10 @@ You can find more about this and other projects of mine on [my website](https://
* 128x32 OLED Display
* I²C expansion header on the rear for extra sensors or outputs

### Improvements on the Prototype version

* All outputs are the full Eurorack unipolar range of 0-10V, previously only 0-3.3V
* Two inputs, previously no way to accept input from other modules
* The buttons have hardware debouncing to allow users to change out capacitor values for reduced accidental 'double click'
* A 10 pin Eurorack shrouded power header is now used to prevent accidental reverse powering of the module
* The 5V supply for the Pico is now regulated down from the +12V supply, so no 5V rail is required from your Eurorack power supply
* The power supply is now diode protected to prevent back-powering your rack when the module is connected via USB
* All jacks are protected from overvoltage input (previously the Pico GPIO pin was directly exposed to any input, potentially leading to damage)

### Documentation

**Hardware**: Details of the hardware can be found at [hardware README](hardware/EuroPi/README.md). Additionally the [BoM](hardware/EuroPi/bill_of_materials.md) and the [build guide](hardware/EuroPi/build_guide.md) can be found in the hardware folder.


**Software**: Before using any of the software, follow the instructions in [programming_instructions.md](software/programming_instructions.md) to set up and calibrate your module.

A list of user contributed scripts and their usage can be found in [contrib/README.md](software/contrib/README.md).
There is also a [YouTube playlist](https://www.youtube.com/playlist?list=PLbingtr9KGPUdIODLWgzgAdIyN497YyEs) showcasing EuroPi and some of the different scripts available.

The EuroPi firmware API documentation can be found at https://allen-synthesis.github.io/EuroPi/. This documentation will explain all of the available features of the EuroPi firmware API. It also includes some examples of how to use various features of the firmware as well as [interesting_things.md](software/interesting_things.md).

If you would like to extend any of the features of the EuroPi software, you can view the firmware source code at [europi.py](software/firmware/europi.py).

### Issues
If you find any bugs, either in the software, the hardware, or the documentation, please create an Issue by clicking the 'Issue' tab along the top.
Please feel free to create any issue you see fit, I'll either attempt to fix it or explain it.
There are Issue templates available, so please choose whichever is most relevant, depending on if your Issue is a hardware or software bug, if it's a documentation error or suggestion, if it's a question about the project as a whole, or a suggestion about the project as a whole.


### License
![github banner](https://user-images.githubusercontent.com/79809962/157898134-44cc0534-ac3b-4051-9773-a3be95ba4602.jpg)

This module, and any documentation included in this repository, is entirely "free" software and hardware, under different licenses depending on the software, hardware, and documentation itself.
## License
This module, and any documentation included in this repository, is entirely "free" software and hardware. The hardware is [certified by the Open Source Hardware Association].(https://certification.oshwa.org/uk000048.html)

* Software: [Apache 2.0](software/LICENSE)
* Hardware: [CERN OHL-S v2](hardware/LICENSE)
Expand All @@ -82,6 +37,19 @@ The only thing I would ask is that you refrain from using the brand name 'Allen

If you have a bug fix or improvement that you think is worth sharing, then feel free to send over any pictures or documentation and it can be merged with the main project!

## Issues
If you find any bugs, either in the software, the hardware, or the documentation, please [create a GitHub issue](https://github.com/Allen-Synthesis/EuroPi/issues/new/choose) so it can be fixed by one of the maintainers. There are issue templates available, so please choose whichever is most relevant.

### Disclaimer
Recreate any of the files found in this repository at your own risk; I will attempt to solve any issues that you might have with my designs, but I can't guarantee that there are not minor bugs in any of the documents, both hardware and software. If you want a module or kit that you know will work and will have customer support, you can order one directly from [Allen Synthesis](https://allensynthesis.co.uk/).

Recreate any of the files found in this repository at your own risk; I will attempt to solve any issues that you might have with my designs, but I can't guarantee that there are not minor bugs in any of the documents, both hardware and software.
### EuroPi Prototype
This repository relates to the EuroPi module, however some users may be expecting to see what is now referred to as the 'EuroPi Prototype'. The repository for this (now deprecated) module [can be found here](https://github.com/roryjamesallen/EuroPi-Prototype)
#### Improvements on the Prototype version
* All outputs are the full Eurorack unipolar range of 0-10V, previously only 0-3.3V
* Two inputs, previously no way to accept input from other modules
* The buttons have hardware debouncing to allow users to change out capacitor values for reduced accidental 'double click'
* A 10 pin Eurorack shrouded power header is now used to prevent accidental reverse powering of the module
* The 5V supply for the Pico is now regulated down from the +12V supply, so no 5V rail is required from your Eurorack power supply
* The power supply is now diode protected to prevent back-powering your rack when the module is connected via USB
* All jacks are protected from overvoltage input (previously the Pico GPIO pin was directly exposed to any input, potentially leading to damage)
1 change: 0 additions & 1 deletion frequently_asked_questions.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,5 @@

## Calibration

NOTE: ADD THIS TO THE TROUBLESHOOTING GUIDE
| When in the second stage of calibration, my module never reaches 10V, what do I do? | Refer to the [troubleshooting guide](troubleshooting.md) |
|--|--|
21 changes: 0 additions & 21 deletions hardware/EuroPi-X/README.md

This file was deleted.

23 changes: 0 additions & 23 deletions hardware/EuroPi/README.md

This file was deleted.

48 changes: 0 additions & 48 deletions hardware/EuroPi/hardware_mods.md

This file was deleted.

Loading
Loading