What was the first Arduino board ?

I recently acquired some older "classic" Arduino boards including a Diecimilla, Duemilanove and UNO R2. It is interesting to see the differences between these boards.

For example, the two Duemilanove boards - one is beige, the other blue - have different MCUs - one has a 328P-PU, but the other has a 168-20PU. I see they are pin compatible, so were they supplied with a choice of IC, or is one likely to have been an "upgrade"? The blue one does have Atmega328 printed on the reverse side whereas the beige on has no indication of the IC. Electronically they look pretty much the same, except that the blue board has a much smaller regulator part next to the USB socket.

The Diecimila has the phrase "Prototype Limited Edition" printed on it. Is there any significance to that? It also does not have the usual silkscreen with the version information and picture of Italy on the back. It just has a sticker with V0794 printed on the back of it.

The UNO R2 and all the other older boards do not have the two additional I2C pins next to AREF so it seems these were added to the R3.




Looking at these older boards made me wonder which was the first commercial Arduino board that was available for programming with the original v1.0 (alpha) IDE?

1 Like

None of those; this one stands a better chance


Source: Arduino - Wikipedia

See also One board to rule them all: History of the Arduino UNO | Arduino Blog

The I2C pins next to AREF were added for compatibility when Arduino started using other processors (32U4, 2560) where the processor's I2C pins did not have analogue functionality.

I was aware of the UNO serial board but with its through hole components that looks much older than one of those. Obviously at some point they switched from male to female headers. I guess RESET was accessed from the ICSP header. I figured that there must have been earlier boards around.

The first Arduinos used an ATmega8. (The Atmega8, atmega168, and atmega328 are all essentially pin-compatible, so "upgrading" boards as the newer chips became available was pretty easy.)

Earlier, there was "Wiring", which used an ATmega128 (and was a bit to expensive to catch on.)

