New CPU Project

Discuss mods, hacks, tweaks, etc.

Moderators: altitude, adafruit_support_bill, adafruit, phono, hamburgers

Please be positive and constructive with your questions and comments.
Locked
User avatar
helyx525
 
Posts: 61
Joined: Fri Apr 23, 2010 11:58 am

New CPU Project

Post by helyx525 »

While looking into what it will take to write a new firmware and reading the other firmware threads, I believe we have a pressing concern when it comes to firmware space. Others have mentioned it as well.

This 16kb firmware limit is a big problem. I have spoken to Willzyx and he and I agree. We need a bigger AVR chip in there.

What I am proposing to do is to design a daughterboard containing an ATMega2560 or 2561. This will give us 16x larger firmware space and a much more sophisticated OS. The board will have a ribbon cable which fits into the old ATMega162P socket. There should also be lots of extra IO pads on the daughterboard for modders to wire in their own mods like an LCD, digital pots or CV outs.

Like the x0xb0x, this design should be open source as will be my new firmware. I would like to get some consensus on the requirements of this thing so we dont end up with 7 different AVR chips and 7xN incompatible firmwares down the road.

I dont know what the final cost of this will be, but I would like it to be less than $50 if possible. It should be a lot less once it becomes integrated into the mainboard design.

Any feedback would be appreciated.

User avatar
phono
 
Posts: 1502
Joined: Wed May 02, 2007 4:01 pm

Re: New CPU Project

Post by phono »

i think bcbox already made one or a least an eagle layout for one, try searching

Luap
 
Posts: 363
Joined: Wed Jul 08, 2009 7:10 pm

Re: New CPU Project

Post by Luap »

phono wrote:i think bcbox already made one or a least an eagle layout for one, try searching
That was this thread I believe:
http://forums.adafruit.com/viewtopic.php?f=13&t=8015
That project looked to have stalled though..

User avatar
rv0
 
Posts: 395
Joined: Tue Jul 14, 2009 4:50 pm

Re: New CPU Project

Post by rv0 »

i checked that topic, seems like the main reason for stalling is pcb manufacturing cost


couldnt these help: http://www.futurlec.com/SMD_Adapters.shtml ?

cheap as hell and can convert about any smd type chip to something else when carefully wired.

User avatar
helyx525
 
Posts: 61
Joined: Fri Apr 23, 2010 11:58 am

Re: New CPU Project

Post by helyx525 »

phono wrote:i think bcbox already made one or a least an eagle layout for one, try searching
Hi Phono. Nice to see that I am re-inventing the wheel yet again. :)

The bcbox board design is a nice start, thanks for the info. I still think 64k flash will get crowded. I want to see a 2560 version and an onboard 16mhz crystal might be a safer design. Also, is anyone actually producing these bcbox boards or do we have to go to a prototyper to make them ourselves? I am hoping Willyzyx will agree to get a run of 2560 daughterboards made up once we have settled on a design.
Last edited by helyx525 on Mon May 17, 2010 9:26 pm, edited 1 time in total.

User avatar
helyx525
 
Posts: 61
Joined: Fri Apr 23, 2010 11:58 am

Re: New CPU Project

Post by helyx525 »

darffader wrote:i checked that topic, seems like the main reason for stalling is pcb manufacturing cost
couldnt these help: http://www.futurlec.com/SMD_Adapters.shtml ?
cheap as hell and can convert about any smd type chip to something else when carefully wired.
Wow. Thats not a bad idea.

I think one of these two would be a great way to prototype the new CPU board:
http://www.futurlec.com/ET-AVR_Stamp.shtml
(ATMega128, 128k flash, $20)
http://www.siphec.com/item/ATm2561-TB1.2.html
(ATMega2561, 256k flash, $40USD)

One of the problems when people have attempted a new CPU in the past was that the 16MHz clock on the mainboard became unstable when it runs across the ribbon cable. Both of these protoboards have their own 16MHz clock onboard, so we can just ignore the mainboard clock. It wouldnt be too difficult to fit either of these to a ribbon cable with a DIP40 connector like this:
http://search.digikey.com/scripts/DkSea ... =HDP40S-ND

Which happens to be made by a company called Assmann Electronics. So there is that. :lol:

-Dan G.

User avatar
antto
 
Posts: 1636
Joined: Thu Apr 15, 2010 3:21 pm

Re: New CPU Project

Post by antto »

go for the bigger one, that's for sure
btw, what's the difference between the 2560 and 2561?

you know, i'm helpless by myself, not sure how can i help at all, i ain't into electronics at all
i don't understand the problem fully..
the larger CPU has more pins, okay, it has all the pins like on the atmega162 + more
and there isn't too much space inside the b0x

is this doable at all?
what do we do now? i want one you know.. :roll:

User avatar
rv0
 
