New CPU Project
Moderators: altitude, adafruit_support_bill, adafruit, hamburgers, phono
Please be positive and constructive with your questions and comments.
- helyx525
- Posts: 61
- Joined: Fri Apr 23, 2010 11:58 am
New CPU Project
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.
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.
- phono
- Posts: 1502
- Joined: Wed May 02, 2007 4:01 pm
Re: New CPU Project
i think bcbox already made one or a least an eagle layout for one, try searching
-
- Posts: 363
- Joined: Wed Jul 08, 2009 7:10 pm
Re: New CPU Project
That was this thread I believe:phono wrote:i think bcbox already made one or a least an eagle layout for one, try searching
http://forums.adafruit.com/viewtopic.php?f=13&t=8015
That project looked to have stalled though..
- rv0
- Posts: 395
- Joined: Tue Jul 14, 2009 4:50 pm
Re: New CPU Project
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.
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.
- helyx525
- Posts: 61
- Joined: Fri Apr 23, 2010 11:58 am
Re: New CPU Project
Hi Phono. Nice to see that I am re-inventing the wheel yet again.phono wrote:i think bcbox already made one or a least an eagle layout for one, try searching
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.
- helyx525
- Posts: 61
- Joined: Fri Apr 23, 2010 11:58 am
Re: New CPU Project
Wow. Thats not a bad idea.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.
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.
-Dan G.
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: New CPU Project
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..
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..
- rv0
- Posts: 395
- Joined: Tue Jul 14, 2009 4:50 pm
Re: New CPU Project
room enough in that enclosure.antto wrote: and there isn't too much space inside the b0x
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.
-
- Posts: 221
- Joined: Mon Nov 23, 2009 9:34 pm
Re: New CPU Project
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.
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.
-
- Posts: 203
- Joined: Wed Apr 22, 2009 2:06 pm
Re: New CPU Project
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...
- rv0
- Posts: 395
- Joined: Tue Jul 14, 2009 4:50 pm
Re: New CPU Project
truetextile 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 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.
- helyx525
- Posts: 61
- Joined: Fri Apr 23, 2010 11:58 am
Re: New CPU Project
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
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.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
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.is this doable at all?
what do we do now? i want one you know..
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.
- helyx525
- Posts: 61
- Joined: Fri Apr 23, 2010 11:58 am
Re: New CPU Project
Dont spring for a big complicated multi-chip programmer. A Serial or USB to JTAG cable might not be a bad idea though.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.
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 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.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.
- helyx525
- Posts: 61
- Joined: Fri Apr 23, 2010 11:58 am
Re: New CPU Project
By this I assume you mean a Dinsync clock with a 50% duty cycle?textile wrote:My main request is 1:1 Clock pulse in and out.
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.
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 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.
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.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.
- helyx525
- Posts: 61
- Joined: Fri Apr 23, 2010 11:58 am
Re: New CPU Project
Agreed!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).
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.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.
Last edited by helyx525 on Tue May 18, 2010 12:49 pm, edited 1 time in total.
Please be positive and constructive with your questions and comments.