You can read "The Untold History of Arduino"
And all the previous board documentation is available at https://docs.arduino.cc/retired/
Alas, it looks like there is no longer a list in chronological order. :-( IIRC, it went like:
Arduino Serial
Arduino USB
Arduino NG
Arduino Diecimila
Arduino Duemilanova
Arduino Uno
Arduino Uno R3

1 Like

That is correct. There is information on the subject here:

https://store.arduino.cc/collections/uno/products/arduino-uno-rev3-smd#:~:text=Revision%203%20of%20the%20board%20has%20the%20following%20new%20features

added SDA and SCL pins that are near to the AREF pin and two other new pins placed near to the RESET pin, the IOREF that allow the shields to adapt to the voltage provided from the board. In future, shields will be compatible with both the board that uses the AVR, which operates with 5V and with the Arduino Due that operates with 3.3V. The second one is a not connected pin, that is reserved for future purposes.

1 Like

Before IDE 1.0 there was 0023 and back. That was 2011 for me, no 1.0 yet and until 1.6 I stuck with 0023. The Uno was on sale then, R3 came later.

1 Like

Before Arduino, tinkering with microcontrollers was off limits for many.
A colleague could programme them using a compiler that apparently came from Kiev.
Just getting parts was a trial. RS had an A5 catalogue and they were difficult to deal with.
Electrospares was the retail side.
There's been a real revolution in recent years.
Manufacturers have seen the light with development boards, helping enthusiasts who could become buyers, and undoubtably, the Chinese outpouring of cheap components has democratised the market.
It seems incredible that you can order directly from China at rock bottom prices and get them within a couple of weeks.

1 Like

Interesting to note that the UNO (and I presume the Diecimila and Duomilanove) was already around when the IDE was being developed.

in the early days of home computer - the Altair - you programmed the computer with front panel switches.

>enter assembly level code on toggle switches

>press a momentary contact switch down to store in RAM

>press the same momentary contact switch up to increment

>repeat until code loaded

>press run

if you had a standard Altair that might be a 256 byte program. if you were high end you had 1024 bytes. the low end Altair cost $400 1973 dollars, about $2920 in 2026 diminished dollars

When I was laid off at a NASA satellite tracking station in 1994 we still used this procedure on a Univac to load the boot program after a power loss.

First there was the book Processing and Wiring.

Then the Processing language was made (processing.org) and sometime after, Arduino was made as an example of Wiring. If you get Processing, it codes very much like Arduino or really vice-versa.

There is a site named Wiring, their boards are expensive but packed and they have their software suite.

That was an interesting read for various reasons. It wouldn't the first time that the work of a student was taken advantage of by an academic who then presented it as his own. In concept, that Wiring board in the photo has all of the elements of todays Arduino UNO or Mega2560. Its interesting to note that the UNO Serial board retains the male connectors, although these were eventually changed to female connectors.

Its also interesting to read his reason for not choosing PIC ICs. I had wondered why there were no PIC boards based on the Arduino concept. Although I don't know what the Microchip programming software looked like back then, having used MPLAB, it is understandable that this would not be an ideal beginners choice.

Its also understandable that the Parralax MCU was rejected based on cost. I first became aware of it when working with the JTAGulator by Joe Grand and have since become aware of the rather costly Parralax Stamp. The Propeller programming language and IDE are rather different to most traditional programming languages and would likely not have made good beginner learning tool.

That quote from Massimo Banzi at the end does seem rather telling.

"Innovation without asking for permission. So, in a way, Open Source allows you to be innovative without asking for permission."

Open Source allows you to take an existing project and modify it for your own ends, but just because someone made some modificatons and used the work without the consent of the original developper and then claimed the concept as their own, does that equal to innovating? Moreover, just because it might not be illegal, does this make it ethical? It did rather sound like he was trying to justify himself. At the very least, would it not have been a common courtesy to acknowledge the originator of the work, even if they were a student whom you at one time supervised? AFAIK don't most OS licences do actually require some degree of attribution?

I would however like to read up on the other side of the story. There are difficulties with turning a student concept into a viable business proposition including acceptance, funding and having useful contacts. Acceptance of the technology as a concept seems not to have been a problem, but how did the subsequently formed "Arduino Team" actually go about developing the original "Wiring" concept into what is known today as Arduino? And why were they reluctant to acknowledge Herrnando Barragan as the originator of the concept?

Don't suppose you know the name of that compiler?

Blimey, even the early valve based computers like Colossus had paper tape or cards to enter programs. Setting switches sounds laborious and error prone even by those standards. Then again, as I understand it, Nasa often stuck with the tried and tested rather than going for bleeding edge (for the time) for reliability reasons.

I found wiring.org.co, but an attempt to download the Linux version of Wiring results in a 404 error. The link to the Hardware and the Wiki is broken as is the link to the forum. I did also find a Github though.

https://github.com/WiringProject/Wiring/

It has not been updated for 15 years.

Wanted to have a look on Linux but unfortunately it requires me to install snap which is a Ubuntu thing that I don't really want to install. Had a quick look at it on Windows in a virtual machine. One can't help deny its similarity with Arduino IDE v1.x, just that it doesn't have the board management bits.

Huh? Can't find any such thing. "Wiring" (~2004) postdates "Processing" (~2001) by several years.

Hernando Barragán's Thesis actually contains a lot of info on the "state of the art" prior to that time.

Interesting to note that the UNO (and I presume the Diecimila and Duomilanove) was already around when the IDE was being developed.

Huh? Which IDE are you talking about? The original "Wiring" IDE was forked from the "Processing" IDE ("long" before Arduino), and Arduino (the company) had pretty much "developed" it continuously since the original Arduino boards came out. (One of the reasons that they've succeeded where other efforts have languished...)

For example: no "Wiring" updates have been made in over a decade :frowning:
I don't think anyplace is selling them any more, either. (Although: Revive "Wiring" ? | Hackaday.io )

Yeah. While I don't particularly doubt what he says, you need to read between the lines to notice the part where he essentially "becomes busy teaching and doing art and design and stuff, and doesn't DO much with Wiring until noticing how big "Arduino" had become." Should Arduino and the World acknowledged Wiring as the Origin of Arduino? Probably. Has he made any meaningful contributions to our world since then? Not really (including the brief revival and creation of Wiring.org (~2011) and his stint as "Chief Design Architect" for Arduino starting in 2017 (for the disfavored "Arduino.org" segment.)

You left out steps:

  1. write assembly level code on a pad of paper.
  2. hand-assemble that into hex/octal/binary Machine Code.
  3. THEN you can enter the the binary code on your switches! (or hex/octal on a keypad, if you're lucky.)

You also neglected a relatively long interval of "personal computing" in between the Altair (~1974) and the first hobbyist friendly microcontrollers (Let's say the PIC16C84 - the first electrically reprogrammable microcontroller, in 1993. Although the Parallax Basic Stamp was slightly earlier...)
That's like an entire decade in between "personal computers as we now know them (IBMPC, Macintosh) and somewhat accessible microcontrollers.

Right about the same time as the original Arduinos, there was the "USB BitWhacker" board. You could just plug it into a USB port and upload PIC code.
But there was no IDE, no free C or C++ compiler, and no set of friendly functions.
The number of projducts that were "Like Arduino" is pretty huge, but the somehow lacked the ... attention, support, and evangelism that Arduino provides.

People (and especially "experienced engineers") love to hate on the Arduino IDE and libraries, but they have accomplished something special.

1 Like

This topic takes me back to 1977 when I started as a Trainee Computer Operator at Australian Bureau of Statistics. We had a range of 3000 series Control Data mainframes as well as a PDP DEC. All of these were bootstrapped by entering a series of 8 digit numbers on an octal keypad and them pressing go. I could still remember those codes through to the time I was scrapped in the 1990’s

Afraid not.
It was a long time ago.
I do know he didn't like spending much.
He had developed a smoke detector based around a cassette that pulled in air samples down long tubes.
Allegedly, it was used during the Channel tunnel boring.

I look up the Arduino site on the Wayback and don’t see where I read about Casey Reas and Ben Fry’s book though that’s where I learned their names. All I see now are references to Processing and on Amazon, Reas and Fry have multiple books on Processing.

I can’t find anything that I recall seeing on the subject 15 years ago. I didn’t make it up, I didn’t know those names but they are real so I musta learned em somewhere!

Sorry, should have said Arduino IDE 00xx. As you say, Wired existed before that and before any Arduino branded boards came on the scene.

I have noticed that particularly on C++ IRC channels.

No, I couldn't find it either, only "Processing" and the co-authored article on processing.org:

https://processing.org/tutorials/electronics

If it existed, then its seem to be gone now. I did however look at his thesis.

I see that your Hackaday article mentions a board package by per1234 that allows Wiring boards to be programmed, athough by the Arduino IDE "version 1.6.4 or greater":

https://github.com/per1234/wirino

Funnily enough I did also start thinking about re-creating one of these boards in Kicad. I also had the the thought that maybe the current MiniCore package could be used to program one with the ATMega128? On the other hand I don't see support for the ATMega1281 except in per1234's package. But anyway, its just an idea.

I also noted that a version of the Mavric-II upon which Wiring was based is still available from BDmicro although at the rather high price of $99.

https://bdmicro.com/collections/frontpage/products/mavric-iib-atmega128-microcontroller

If you order the version with screw terminals that goes up to $109! That is before you factor in shipping of course.

1 Like

It is provided by another of MCUDude's excellent boards platforms, MegaCore:

Wirino actually utilizes MegaCore as a dependency. Wirino provides the core variants that define pin mappings for the Wiring boards (the pin mappings on these boards are different from the ones offered by the MCUDude platforms), but uses the existing Arduino core provided by MegaCore and MightyCore.

1 Like

I have booted a few 1284P’s, it works. I’m still not sure how to know where to write flash but the loader I have allows flash write after compile and provides the hooks to do it.

Where the 328P is a car, the 1284P is a truck with sleeper cab.

precisely. when I got laid off we had doghouse sized Tektronix 545 oscilloscopes in daily use. 1500 watts. the station clocks had Nixie tubes. we ran rusting edge technology.

Yes those were quite big beasts but I understand that they had a nice sharp trace, unlike the 46x series (unless you had the appropriate mod). Never owned a 54x series, but have fixed a few of the 46x scopes in the past including the computer on a 466 storage scope. Fortunately the graphics chip was still in working order, but it did need a new 6502 processor, crystal and some other bits. I got rid of them all eventually in favour of a compact modern instrument.

I looked at MegaCore as I have it already installed because I worked with a ATMega1284 some time back, but didn't spot the 1281 in the multitude of boards listed. Even this time when I had another look, I didn't immediately spot it, but it is indeed listed in there, so thanks for confirming.

On another note, I was a bit curious as to why Hernando chose the name "Wiring" and whether this, in part at least, contributed to his board not really taking off? I think I can understand, to a point, considering the name "Wiring" to pair with "Processing", but both of those names are so generic that they convey very little about the product. When you do a Google search (or using a search engine of your choice) for those terms, you end up with a lot of unrelated generic results and nothing stands out. From that point of view they both seem to be a rather poor choice. Its probably why although being some 30 years in the IT business I have never heard of them until now....

On the other hand, compared with that, the name "Arduino" is rather unique and uniquely identifies the product behind it - as well as apparently coffee machines.... I gather Arduino was named after a bar in Ivrea, Italy and and means either "brave friend" or "valuable friend". I guess which one the board end up becoming depends on the skill and intentions of the user.....

If you repeat over and over often enough then you end up being able to reel numbers off by rote. When working as a network engineer, you similarly end up learning and associating all the IP addresses of servers and switches with their IP addresses and just when you get to know them all after some 20 years you get made redundant... I don't know which it more sad, knowing all the IP addresses by heart or "being scrapped" as it were....