News:

SMF - Just Installed!

Main Menu

Is Miniatmegatron open source?

Started by veryfungi, November 25, 2017, 03:17:56 PM

Previous topic - Next topic

veryfungi

Hello,

I want to make my own miniatmegatron like device. Is it open source, and or, would you be willing to help at all? I think I have it mostly, but I need to know if the pots increase voltage with clockwise, or counterclockwise rotation. Thanks!

paulsoulsby

Hi yes all code  is open source and on github: https://github.com/soulsbysynths
However someone has just alerted me that there is an issue with latest mini libraries.  If you download v2.6 you'll be OK.  Will hope to have working libraries up to date by next week.
thanks
Paul

paulsoulsby

and pots turn clockwise! So fully clockwise will be read as 255 and fully anticlockwise is 0.

veryfungi


bobo

Have you made any progress customizing the arduino code? I succeeded in getting the miniAtmegatron working on my Arduino nano with v2.6 of the libraries (thank you Paul!). But as an Arduino beginner I don't have a clue where to start. I am used to the structure of .ino files. But the .ino file for the miniAtmegatron is almost empty, so everything appears to be happening in the libraries. But which library do I start with? Min? Or MinEngine? I understand the function of libraries for subroutines like behaviour of pots of oscillators. But where is the main program flow hiding?
Would be glad to hear some clues on this.

paulsoulsby

Hi - I'll do a little chart showing how the classes all interact with each other.  It's pretty easy once you know this.  The .ino file is just a holder for uploading the project.  All the work is done in the classes now.   Will hopefully add the diagram tomorrow.

bobo

Thanks very much Paul! For the update of the libraries (dind't try it yet) and for the diagrams. At least I found a new folder in github called "docs" which contains an html that opens a lot of info on the classes, files and interaction. This looks very complex for a beginning programmer..  :-\
I thought of the following customizations:
a. add a single din midi in (thru optocoupler)
b. add five pots so you dont need the switch
c. I will need a multiplexer for freeing up digital (a) and analog pins (b)

And if and when I succeed in all that I would like to try to add a 2x16 I2C lcd screen, to replace the 2 multicoloured leds.

I am going to study your diagrams.
Any hints where to start are off course very welcome :)

paulsoulsby

Yes, that's work in-progress.  Still trying to find a way to publish it properly.  Also, I think there's possibly too many diagrams, it makes it look more complex than it is!
Start with the Min class.  That contains a hardware class and engine class. The hardware class handles the electronics, the engine is the processing for the generating audio.  Both of those classes generate events.  The job of the Min class is to pass events between the hardware and engine class.  The idea is that the hardware and engine can be totally independent, so you can port different audio engines to different hardware interfaces really easily.
R.e. your customisations.
a)  Yes totally possible. Even can use a Sparkfun MIDI shield (don't connect the buttons or pots though)
b)  You'll need to remove pots on A4 & A5 as they use the I2C bus.  Then add an external I2C ADC chip.  If you look at the code for the Oscitron Hardware, you'll see how to do this with a Microchip MCP3208 ADC.  So 8 of the pots will come off the MCP3208 and 4 off the Atmega328.  That frees up A4 & A5 to use for the I2C to drive the ADC.
c)  See above.  Just free up A4 & A5 and use the I2C bus.  Then adding an I2C screen at a later date is easy too!

Hope this helps as a starting point!

bobo

This helps enormously, thanks. I don't know the MCP3208 ADC. I planned to:
- remove the RGB LEDs, that frees up pins D5, D6, D9, D10 and D11, and remove the switch, that frees pin D2
- add a multiplexer 74HC4051 which takes 3 digital pins and one analog pin (A3), then 8 pots go to the multiplexer and 3 stay on A0,A1,A2
- A4, A5 are ready to act as SDA and SCL to connect to the LCD 1602 board

That leaves me with 3 free digital pins for further expansion.

That seems easy.  :)
Now the software - not so easy  :'(

veryfungi

Hi Guys, I wanted to do an update to my project. A little background. I have been amazed by synths since I was 14. I was very poor and although I did make a few things back in the day, they were really basic. Fast forward from 1975 to now. I have the time and resources to finally make a cool synth. I wanted to start by making one of these and move on from there making a full modular synth myself. When I started working on the pcb I was also researching where synths are nowadays. I learned about eurorack and decided that was the direction I would go. I know the miniAtmegatron isn't a true synthesizer module, but I wanted to get accustomed to making eurorack pcb's and faceplates anyway, so I decided to make the miniAtmegatron into a eurorack format. I have the pcb pretty much ready to order, and a pretty good idea what I want the faceplate to look like. The only modification I made was to remove the 22uF cap, and add in a TL702 in a level shifting amp. The schematic is a mess on paper, but it's basically powered by +/-12vdc + input goes to voltage divider providing 2.5vdc. signal enters through a 50k on - input and 100k feedback to - input. Then the 22uF cap added back to the output. Trying to convert 0-5 into +/-5. I will post a schematic soon. :)

On the aspect of getting more pots on there. Why not add an i2c a2d with 12-16 channels and be done with it. It would have to make coding simpler.

Um can't find a way to tell this thing to upload the images...

veryfungi

forgot to mention, it's hp-20

I will share the files as well.

veryfungi


paulsoulsby

Wow I didn't even know about that setting - that's bonkers!  I've located it and updated it to a luxurious 1Mb per pic!

Nice PCB - that's got me think about the possibility of an expander board that allows CV control over the parameters. I'd be tempted to put the Arduino serial pins (digital 0 and 1) on a 2 pin header that can be added as an option. This would then allow an expander unit to be connected which would provide more modular friendly inputs.  Use the 6 analogue inputs for CV and some of the free digital inputs for gates.  Then convert them to MIDI CCs which is transmitted over serial to the Euro-Mini.

I might even be tempted to develop that next year if there was a demand for Eurorack miniAtmegatrons! Def worth sticking 2 pads on the PCB for pins 0 and 1 (on a standard 2.54mm 2-way header).

Anyway, just a thought!
Paul

veryfungi

Hi Paul,

Thanks for your help. I had already ordered my pc boards, I should have them in a few days. After I verify it works I would gladly share the files. I can provide the gerber files or the eagle files. Bear in mind I just tossed the board together and didn't start with a schematic first. Lesson learned.

I can add the pads for serial no problem, and any other mods needed. I may start over in eagle with a proper schematic. :) I did want to ask you. In an effort to make it a bit more eurorack standard, I wanted to convert the 0-5v audio to 5vpp. I made the board in a way that it can be wired in two ways. It's been a really long time since I studied op amp circuits. It can be wired to pass the dc to the 702 with 2.5vdc on the + input, or put in a capacitor in place of J1, jumper R2 and leave R1 out. Which method would you recommend?

PC boards are really cheap. I have time to work on it, and it looks like fun. Thanks

veryfungi

I was hoping to show off my pc boards, but they are stuck in Chicago with the terrible roads due to the snow and cold. :(