• Spring 2024 meetup in Calgary - tentative date Saturday, April 20/2024. Other regions are also discussing meet ups. If you want one in your area get going on organizing it! discussion
  • We are having email/registration problems again. Diagnosis is underway. New users sorry if you are having trouble getting registered. We are exploring different options to get registered. Contact the forum via another member or on facebook if you're stuck. Update -> we think it is fixed. Let us know if not.
  • Spring meet up in Ontario, April 6/2024. NEW LOCATION See Post #31 Discussion NEW LOCATION

Arduino Mega

jcdammeyer

John
Premium Member
There are all sorts of processors around with multiple cores. Consider for example the Beaglebone Black. It has what is called a PRU in addition to the main processor. It's a reduced instruction set processor core that can access much of the I/O and some memory. And shares some common memory with the main processor. So all the encoder and step/dir signals are handled by the PRU while the main system takes care of the trajectory planning.
The M9S12 I used also has a separate hardware I/O processor but for what I did I never actually needed to use it.
And yes the ESP32 has two cores.
 

TorontoBuilder

Ultra Member
Yes, I think that's the general idea. Those old motherboards did what I hope the Arduino mega does. They were not what is called dual core or quad core etc today.

Might be interesting to take a boo at what the designers actually mean today though. As people change, so do the concepts, definitions, and implimentations. Who knows, maybe my understanding is as outdated as I am!!!
regardless of how they work, I think I have a project that I will benefit from the arduino giga. I was going to make two separate controllers to use in a thrust test stand. One to control two brushless motors and another to measure three strain sensors and calculate thrust and torque and log the data.

Now to figure out the logic, that will require my friend's help and input.
 

PaulL

Technologist at Large
Premium Member
And although I have yet to play with the newer Arduino 2 development environment I'm not sure it has the same level of low level development tools that say Texas Instruments has for the F28379D which has dual cores, A/D, CAN, Quadrature encoder support along with separate floating point processor etc.
The TI LaunchXL line is pretty impressive. The dev boards are very capable. The only really annoying part for me is the TI IDE that I haven't figured out how to use - I'd much rather use my usual software process instead of some other GUI mess.
 

jcdammeyer

John
Premium Member
The TI LaunchXL line is pretty impressive. The dev boards are very capable. The only really annoying part for me is the TI IDE that I haven't figured out how to use - I'd much rather use my usual software process instead of some other GUI mess.
I get that. Between Delphi, MPLAB-86, MPLAB-X, CodeWarrier, Ti Code Composer and Arduino it gets a bit frustrating at times.
 

slow-poke

Ultra Member
I get that. Between Delphi, MPLAB-86, MPLAB-X, CodeWarrier, Ti Code Composer and Arduino it gets a bit frustrating at times.

When I first started using TI's CCS I found it not particularly intuitive. However after playing with it a bit I find it grows on you. Depending on what you are doing it's better than having one hand tied behind your back in Arduino land.
 

PaulL

Technologist at Large
Premium Member
When I first started using TI's CCS I found it not particularly intuitive. However after playing with it a bit I find it grows on you. Depending on what you are doing it's better than having one hand tied behind your back in Arduino land.
I'm a professional software developer and have been for nearly 40 years. My tooling is a bit esoteric ;-)
 

jcdammeyer

John
Premium Member
Well I'll be mucking with the Teensy 3.5 and Mega 2560 for the AR3 Robot Arm build. I don't have a holder and terminal block assembly like the guy building this one. He's done a really neat job. The Mega 2560 is just used for relay control I think. Might also be for the 7th axis that moves the arm along a rail.

Like them or not, the Arduino has created a lot of opportunities.

a27d24_753d73ca930f4b87af6b8b2a8f1debd1~mv2.webp


Here's a zoomed out photo.
a27d24_422a09380d334c128d9f37f3657aa50c~mv2.webp
 

Susquatch

