The Black Diamond, a new Arduino Due workalike

As many will know fellow member Rockwallaby and I have been working on a new ARM-based controller board that will be an Arduino Due workalike but with a lot more IO and with most of the Due’s “hidden” features broken out.

The design is progressing well with schematics and PCB layout slowly becoming firm, and while we are not ready to release full details at this point the following is a quick list of the main features.

• Atmel SAM3X8E processor, same as Arduino Due.
• External memory support, 16-bit data, 20-bit address.
• On-board 2MB SRAM.
• Switching primary regulator can handle VIN of 7-30V and supply 2A.
• 3v3 system but a lot of support for 5v.
• 120-pin backplane with 4 addressable slots and optional card guides for mechanical stability.
• Control over power to backplane slots and shutdown/wake up of entire system.
• Native high-speed 4-bit support for microSD cards.
• Native Ethernet support with PHY and magjack.
• USB host interface with micro AB socket.
• On-board transceivers and/or buffers for RS-232, RS-485, 2x CAN, LIN, 1-WIRE, TTL serial, 2x SMBus/I2C.
• Where appropriate all serial IO selectable to be 5v or 3v3.
• XBEE format socket for RF modules including those for XBEE, Bluetooth, and WiFi.
• 52 of the SAM’s native digital IO pins supported on backplane.
• 8 high-current (24mA) GPIO signals on external IO expander. Can be 5v or 3v3.
• 8 analogue inputs on external ADC (internal ADC not used), 12-bit resolution standard but 14- and 16-bit optional. 0V to 5V, 0V to 10V, ±5V or ±10V, single ended or differential. Protected to ±25v.
• Provision to mount a 4D Systems .96” OLED directly on the board. 96x64 pixels with 65K colours. Can be used for debugging or a simple user interface.
• Provision for remote and/or larger displays with a 4D Systems-compatible header.
• 3 user push buttons mounted below the OLED for general-purpose or simple menu input.
• 2 external options for the RTC oscillator, standard crystal or TCXO (Temperature Controlled Crystal Oscillator).
• On-board battery backup for RTC and external RAM.
• CPU supervisor chip with advanced power-lost warning and battery changeover.
• Fits a standard Hammond enclosure.

The design can still be modified so if you are interested in this board either as a potential user or co developer email Rob (rob@robgray.com).


Rob

Rob

Are you targeting the Arduino 1.5x IDE as the development environment for the Black Diamond? Or will we need to adopt Atmel Studio?

The only item I can see is perhaps an EEProm for storing startup/calibration constants. How do you plan to accommodate storing of calibration data or user setup/config preferences? I suppose a microSD could be used.

Peter

Nice board, keep posting!

sounds like a great board.
Can you share a price ballpark figure?
Best regards
Jantje

I wouldn't mind collaborating with you folks, let me know!

Are you targeting the Arduino 1.5x IDE as the development environment for the Black Diamond?

We definitely want the board to work with the standard toolchain, that said personally I would never use the IDE so using AS6 and/or one of the great VS/CB/Eclipse plugins would be my preference. I think Paul (Rockwallaby) has worked with Jantje's plugin and knows that pretty well.

Bottom line is that if we make that end of the hardware the same as the Due all that should fall into place. Toolchains are not my strong point, this is probably one area it will be nice to have another conspirator developer.

EEProm for storing startup/calibration constants.

We are using 2 Lattice MachX02 programmable logic devices, each has the capability of allowing the "user" to use some of the internal flash memory as an EEPROM substitute. This should fulfil this function. Also the the CPU's internal "general purpose backup registers" and (hopefully) the external SRAM are battery backed and can be used for semi-volatile data.

Can you share a price ballpark figure?

Not yet, Paul is working on an initial BOM, we need to know a rough cost before proceeding because so far it's been a nerd's wish list design with little thought to cost, but of course if it's too expensive it will never fly. Hopefully we'll know in a day or two.

I wouldn't mind collaborating with you folks, let me know!

Sure FM, you've got good design experience, what area(s) are you interested in?

