Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The Arduino Project Gets a Core Memory Accessory

timothy posted more than 3 years ago | from the now-this-may-be-polarizing dept.

Android 46

Stoobalou writes "A pair of mathematicians have created an electronics project that nostalgic computer buffs will likely recognize straight away: a magnetic-core memory shield for the Arduino electronics prototyping platform." The creators' web site has more, including schematics, if you'd like to make your own.

cancel ×

46 comments

Sorry! There are no comments related to the filter you selected.

doooooooop! (1)

ArsenneLupin (766289) | more than 3 years ago | (#36126350)

miaow!

FRAM (1)

xded (1046894) | more than 3 years ago | (#36126530)

Yeah, even though it's more of a comment [slashdot.org] become story...

Then I think I will quote my own comment [slashdot.org] there...

Nice learning project!

However ferromagnetism is not for learning only. Check over at TI for FRAM powered uCs [ti.com] and their advantages.

The standardization brought in hardware and software tools by Arduino is good, but people should understand that a '90s Atmel microcontroller isn't everything that's out there...

Re:FRAM (1)

makomk (752139) | more than 3 years ago | (#36127882)

TI's FRAM microcontrollers use the ferroelectric effect, not ferromagnetism. It has some very similar properties to core memory but a totally different physical structure.

Oh, and they're also currently vaporware.

I can think of a use (1)

uglyduckling (103926) | more than 3 years ago | (#36126354)

There's a popular 'circuit bending' scene for modifying electronic musical instruments (usually crude ones) and other noise making games like Speak 'n' Spell to make unusual sounds. I could imagine using the core memory for storing sample data (you would have to stream it through I guess as it's only a few bytes) and allowing the user to manipulate it to produce unexpected results, for instance by waving inductive or magnetic devices near the core. It could also be used to store modulation data or other values for a digital synth. I know it sounds crazy, but the electronic music scene is always looking for ways to alter sounds in unpredictable ways, and this could certainly be a novel and retro way to do it.

Re:I can think of a use (1)

billcopc (196330) | more than 3 years ago | (#36127900)

Sure ... or they could use programmatic synthesis tools like Max/MSP and countless others to create the same sounds without the slapdash practice of circuit bending.

Re:I can think of a use (1)

uglyduckling (103926) | more than 3 years ago | (#36129618)

Yes... but lots of people don't. They enjoy the unpredictability and hands-on visceral feeling of messing with circuitry. Often it produced garbage, but occasionally you stumble upon an amazing sound that turns into something musical (if arguably atonal).

Re:I can think of a use (1)

eriqk (1902450) | more than 3 years ago | (#36136100)

Max/MSP, Pd, Csound and SuperCollider are great fun but too predictable. You'll find that many folks who are well versed in these environments are now also using cassette tapes, bent circuits and stomp boxes to add more unpredictability and grime to their music.
GP's suggestion sounds rather awesome, to be honest.

Obligatory (1)

AtomicSnarl (549626) | more than 3 years ago | (#36126384)

Yes, but can they build a Beowulf cluster out of... --- oh, never mind...

Retrieving old data (1)

mangu (126918) | more than 3 years ago | (#36126440)

"It has been suggested that a modified driver shield could be used to access original core memory modules - possibly even reading data from salvaged modules that hasn't been read since the early days of computing."

Most likely no interesting info will come out. When memory was so limited, programmers stored as little as possible in core, and it was binary data anyhow.

I still have some paper tapes from the late 1970s with data from my first job at an electric power company. Unfortunately, there's not much there i can understand, not having kept the documentation. It was Fortran column-oriented numeric data, what each column meant was documented in printed manuals.

Re:Retrieving old data (0)

tgd (2822) | more than 3 years ago | (#36126576)

IIRC, and I may not be, I think core memory needs refreshing, too... odds are there's no data at all in it at this point.

Re:Retrieving old data (4, Informative)

_merlin (160982) | more than 3 years ago | (#36126694)

It's non-volatile - the last data written will still be there. What you're probably thinking of is destructive read - you need to re-write the data after reading it, because the read operation results in the bit being erased.

Re:Retrieving old data (2)

dissy (172727) | more than 3 years ago | (#36129872)

I actually made a similar setup a couple years ago with an IBM core memory board of 900 bits and a basic stamp.

The magnets on the core memory still held a fairly random pattern of bits once I read it out, and it was last used about 30 years ago, so I can attest to at least holding their magnetic polarity for that long.

I think I remember reading somewhere that the farite material they used to make the beads are known in nature to hold their magnetic polarity through earth pole shifts. Something to do with vertical veins of material deposits, and seeing the shifts in bands that line up with the surrounding rock that has had its age determined via other means and matching up to about the times the earths poles have flipped.
Either way, quite a long time indeed.

Most magnets don't fail by losing their polarity, they fail by degrading into a material that is non-magnetic, and thus would not be able to hold a charge of any type afterward.

Now, they do need refreshed while in operation. Specifically after most read operations.

A write is simple. You send a charge down a wire one way or the other, which changes the beads magnetic polarity.

A read however is a bit more complex. Basically there is a 'sense' wire that goes through literally every bead on the board. When one of the beads has its magnetic polarity changed, they emit a magnetic pulse which is picked up in the sense wire and inducted as an electric current.
So to perform a read, you send a '1' pulse to a bit and watch the sense line.
If nothing happens, then you know the polarity did not change, and thus that bit was and is still a '1'.
If you get a pulse on the sense line however, that means it did change polarity, and so you know the bit read is a '0'. You also know it now contains a '1' since you just changed it, thus you must perform a write of the original '0'.

In my case, I have no idea in what order those bits were addressed by the system, so even though I could read out the stored bits, I can't put them back together into their bytes (Or more likely 5-7 bit 'words'), let alone order those bytes back into a block of memory.
When used in the original hardware however, yes you can power the computer on and your core memory RAM would be just as it was when it was powered off, and continue operating instructions where it left off.
The ultimate computer hibernation mode!

Re:Retrieving old data (1)

hairyfeet (841228) | more than 3 years ago | (#36127444)

While that's true that you wouldn't get data that would be of any likely use I would imagine it would be a hell of a lot easier to use prebuilt core to get much better data density than anything you'd build yourself.

That said congrats to the guys for cooking up a way to access a piece of the old days. Now if i could just find someone whose cooked up a Commodore 128 on a chip so I can check out the old sat simulation a customer had made in the 80s for one of the private bird corps that he still has all the floppies for that would be too cool.

sampling rate (0)

Hazel Bergeron (2015538) | more than 3 years ago | (#36126544)

I know this is OT, but if I have a 2MHz band which I'm sampling per Nyquist through an ADC with 14 bit resolution, are any Arduinos in practice going to let me stream that to the USB? I'm assuming the Arduinos' own ADCs aren't good enough. Just for a project I thought I'd waste a few days on...

Re:sampling rate (0)

Anonymous Coward | more than 3 years ago | (#36127152)

Can't you do at least some research yourself? Arduinos are 8-bit microcontrollers with a top clock speed of about 20MHz and you want to push 7MB of data per second. What do you think?

Re:sampling rate (1)

Hazel Bergeron (2015538) | more than 3 years ago | (#36127692)

Yes, why does anyone post on the Internet when all datasheets and journal papers are already written?

All I could find in the documentation was an API for reading the GPIO bits one pin at a time and using the USB under serial emulation. I wondered whether perhaps there was some direct passthrough, e.g. using isochronous USB mode, supported by the hardware. Failing that, IN low / OUT low / IN high / OUT high / LOOP - not quite there with the specs you describe, but I was needing nearer 1.5MHz and I wasn't sure what the real upper clock limit is. Back 2 ARM.

Re:sampling rate (1)

MBCook (132727) | more than 3 years ago | (#36127162)

I don't know how fast the Arduino's ADC is, but it's 10bit. The USB is just a 115k serial port, which I think is a chip restriction. You could use your own bit-twiddling, or use an Ethernet interface like the Ethershield, which may be fast enough.

Re:sampling rate (0)

Anonymous Coward | more than 3 years ago | (#36127166)

It's unlikely that any of the ATmegas (the chips that power Arduino boards) would be able to keep up with that much data. Look at some ARM-based MCUs.

What are you trying to do, anyway? 2 MHz of bandwidth isn't exactly peanuts.

Re:sampling rate (1)

makomk (752139) | more than 3 years ago | (#36128044)

It is off-topic, but no. USB 1.1 is limited to 12 megabits/sec theoretical (much less in practice), so there's no way to do that with the Arduino or even with any of the AVR boards that have proper integrated USB 1.1. You'll also be hard pushed to find a decent high-speed USB 2 microcontroller at a reasonable price. The Cypress CY7C68013 would probably work - it has high speed USB and special hardware functionality for capturing 8 or 16 bit parallel data streams - but it also has a fairly nasty 8051-based CPU and a lack of decent development tools. There's also the ARM-based ATSAM3U and LPC18xx series from Atmel and NXP respectively, but they're so new they're not readily available, and the cheap boards won't be out for a while. Unless you can solder BGA chips there aren't that many options.

(Oh, there's also the XMOS stuff, which is very powerful but I can't really recommend for this due to the difficulty of getting it to do certain things...)

Re:sampling rate (1)

Hazel Bergeron (2015538) | more than 3 years ago | (#36128504)

Thank you.

Re:sampling rate (1)

Man On Pink Corner (1089867) | more than 3 years ago | (#36130478)

Take a look at some of the cheaper FPGA boards out there, like the Nexys 2. I've used these to talk to 24-bit 2.5MSPS parts with no problem at all.

Basically they're a cheap way to get your hands on a CY68013 USB chip and enough glue logic to make it easy to hook up the ADC.

Android icon? (2)

derGoldstein (1494129) | more than 3 years ago | (#36126556)

Why is there an Android icon on this story? Because they needed to pick an icon and "Android" and "Arduino" were close enough?...

Re:Android icon? (0)

Anonymous Coward | more than 3 years ago | (#36126584)

Because someone is gonna call Google evil anyway.

Re:Android icon? (1, Funny)

Kilrah_il (1692978) | more than 3 years ago | (#36126604)

Oblig: Google is Evil.

Glad to be of service.

Re:Android icon? (1)

piripiri (1476949) | more than 3 years ago | (#36126586)

You didn't RTFA, don't you?

The Arduino is an open-source development system for the creation and programming of electronic gadgets. Powered by an ATMega microcontroller, it's a popular platform for both experienced developers and newcomers to the hobby - and has been chosen by Google to form the heart of its Open Accessory project for Android [thinq.co.uk] .

Re:Android icon? (0)

Anonymous Coward | more than 3 years ago | (#36126826)

That's great but other then one line in TFA this has nothing to do with Android.

Re:Android icon? (2)

derGoldstein (1494129) | more than 3 years ago | (#36127116)

That was added by "thinq_", the actual project has nothing to do with Android. I thought I saw an embedded icon at some point, but I can't find it now (and if there isn't an embedded icon, there should be).

Re:Android icon? (1)

hey (83763) | more than 3 years ago | (#36127232)

You are right. Arduino is important enough to have its own icon!

Nostalgia? It Is Still Relevant Technology (2)

the monolith (1174927) | more than 3 years ago | (#36126850)

Oh, yes - people still looking for a fast startup can relate to core memory. You switch the machine on, set the switches to the base address, hit 'reset', hit 'run' and you are up and running the last loaded program (CPU next instruction address registers etc.. are volatile, so can't be used) So, for example, set 0019, Res, Run, and you are up and running (CIL System 90, and others) Not too shoddy, eh?

Oh, er, when can we get a 5 channel paper tape reader, 8 cps (characters per second) teletype, 800bpi (bits per inch - cute, eh?) mag tape, and punch cards, please :-))

Oh, for the days of spicing an edit into a bit of blank paper tape and taping it into the right place, !syad dlo doog eht erew esoht as we used to say.

Bubble (1)

markdavis (642305) | more than 3 years ago | (#36127022)

Next, I want to see some bubble memory- remember that? I bet the controller would be much more complicated.

Tired of all this Arduino crap (4, Insightful)

Anonymous Coward | more than 3 years ago | (#36127090)

Can we stop the flood of Arduino nonsense? Yeah, I know people get excited when they discover how fun microcontrollers are. However, Arduino isn't all there is and it's not even particularly interesting. It's a family of boards with non-standard header pin spacing (WTF guys?!) with a shitty ATmega at its core. Most hobbyists would be better served by something from Parallax. For more demanding projects, the beagleboard is awesome. For tiny, cost sensitive projects, TI's launchpad dev kit is under $5 with additional microcontrollers (MSP430 series) selling for just a few cents a pop! If you don't mind a bit of a learning curve, ST's STM32 and STM8 series are great and dev boards are cheap.

Arduino isn't the only game in town. Let's stop covering every freshman-level EE project done with it.

Re:Tired of all this Arduino crap (1)

SuricouRaven (1897204) | more than 3 years ago | (#36127282)

Even the old PICs are great for simple projects. Limited, yes - you get a few IO pins, a serial port, that's about it. But really cheap. One IC, that's it. No supporting components beyond the power supply, and even that doesn't need to be well-regulated. I used one in my steampunk electronic die, and as the controller for an animatronic suit head I programmed for someone.

Re:Tired of all this Arduino crap (1)

DCFusor (1763438) | more than 3 years ago | (#36128064)

I still use PIC's all the time myself, even for some relatively fancy/fast stuff. They make great front ends for data aq in a pc, where they can buffer a little and cope with the PC's random pauses well, for example. Or do a control feedback loop with the PC just providing the tuning parameters and maybe logging the data after reduction by the PIC.
With a well written (by me of course) tiny opsys, and a decent C compiler (I use CCS these days) it's so quick to get a simple project going there's not much excuse anymore not to.

The days we dreamed about when uP's hit the markets are finally here -- it's actually worth designing around one as the basis of a project, rather than the project being all about getting one working at all. I like writing efficient code right on the metal, especially when the metal is simple and "wanting to work".

Re:Tired of all this Arduino crap (2)

derGoldstein (1494129) | more than 3 years ago | (#36127334)

Arduino is just "in" at the moment, which is why this story got picked, as click-bait. Hobbyists have been doing interesting things for years using MCUs (hackedgadgets.com has been around for a while), but the Arduino lowered the barrier to entry considerably.

The one trend that I find odd is that people are sticking with it, rather than using it as what it was originally meant to be -- a jumping board. Once you're comfortable with the platform, you're supposed to "graduate" to at least making custom boards, if not migrating to C (a language in which almost anything you can think of has already been written, so you have a much larger code base to draw from). The boards themselves are comparatively expensive, and really constrain your design choices.

Re:Tired of all this Arduino crap (2)

hitmark (640295) | more than 3 years ago | (#36130030)

I think they stick with it not because of its capabilities, but the ecosystem that has built up around it.

One can get all kinds of "shields" that plug into the IO ports and do various stuff, including getting the thing online via ethernet.

So it becomes faster to just grab one and a shield or two that provide the basics for what you want to do, and then hammer out some spaghetti code, then go with a truly custom design.

And now that Google have announced a accessory development kit for Android based on Arduino, this will just keep on growing.

Re:Tired of all this Arduino crap (2)

Tacvek (948259) | more than 3 years ago | (#36130362)

I fully agree with all your points, except that he "wiring" programing language is already C++. All wiring actually is is a C++ library. A #include directive is added to the top of what you provide, and it is compiled together with an existing main.cpp file (and a few others), and the result is an executable. That is it.

While undocumented, you can use pointers, create new classes, whatever you want.

Re:Tired of all this Arduino crap (2)

Osgeld (1900440) | more than 3 years ago | (#36128032)

Parallax and MSP? what the FUCK are YOU smoking?

Parallax what 80 bucks for an even shittier pic chip loaded with basic and a dope baggie of leds? Oh the propeller a proprietary chunk that is really only good for a few video applications, the crap cant even handle a ISR without hogging up an entire 32 bit cpu core for polling?

then the MSP, yea whats that launch pad, like 12 bytes of ram, 6 nano amp loads on the pins, 800$ toolchains and waiting 6 months hoping TI doesnt fuck your order up? there is a winner

Re:Tired of all this Arduino crap (4, Insightful)

TheGratefulNet (143330) | more than 3 years ago | (#36128186)

atmega 328 chips are $5 or less, usually less. resonator and other minor parts are a dollar.

the only cost is the $15-20 ftdi or similar serial/usb cable. pl2303 for $5 on ebay works fine, btw.

its VERY cheap and works on all platforms. gcc is free (I use makefile based arduino dev, myself) and the IDE is usable and free.

PIC got left behind. no one cares about PIC anymore. what else is there for this kind of cheap change?

and who is still thruhole friendly.

and who has a huge user contrib library online, in src format?

this is why arduino 'won'. I spent the last year or more doing arduino things and while its still more 'home' than industry, you can make speedy progress and get help fast with your projects if you get stuck. it really is the 'linux' of the very low end embedded world, whether you like it or not.

Re:Tired of all this Arduino crap (1)

thegarbz (1787294) | more than 3 years ago | (#36131128)

However, Arduino isn't all there is and it's not even particularly interesting. It's a family of boards with non-standard header pin spacing (WTF guys?!) with a shitty ATmega at its core. Most hobbyists would be better served by something from Parallax.

Ahhh I see your electrical perspective on this. Sorry but for many people out there the Arduino IS all there is. No other platform comes prebuilt in a wide variety of styles. No other platform has a whole host of stackable plug-in boards to extend functionality. No other platform has as large a user base, or as large an open source code library. Most platforms have really horrendous free IDEs, or charge you through the nose to develop. Most other platforms offer single microcontrollers that are worth more than an entire Arduino board + add-on shield (Propeller family). The Arduino doesn't even require first year EE knowledge to get started and anyone who can write a line of code is capable of churning out something useful. If you are electrically minded then the Arduino is a fantastic development platform for testing and then porting code to any other AVR microcontroller, including ATTINYs for your tiny cost sensitive projects.

There is an ATMega chip to serve every purpose except for DSP. But if ATMega series does not suit your project wouldn't it be nice if you had other MCUs that you could use in such a versatile platform? Oh wait that's right you can get Arduinos with ARM chips. Still not good enough? There are arduino shield compatible boards with your precious little PICs [hackinglab.org] in them too.

Your comment wreaks of elitism and someone who either holds a silly grudge for being bullied by an Atmel fan, or who plainly just doesn't get it, and if you hate the pin headders which make it impossible to plug a shield in backwards, then just get a patch-shield or a proto-shield. The only people who complain about this are the ones who don't need to use an arduino anyway.

Re:Tired of all this Arduino crap (1)

Goody (23843) | more than 3 years ago | (#36131314)

What makes the TI board so damn interesting? Oh, that's right; TI price whored themselves and sell the board at a loss just to gain market share and try to artificially develop a community around it. It's funny when people claim this or that microcontroller is better than the other. Get over it. They all do the same damn basic functions. Can we stop the flood of microcontroller snobery?

Pretty interesting (1)

50000BTU_barbecue (588132) | more than 3 years ago | (#36127680)

As a collector of old electronics I have a keen interest in anything that lets people see and feel the history of electronics and computer technology. I have an Intel bubble memory with its chipset that I've been meaning to fire up for , um, decades. Maybe it's time to get cracking?

Military Computer - Core Memory (1)

FlyingGuy (989135) | more than 3 years ago | (#36127796)

The military was still using computers with core memory.

Check this [vipclubmn.org] out!

Android icon (2)

CaptainLard (1902452) | more than 3 years ago | (#36127848)

Why does this article have an android image? The article has nothing to do with it. Arduino is popular enough with the hobbyist community to stand on its own. Not that the android integration package from google isnt awesome but maybe its time arduino got its own image?

Vivid memory of the days before chip memory (2)

Siddly (675342) | more than 3 years ago | (#36128118)

Worked on the Univac 9700 which first came out with magnetic wire memory that replaced cores in earlier systems. Fixing memory errors was done by desoldering the affected wire, sliding it along and resoldering it. The wire memory was much faster than the core memory and was about the same speed as the early chip memory.

Re:Vivid memory of the days before chip memory (0)

Anonymous Coward | more than 3 years ago | (#36131774)

Wire memory was also used on the Hubble Space Telescope. WAY WAY cool.

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>