Posts: 395
Joined: Tue Jul 14, 2009 4:50 pm

Re: New CPU Project

Post by rv0 »

antto wrote: and there isn't too much space inside the b0x
room enough in that enclosure.

I was planning on buying a programmer for atmel chips (for other project) so I could at least flash the bootloader for myself and those working on/testing the firmware.

I'm not familiar enough with these things to make a decision on the cpu.. Lets just hope people in the know tune in to this topic so a consensus can be reached.

textile
 
Posts: 221
Joined: Mon Nov 23, 2009 9:34 pm

Re: New CPU Project

Post by textile »

You thought Assmann is suspect check this http://www.waynekerrtest.com/ , yes its a fella called Wane Kerr !
I know its childish but still.. what a name.
____________________________________________

My main request is 1:1 Clock pulse in and out. I found out a way with extra circuitry to divide the 24pulse DIN, but to have this direct would be ace.

I have re-drawn a lay-out for the x0x for a different project . Which I will release soon. (just waiting for $$$)
I am also doing a different lay-out of the x0xb0x for a different enclosure.

If a different uC is required perhaps a different main board. I am more than willing to help re-do the main board.
Perhaps separate the sequencer from the synth. This might annoy some with a jumper cable , but hey its just the Gate , Accent and the CV. It will allow a better future for just this. The synth will be the same but the sequencer will change.

I am offering my help with lay-out/electronics / re-design of the main board/ daughter board.

I am not that good at code though, just hardware.

3phase
 
Posts: 203
Joined: Wed Apr 22, 2009 2:06 pm

Re: New CPU Project

Post by 3phase »

textile wrote: If a different uC is required perhaps a different main board. I am more than willing to help re-do the main board.
Perhaps separate the sequencer from the synth. This might annoy some with a jumper cable , but hey its just the Gate , Accent and the CV. It will allow a better future for just this. The synth will be the same but the sequencer will change.

I am offering my help with lay-out/electronics / re-design of the main board/ daughter board.

I am not that good at code though, just hardware.

In case you really do a new mainboard it might be good to get this more like in a real 303..

there are subtile sond differences between xox and real 303..especially the oscilator dont sounds very much alike..

ther is the theorie around that stray capacitys between the close by traces of the real 303 are part of this...

so doing it all as samall as possible as in the rel 303 might be even better for the sound...

User avatar
rv0
 
Posts: 395
Joined: Tue Jul 14, 2009 4:50 pm

Re: New CPU Project

Post by rv0 »

textile wrote: If a different uC is required perhaps a different main board. I am more than willing to help re-do the main board.
Perhaps separate the sequencer from the synth. This might annoy some with a jumper cable , but hey its just the Gate , Accent and the CV. It will allow a better future for just this. The synth will be the same but the sequencer will change.
true

I do agree that for future-proofing the x0xb0x project, a new pcb with new cpu should be made., and while you're at it, you could fix other issues along the road. But.. it would take a lot of time and effort and 95% of the x0xb0x user base is perfectly happy with the standard seq or x0xb0x (they don't know what they're missing though )

I think at first it's best to focus on a quick and cheap hack that allows us to place a new cpu in existing x0x'es and offering compatibility with different builds (like the x0xI0).
Keep in mind though, those SMD cpu's are tiny and cannot be soldered by most DIY builders.
Also, parts like SMD chip adapters and special cables can be very hard to source in small quantities or certain regions.

User avatar
helyx525
 
Posts: 61
Joined: Fri Apr 23, 2010 11:58 am

Re: New CPU Project

Post by helyx525 »

antto wrote:go for the bigger one, that's for sure
btw, what's the difference between the 2560 and 2561?

Code: Select all

ATMega162:
    16k flash, .5k eeprom, 1k ram, 2 16bit timers
    35 I/O pins, 0 ADC inputs, 3 interrupt pins,
    6 PWMs, 1 SPI, 2 serial ports, 40 pin chip
ATMega2560:
    256k flash, 4k eeprom, 8k ram, 4 16bit timers
    86 I/O pins, 16 10bit-ADC inputs, 32 interrupt pins,
    16 PWMs, 2SPI, 4 serial ports, 100 pin chip
ATMega2561:
    256k flash, 4k eeprom, 8k ram, 4 16bit timers
    54 I/O pins, 8 10bit-ADC inputs, 17 interrupt pins,
    9 PWMs, 2SPI, 2 serial ports, 64 pin chip