Ultra Member
Administrator
Moderator
Premium Member
Well I'll be mucking with the Teensy 3.5 and Mega 2560 for the AR3 Robot Arm build. I don't have a holder and terminal block assembly like the guy building this one. He's done a really neat job. The Mega 2560 is just used for relay control I think. Might also be for the 7th axis that moves the arm along a rail.

Like them or not, the Arduino has created a lot of opportunities.

There is always bigger better faster cheaper. I'm learning to like the Arduino environment for what it is, I don't hate it for what it's not.

I'd like to see that system though with all the wires. Easy to be neat and tidy and beautiful till the kids come home from school.....
 

slow-poke

Ultra Member
There is always bigger better faster cheaper. I'm learning to like the Arduino environment for what it is, I don't hate it for what it's not.
Agreed and that is a good point. There are so many applications where even a simple microcontroller is just the easiest and most flexible way to accomplish a task. Arduino really shines when the libraries already exist so that you can focus on the task at hand. I'm actually doing an Arduino project for my bandsaw today.

With the low cost quick-turn PCB houses I often spin a new board based on something similar that I have done in the past that uses one of the "Arduino" microcontrollers. A week later you have a custom board for exactly what you need and you get to develop the code on an actual Arduino while your waiting for it to arrive.
 
Last edited:

jcdammeyer

John
Premium Member
Agreed and that is a good point. There are so many applications where even a simple microcontroller is just the easiest and most flexible way to accomplish a task. Arduino really shines when the libraries already exist so that you can focus on the task at hand. I'm actually doing an Arduino project for my bandsaw today.

With the low cost quick-turn PCB houses I often spin a new board based on something similar that I have done in the past that uses one of the "Arduino" microcontrollers. A week later you have a custom board for exactly what you need and you get to develop the code on an actual Arduino while your waiting for it to arrive.
1. What are you doing to your Band Saw?

2. I don't actually have any "Arduino" microcontroller projects I've done in the past. So I tend to use previous projects of my own with board overruns to create the special stuff. But I really can see how your approach can be a quick and easy solution to a problem. My hats off to you.

I remember discussions with people decades ago. They called it overkill. To use a processor where some simple TTL logic and maybe a 555 timer would do the job. At the time I pointed to the single chip processors like the MC6805 or the RCA 1802 COSMAC that were simple one chip solutions. This was in the late 70's.

In the 80's we designed a product that was a general purpose single board computer with an expansion bus and even a place for 8 channels of filtering or op-amps. Used SPI bus to talk to displays. Had another expansion board with three dedicated quadrature encoder interface chips. Measured the distance to the ocean bottom that a drilling rig moved by tracking turns on a winch. Tracked drill string distance. Used to maintain constant pressure of the drill bit in the hole rather than up down with swell.

For one of the project I even made a nice wooden frame around it.

GLENMOR2.JPG
Now you'd do this with an Arduino and wouldn't need the piggyback EPROM/RAM board you see in the top left hand corner sitting on the CPU. I doubt they are using this anymore. But it was an interesting project using in effect the equivalent to an Arduino today. I wrote the monitor and the RTOS. A colleague wrote a the cross assembler and a Tiny Pascal interactive interpreter. Now it would be a Micro-Python interpreter.

GLENMOR1.JPG
 

Susquatch

Ultra Member
Administrator
Moderator
Premium Member
Now you'd do this with an Arduino and wouldn't need the piggyback EPROM/RAM board you see in the top left hand corner sitting on the CPU.

Oh...... The good old days......

The hours and hours after everyone was sleeping slogging through code to make one part of the system at a time work right. No debuggers, no body to call for help, just "WTF is wrong now...." and insert a piece of code to latch or flash an LED or LEDs to track where you were.

Sadly, I have no pictures so it never happened. I am so jealous of your photos John. All I have is my memories. The wife never did care about such things and all the guys I worked with are on the other side of the grass.

In some strange way, your photos are like pictures of my own past. I love them..... Thanks ever so much for sharing.
 

Susquatch

Ultra Member
Administrator
Moderator
Premium Member
I lied. I found this one photo from my distant past. It might be the only one I have.