Paul and I have been driving this for a few weeks now but I really feel it needs a certain critical mass of involved people so any experienced developer is welcome. At present it's all hardware but that focus will change to be mostly software at some point with a lot of low-level drivers and libraries to write. And then we need a couple of kick-arse plugin boards.

I don't even want to think about manufacture, testing and sales.

BTW this will all be open source when stable.


Rob

Hi Rob,

thanks for the heads up and kind compliments.

I will send you a separate email, but I can collaborate in the project as you see fit, eedesign, eedesign review, layout or even reviewing it and then low level SW: bootstrap, drivers, would be cool too, ... I hate bootloaders (I think I´ve writen one to many :)).

The contribution will not be top notch to start with (the job that pays the bills has me a bit busy lately and some unfinished home projects add on top) but I am sure it can ramp up a bit.

Firstly thanks to those who have expressed an interest in this project both here and off-line.

Secondly I have some good news and I have some bad news.

The bad news is that we did an initial costing and it was way too expensive, think $200+ just for parts. Now I know Chinese manufacturers can do marvellous things in this regard but we can't even afford to make the prototypes.

So the Black Diamond is dead, or at least comatose for the time being. But that brings me to the good news (well I think it's good). We've whittled the design down to a much simpler board with just the features needed to be a good CAN network controller. Basically that means the following

• SAM3X8E 84MHz processor.
• 2MB external RAM (16-bit data access)
• 2x CAN ports with transceivers. Four headers for easy connection to 2 networks.
• High-speed 4-bit microSD interface with card holder.
• 8 analogue inputs protected to ±16v, able to read negative voltages and with builtin programmable gain.
• 8 digital IOs capable of supplying 24mA, each protected and with its own LED.
• Switched mode regulator able to accept 7-30v input.
• Full Ethernet support with onboard PHY and Magjack.
• Battery backup for RTC and external RAM.
• TCXO 32kHz oscillator for very accurate RTC.
• USB programming and host ports.
• Totally compliant with the Arduino toolchain.

As you may have noticed much of the IO available on the Black Diamond is missing, that's because this is essentially a controller for a network not a general-purpose dev board like the Due, the majority of the IO is located on remote nodes and to this end we are also designing about 30 such nodes. These will be very simple devices using the LPC11C24 32-bit processor. This chip has a full CAN controller and transceiver on-board so it's possible to make a simple node with just 3 active components and a few passives.

We also plan to design a simple publisher/subscriber network layer to run on top of CAN, this should abstract the network details and allow a programmer to deal with logical "points".

As before we aren't ready to release details (partly because we haven't got many :)) but if anyone is interested in this resurrected version of the project please get in touch.


Rob

would really like to see a eprom / flash interface so that as the user above says,
constants can be stored.

Even a one wire interface for constants would be great.

how do I store a MAC address,
or calibration data that I've spent ages setting up....

I can, but others might not want to use VHDL / verilog to configure the Lattic device.

I'm not sure where you got the idea you have to delve into VDHL to save some variables but my wording may have been a bit ambiguous.

The Lattice PLDs allow the CPU to use some of the configuration flash for user storage and our plan was to write a library that implemented this instead of the standard EEPROM functions.

That said we did plan to allow people with the appropriate skills to design their own hardware for the PLDs, for example a VGA pr LCD controller would not be difficult to do.

Still that's moot now because despite a few people offering to help with the development we do not have the resources to develop such a complex and expensive board.

So we have a new simpler design

It's 2.1x3.2" in size, about the same as a Uno. This has a serial FRAM chip that will do the same as an EEPROM but a lot faster and with no limits to the number of times you can write to it.

And just for interest here are two pics of the Black Diamond design.

Note the four 144-pin chips on the reverse, that's where the name comes from.

A totally different animal as you can see. I am willing to revisit the larger design but as I said we don't have the resources at present.


Rob

New thread started about the successor to the Black Diamond.

http://forum.arduino.cc/index.php?topic=170901.new#new


Rob