I think the 2561 is the best fit for us. It has a smaller package, but still has 21 more I/O pins than the 162. The ADC, iterrupt and PWM differences are probably not relevant.
you know, i'm helpless by myself, not sure how can i help at all, i ain't into electronics at all
i don't understand the problem fully..
the larger CPU has more pins, okay, it has all the pins like on the atmega162 + more
and there isn't too much space inside the b0x
The new chip has more pins and is surface mount. It wont fit in the old socket. But the good news is we can make a mini board with the new chip and use a ribbon cable to plug that into the old socket. I want to go this way initially because it give existing x0x owners a simple upgrade path instead of replacing their mainboard.
is this doable at all?
what do we do now? i want one you know.. :roll:
Its very doable. The ET-AVR Stamp linked above is only $20 and is almost exactly what we want (only 128k flash tho). All we need to make this one work is a custom ribbon cable to connect it to the old AVR162 socket.

I can make a few of those cables for prototyping purposes, but after that it will be much easier to design a new board than to make complicated twisty ribbon cables for all the x0x users that want one.

User avatar
helyx525
 
Posts: 61
Joined: Fri Apr 23, 2010 11:58 am

Re: New CPU Project

Post by helyx525 »

darffader wrote: I was planning on buying a programmer for atmel chips (for other project) so I could at least flash the bootloader for myself and those working on/testing the firmware.
Dont spring for a big complicated multi-chip programmer. A Serial or USB to JTAG cable might not be a bad idea though.

The new board will have a JTAG connector and you can use that to flash the firmware as well as do in-circuit debugging. And it doesnt require very much in the way of extra hardware on the daughterboard to do that. The free AVR studio IDE lets you set breakboints and single step the chip like this:
http://www.scienceprog.com/avrjtag-clone-in-action/
I'm not familiar enough with these things to make a decision on the cpu.. Lets just hope people in the know tune in to this topic so a consensus can be reached.
I think its pretty much down to the 2560 and 2561. See the comparison above. They are the biggest we can get and they arent all that expensive. My vote is for the 2561 because its a little simpler to lay out and still has lots of extra I/Os.

User avatar
helyx525
 
Posts: 61
Joined: Fri Apr 23, 2010 11:58 am

Re: New CPU Project

Post by helyx525 »

textile wrote:My main request is 1:1 Clock pulse in and out.
By this I assume you mean a Dinsync clock with a 50% duty cycle?
I once wrote a midi to dinsync converter using an AVR chip. I used a software PLL multiply the 24ppq midi clock up to something like a 192PPQ internal timer event. It have 8 levels of shuffle and under most conditions held a 50% duty cycle. Some of the last shuffle settings had some pulses at 1/3, 2/5 and 3/7 duty cycle.I lost the code several computers ago, but I still have the concepts rattling around in my head. I could probably re-code it in the x0x.
I have re-drawn a lay-out for the x0x for a different project . Which I will release soon. (just waiting for $$$)
I am also doing a different lay-out of the x0xb0x for a different enclosure.

If a different uC is required perhaps a different main board. I am more than willing to help re-do the main board.
Perhaps separate the sequencer from the synth. This might annoy some with a jumper cable , but hey its just the Gate , Accent and the CV. It will allow a better future for just this. The synth will be the same but the sequencer will change.
Incorporating the new CPU into newer designs is a good idea once we have it working and have a new firmware for it, but I want us to all be on the same page with this upgrade to avoid forking into difference CPUs and I definitely dont want to exclude existing x0x owners from this upgrade path. I think we need to concentrate on the daughterboard and developing a strong foundation in the new firmware first.
I am offering my help with lay-out/electronics / re-design of the main board/ daughter board.
I am not that good at code though, just hardware.
Well thats a perfect fit then. We have lots of people on the firmware side of this, but we need some more eyes on the hardware design. I think we are getting closer to consensus on the AVR2561 chip. I will PM you when I have more info on the hardware. Maybe we can lay out the daughterboard and get some initial prototypes made through expresspcb or pcbexpress or whatever.

User avatar
helyx525
 
Posts: 61
Joined: Fri Apr 23, 2010 11:58 am

Re: New CPU Project

Post by helyx525 »

darffader wrote:I think at first it's best to focus on a quick and cheap hack that allows us to place a new cpu in existing x0x'es and offering compatibility with different builds (like the x0xI0).
Agreed!
Keep in mind though, those SMD cpu's are tiny and cannot be soldered by most DIY builders.
Also, parts like SMD chip adapters and special cables can be very hard to source in small quantities or certain regions.
This is why I dont want this part to be DIY. DIY is fine when we are making 4-5 prototypes of this thing for our own testing purposes, but for this to work community wide, it has to be a plug and play upgrade. I want this to be a finished module sold by x0x kit vendors. The design should be open source just like the rest of the x0xb0x, that way anyone can produce it if they want to. Willyzyx has expressed some interest in this idea and I am hoping he might have connections to get them made cheaply. Until we nail down the details we wont know how much it will cost.
Last edited by helyx525 on Tue May 18, 2010 12:49 pm, edited 1 time in total.

Locked
Please be positive and constructive with your questions and comments.

Return to “x0xm0dz”