20230305_095506.jpg

It's the counting and start/stop circuitry for the very first non-contact bullet chronograph and my very first commercial invention. The screens were laser based with a sheet of laser light bouncing between two first surface mirrors which created a sheet of laser light. Anything passing through the sheet of light broke the beam and tripped the counters. I don't have any of the hardware anymore - just this one photo. Everything else was sold to a company in the USA.

The whole darn thing was put on a circuit board that was hand drawn and etched onto copper.

This was all TTL Chips. Microprocessors came along shortly thereafter. I did an initial redesign using an intel 4004 but then I got a real job and my life moved on to bringing electronics to cars and trucks.
 

slow-poke

Ultra Member
Writing in assembler and debugging with printf and toggling pins allows us to really appreciate how easy we have it nowadays.

The bandsaw circuit is to prevent most importantly eating the brass worm gear when the blade jams, should also prevent the motor burning up but the breaker would likely trip out before that happens.
 

Susquatch

Ultra Member
Administrator
Moderator
Premium Member
Writing in assembler and debugging with printf and toggling pins

Ain't that the truth!

When I first started there were no assemblers yet either. . Nothing to run them on even if they did exist in someone's mind. No Printf either. Just toggle pins and use a small driver circuit with an LED to test pin state. Sort of like an ancient version of a modern logic probe.

All my earliest code was machine language hex written on a piece of paper and burned into a PROM one byte at a time. The target address and the data was set with switches and then burned. The term "burned" came about because the ROM data was all 1's (or was it zeros) till you burned a few bits in each byte by fusing internal links. Went through a lot of PROMs till EPROM, cassette tape, and hex key pads arrived.

Remember the UV erasers?
 

whydontu

I Tried, It Broke
Premium Member
Ain't that the truth!

When I first started there were no assemblers yet either. . Nothing to run them on even if they did exist in someone's mind. No Printf either. Just toggle pins and use a small driver circuit with an LED to test pin state. Sort of like an ancient version of a modern logic probe.

All my earliest code was machine language hex written on a piece of paper and burned into a PROM one byte at a time. The target address and the data was set with switches and then burned. The term "burned" came about because the ROM data was all 1's (or was it zeros) till you burned a few bits in each byte by fusing internal links. Went through a lot of PROMs till EPROM, cassette tape, and hex key pads arrived.

Remember the UV erasers?
My first processor was an 1802 with 256 bytes of 2101 RAM. Thought I was in hog heaven when I wirewrapped a memory add-on board to use eight 2102 chips, giving me 1280 bytes of glorious program space!

And then a Don Lancaster video card to display a 16-pixel Star Trek Enterprise moving in real-time across a 12” green CRT display.

Lord we‘re old….
 

Susquatch

Ultra Member
Administrator
Moderator
Premium Member
My first processor was an 1802 with 256 bytes of 2101 RAM. Thought I was in hog heaven when I wirewrapped a memory add-on board to use eight 2102 chips, giving me 1280 bytes of glorious program space!

And then a Don Lancaster video card to display a 16-pixel Star Trek Enterprise moving in real-time across a 12” green CRT display.

Lord we‘re old….

I remember the RCA 1802 although I never played with it. Same goes for Motorola's chip. Seems to me that there was TI chip in there too.

Yes, we are old. I bet my wife still remembers me screaming like a baby when I read about the first microprocessors in an electronics magazine. My version back then was that the whole world was going to change. Man was I ever right! But I was also wrong on so many other levels. I figured computers would eliminate paper. Meh Meh Meh Meh....... WRONG!
 

Susquatch

Ultra Member
Administrator
Moderator
Premium Member
I bought a EPROM eraser from Efton? Science.
First processors for me 6800 then Z80.

I believe it was Efston Science. I think the store itself is still there but under a new name. They still sell telescopes and some science stuff. I was in there just before Covid hit.

So you did Motorola and then Zilog!

I had a Z80 processor system for a while too!
 
Top