[DIS] Any available college-level courses out there on Programming MCUs?

Go To Last Post
99 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So, to start off, I am aware of the growing youtube tutorial base, a lot of which are extremely detailed and well documented and cited. I'm keeping them in mind but for the sake argument I'd like to exclude youtube/vimeo-website based tutorial videos and private organized "tutorial courses" including to leave out written documentation hosted by Atmel on their Atmel Studio and Controllers, as well as any written tutorials out there like Instructables. Before I'm going to jump into using all those resources, I just wanted to ask in case this exists...

 

Are there any purchase-able College Level courses on understanding, programming and building circuits around the Atmel 32 bit MCUs. I come from a heavily artistic side: music composing, drawing, design, game development etc. I wen't to college for Concept Art when I discovered that I had an interest to create devices with micro-controllers. The one thing I noticed is that subjects like Art and Game Development have a giant video tutorial base on tutoring sites like CGSociety, Lynda.com, Udemy etc. These aren't just courses made to explain common grounds, but most of these have a course plan that cover nearly everything there is to a certain trade, some of which even offer a "diploma-esk" type of certification (not that THAT is a selling point to me). The main subject is that it's extremely board and is, for all intents, a course on a trade, addressing majority of aspects and sides of it. Nearly all of these purchase-able courses are taught by college professors and industry veterans, most of them address common questions asked by students getting in their field too so it makes the course easy to take in from a students perspective. Last year I was about to enroll into a local college for "Information Technology" type of a program which, I thought, would teach me everything I need until I looked at the course outline with things like, "Creating and Managing a Corporate Network" and "Programming a Linux OS" when I realized my money would have been wasted on things I have no interest in and it would barely touch on the subject I was actually interested in. Now I know that those programs "open career opportunities" but that's really not my goal. 

 

So any video courses that take me through the ropes of setting up and programming 32 bit Atmel controllers?

 

Thanks everyone for the input.

Last Edited: Wed. Aug 30, 2017 - 08:34 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

That skills required work for just about any processor. So anything that teaches you the fundamentals of programming is going to be a benefit. There's the Arduino ecosystem that encompases many 32bit microcontrollers including Atmel. There's also MBED which is an ARM initiative. Hopefully thats given you a few things to Google.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, I'm actually coming from the Arduino environment. In fact most of my projects have been based on using Arduino bootloader and it's simplified programming language. I also think that while Arduino boot-loader is fantastic, and makes getting into hardware prototyping and development a cakewalk in many cases, I feel that I'm starting to get into subjects (like polyphonic audio playback, and audio editing and processing) that require more robust and powerful platforms like the 32bit MCUs that are not supported by the arduino IDE (which works in conjunction with he arduino bootloader), as well as will require more granular control of the controller that both Arduino IDE, bootloader and programming language would simply not provide due to their inherent selling point of simplifying the process of coding. 

 

There were some discussions of Pros and Cons of the Arduino IDE and boot-loader, I think It's about time I moved onto the direct programming with the Atmel studio. It does make programming atmel products so much easier, doesn't it?: No need to flashing bootloaders, no delay at start-up, , No need to flip the fuses for making the controller compatible with the Arduino ISPs, No need to edit the Arduino IDE configuration files to match ip, and the biggest advantage (as pointed in one of the discussions) is knowing just what is going on with every function where as the Arduino programming language may execute multiple native functions in a code for one arduino IDE function. After all the Arduino bootloader is a sort of translator of the simplified Arduino code into the base controller code

Last Edited: Wed. Aug 30, 2017 - 05:47 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Arduino is not a simplified language -it is C++ with a bunch of library code to do common things. The IDE automates the build process so it becomes a button press. You can bypass the Arduino libraries if you want - simply don't call them and write your own. The Arduino ones have been tested by many and are suitable for most tasks.
Arduino supports a number of 32bit cpus. The concept of the bootloader does not necessarily extend the the 32 bit micros as most of the boards have built in swd and debug hardware that loads the code. As far as you're concerned, you press the button and the code magically gets loaded onto the chip. There's Arduino support for a number of Atmel, STM32, XMC, TI Tiva and more boards.

You've got the wrong idea of the role of the bootloader - it is just a means of getting the code via serial into the flash. Nothing more. Apart from that, you don't need the bootloader.

Last Edited: Wed. Aug 30, 2017 - 07:01 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-10x is pretty good.  Uses the TI ARM Launchpad, which is comparable to Arduino Due in power.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ah, I see. One thing that bugs me (and I've experienced this at some point) is that once a project gets a certain size, using many libraries made by others starts getting in the way of performance of individual libraries that depend on the same elements. Like multiple libraries that use interrupts, for instance. There's even an Arduino library made for playing back audio that specifically stated on it's GitHub that it would slow down the performance of other libraries using interrupts. Then you'd have to dive into the libraries yourself and try to make sense of what the developer was doing. Also a lot of libraries would include code for multiple boards, a wide variety in some cases, which would make it somewhat difficult to make sense of what is going on and make the library much bigger than your particular board will be using. (Not sure if the IDEs load all of the code and just enables the section of your specific board or if the libraries have certain commands to tell the IDE to only load the code specific to the board you are using) That sort of stuff I believe is why one would opt in for getting into coding the functions themselves.

Last Edited: Wed. Aug 30, 2017 - 07:13 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The compiler is pretty agressive at removing code it doesn't use and consider the compiler is avr-gcc or arm-gcc, there's no advantage here going to Atmel studio - guess what compilers it uses?
There's no magic with Arduino - it puts a handy front end onto the development process to make thing one button press easy. You choose if you want their libraries or not. About the only set of functions that are performance challenged is the digital i/o for AVR. just about everything else works as fast as you could code yourself or better. So don't be fooled into thinking you can gain super performance by going to AVR studio. If the music library slows things down it's because it needs a lot of compute resources to do its job. Don't like how it works? The source code is available or write your own. Arduino doesn't stop you.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow thank you for the re-assurance. I was just about to ask "How much less versatile is the Arduino C++ version against the Atmel Studio native Programming language" but you seem to have answered that. There are so many people talking down on the Arduino language when it comes to projects considered for commercial delivery on a mass production scale. All of you folks seem to strongly re-assure to stick to the Arduino IDE and bootloader even or my 32 bit ARM demanding applications so I'll stick around with that for the time being. Thank you.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I said in my other post (and many times before), a big part of the pain with arduino comes from the very bad / limited ide. It is wonderful at making your first blinking led but they unfornutately made a bunch of big mistakes in trying to make it simpler than it could be made. PlatformIO on the other hand seems to be right on the edge. Making it as simple as it can be made, but not simpler. Never forget that uC's in itself are pretty complex devices.

When dealing with 8-bit AVR you are almost certainly going to mess with fuses.

Compare that with (for example STM32) where the uC always starts up from some "backup" internal RC oscillator and then you configure the main X-tal oscillator and PLL and dividers to distribute different clocks to different parts of the uC. Not simple, but it is handled with library functions.

 

I'm also a bit confused by your overal goal here. First you dismiss a lot of opportunities an then you ask for advise on those same opportunities ???

What is your role? Are you teaching yourself, or are you a teacher designing coarces?

 

Recently I saw: Kate Gregory "Stop Teaching C"
https://www.youtube.com/watch?v=...

and it was wonderfull. I have to see more of her video's.

This particular video is of a presentation from her to teachers on how to design coarses in C++.

What to teach, what not to teach (to beginners), In what order, and why.

Really wonderfull stuff.

 

I'm also a bit confused as to your experience level.

"arduino" is not a simplified programming language. In fact I think that C++ is one of the most complex programming languages there is, but that is also it's strenght.

Once you read up on C++11 and C++14 you know what I mean.

 

I see you dived a bit into the underlying libraries for Arduino. Good for you. Shame on arduino for trying to hide that.

But it is just the level of complexity you are going to have to deal with if you want to do some "serious" programming.

uC's are very complex and dumb at the same time. The intelligense comes from the software and needs lots and lots of small steps to make it do anything usefull.

Unless you take a "high level" language, but then you loose a lot of controll.

 

A good course in electronics engineering will take several years of study.

So does a good course in programming.

But any hobbyist can dabble in both in a few days of spare time.

 

M.Thatch wrote:
After all the Arduino bootloader is a sort of translator of the simplified Arduino code into the base controller code

???

 

My first though for a specific "College level" cource was code academy.

https://www.codecademy.com/

but they do not have courses in C++ apparently.

 

You may have a swab at Open University.

https://duckduckgo.com/html?q=op...

 

You are probably looking for a course in embedded C++

Using the "object oriented" approach effectively, designing the structure your program runs on is a whole course in itself, and it is largely independent of the programming language you use.

If you want to do more than "casual programming" it is definately worth to do some quality studying in this direction.

 

As an artist you are probably familiar with processing:

https://www.processing.org/

As I believe it is the "big brother" of wiring / arduino stuff. More oriented at manipulating audio and video on more powerfull processors (and combining that with external hardware & user interaction).

 

also note that for "arduino" there are a lot of "plugins" which you have to download and install separately.

With PlatformIO you just select what you want and confugre it (Whether it's an arduino based target or not).

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Wed. Aug 30, 2017 - 07:53 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
All of you folks seem to strongly re-assure to stick to the Arduino IDE and bootloader even or my 32 bit ARM demanding applications so I'll stick around with that for the time being.
  I do not agree.

With "arduino" you have to make the distinction between the "ide" (which is a piece of java crap in my opinion), the arduino boards (form factor with the odd connector placement), the arduino "language" setup() loop() and whatever they came up with. and the arduinio "infrastructure" website, downloadable libariers, forum, etc.

 

So Again (last time I hope)

Give PlatformIO a try. It can do everything that "arduino" can, but does it a lot better. And it can also do a lot more.

 

Very last:

I think there is so much information in these 2 threads for you that you've forgotten most or haven't even absobed it.

Take some time and read it again after a few days.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 Lots of useful resources, I shall look them over in the morning. 

 

To clarify, I'm just a sole entrepreneur who's interested in creating some commercial music performance hardware as music writing is it's been my main interest for the past 9 years. I've just gotten a hang of reading and interpreting MIDI data input and using that for some personal projects as well as some specialized MIDI sequencing tools. The certifications I'd need to get to make legal sales of these devices are mind boggling alone. Now I'm looking to get more advanced like audio playback and editing, in the same way OP-1 is versatile which means I need to move on to something more complex like the ARM architecture based controllers (which I had an impression I'd need to also move on from Arduino to Atmel Studio).

 

Also I see a lot of "Lean Basic C++" answers to my questions. I'm more and more convinced that this is the route I need to go. My main concern was that, for example, with video game development in Unreal Engine, which uses C++ with Visual Studio, there are plenty of "Learn C++" Courses out there which usually cover just that: C++ basics. And when you start trying to develop the actual game in Unreal Engine with C++ in Visual Studio, you quickly realize that there is a heap of functions that are specific to Unreal Engine, functions that weren't covered in all these "learn C++" course. So, I am looking at this table of Arduino Functions and I get an impression that there's got to be so much more to the language that what's on there, and that's where my my discouragement of whether Arduino programming language can be used to achieve what I need to achieve comes from. I realize there's probably a heap of misinformation and misunderstanding in the above analogy though, as you guys have shed a new light onto the whole platform for me.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Schematic, pinout & more of "blue pill"

http://wiki.stm32duino.com/index...

 

Instead of a "basic C++ course" a course in "embedded C++" is more suited for you.

Maybe this:

https://processing.org/tutorials/

has some good info for you (but processing runs more on the more powerfull devices (Raspi, PC, Android, etc).

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Wed. Aug 30, 2017 - 08:17 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

PS:

Paulvdh wrote:

 

Very last:

I think there is so much information in these 2 threads for you that you've forgotten most or haven't even absobed it.

Take some time and read it again after a few days.

 

Yes, there is a LOT of information to take in, in one day. Plus it's the middle of the night right now. So I will go over everything once more during the following few days. 

Apologies if I have stated the same sort of question or inquire in different ways. I imagine a lot of it has become redundant. I will give the alternative a go. In face already ordered the ST link and a few STM32 boards an hour ago. Looking forward to that.

 

EDIT: Yep, blue pill. Just ordered a couple of those.

Last Edited: Wed. Aug 30, 2017 - 08:18 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I dare say the OP-1 is using something more specialised than an ARM cortex m. There is suggestion it uses a DSP device. DSP are microprocessors specifically for doing 'digital signal processing' so things like filtering and waveform generation are processed more efficiently.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
Are there any purchase-able College Level courses
The use of "college" there rather than "university" possibly suggests you are in the US? I don't know about the situation there but even back in 1981 (36 years ago) there were university (BSc Hons) courses in the UK for subjects such as "Microelectronics and Microprocessor Applications", I know, because I did one. Back then it's true that it was a bit of a "trailblazer" but this is 2017: Surely every college/university must now be offering such courses? I guess the question is to what level do you want to take this and how long do you want to invest in the process? If you are just looking for some kind of diploma and a "short" course then you might find your local adult education run evening classes in the basics.

 

I suppose your real problem is to find the source that specializes in the very particular area you are interested in. I wouldn't be surprised if there are courses very specifically about the hardware and software of MIDI in fact.

 

I'd google terms such as "university midi engineering".

 

EDIT: just tried that locally:

 

https://www.york.ac.uk/electroni...

https://www.york.ac.uk/electroni...

Last Edited: Wed. Aug 30, 2017 - 08:33 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

A friend put me onto the edx courses recently. Westy in #5 has a link. There's a number of interesting courses.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
Are there any purchase-able College Level courses 

What kind of budget are you looking at?

 

And, as clawson said, "College Level" could do with a little clarification.

 

​I've noted some training providers here: http://blog.antronics.co.uk/2011...

 

Have you tried contacting your local "hackerspace" or suchlike ... ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
The use of "college" there rather than "university" possibly suggests you are in the US?

 

Yep, I'm in Canada, however when I mentioned some of these programs offering a diploma, it was just for setting precedence just how serious these Art/CGI/Modeling/Animation Oriented online courses can get. Not necessarily what I am primarily looking to get out of them. I'm lookign for the type of course that is not just going to  "leaning C++ programming" but also be more specific with Atmel, Microchip and ARM project creation. I'm not forgetting though that if that's not something that exists, there's still plenty of open source tutorials and documentation out there from official and 3rd party sources so I think with enough dedication I can manage.    

 

Kartman wrote:
I dare say the OP-1 is using something more specialised than an ARM cortex m.

 

I'm not sure how but they've managed to keep it a secret. I'm sure this device has been opened by a number of people too, even if it's going for $900 on average. This is why I started looking at the Atmel Processors and now ended up with looking at ARM controllers. Now I'm not planning on making my own OP-1, the multiple synthesys engines alone surely will suggest DSP (Digital Signal Processing) tools. Now while things like waveform generation is more preferred to come from truly analog circuits, using sampled waveform is not out of the question but in my case I just want to start simple - playing back a short audio clip like a clap or a kick drum which you can load onto an SD card. Just want to start with that for now - small steps.

Last Edited: Wed. Aug 30, 2017 - 09:22 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
but also be more specific with Atmel, Microchip and ARM project creation.
You will be lucky to find a course that just happens to use the very chips you are interested in. For example when I did a course my CPUs of interest back then were Z80 and 6502 but the course was based around Motorola CPUs such as 6800, 6809 and 68000, oh and PDP11. But, to honest it didn't really matter - a shift or a roll or an add or a subtract are pretty universal concepts in CPU ALUs whatever the variety.

 

So don't get too hung up about what equipment you might end up using - college/university is all about exploring and learning anyway - you might find that the equipment they happen to choose to use has some features you haven't encountered before and that could prove useful - that's what learning is all about!

 

BTW search out threads here by someone called "Rolf" who has created the most amazing audio synthesis systems using Xmega CPUs

 

EDIT: well that was easier than I thought! I managed to find this quite quickly: http://www.avrfreaks.net/forum/d...

Last Edited: Wed. Aug 30, 2017 - 09:37 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
Recently I saw: Kate Gregory "Stop Teaching C" https://www.youtube.com/watch?v=...

Thank you for that link! (Have watched the first ten minutes, and have nodded most of the time. E.g. one of the things I do when evaluating a C++ book is to see in what chapter classes are introduced. Also have blushed a few times, since I am also guilty as charged.)

Happy 75th anniversary to one of the best movies ever made! Rick Blane [Bogart]: "Of all the gin joints, in all the towns, in all the world, she walks into mine."

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
BTW search out threads here by someone called "Rolf" who has created the most amazing audio synthesis systems using Xmega CPUs

 

Ooh, duly noted.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:

but also be more specific with Atmel, Microchip and ARM project creation.

clawson wrote:
You will be lucky to find a course that just happens to use the very chips you are interested in.

Indeed.

 

And, right back in #2:

Kartman wrote:
That skills required work for just about any processor. So anything that teaches you the fundamentals of programming is going to be a benefit. 

 

If you wanted to learn carpentry, you wouldn't say, "I want a course that uses the Stanley STA515288 saw" would you?

You'd want a course that taught you the skills to use & select appropriate tools for he job at hand.

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
If you wanted to learn carpentry, you wouldn't say, "I want a course that uses the Stanley STA515288 saw" would you?

 

Valid point, but coincidentally, most of the tutorials I've been finding exactly teach  "I want a course that uses the Stanley STA515288 saw" instead of  "skills to use & select appropriate tools for he job at hand." Just my luck, or maybe I'm just bad at finding proper educational material.

 

PS. I found a forum post where someone reverse engineered the OP-1 firmware file trying to create custom firmware for it, looks like they got the CPU used in it, now to find an matching controller from Atmel or other:

The OP-1 works with a BF-524 as main CPU. That is a "BlackFin" DSP chip made by Analog Devices. It is also used in digital storage oscilloscopes because of its DSP capabilities.

Last Edited: Wed. Aug 30, 2017 - 09:55 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When I was in Japan last year, I got this book/board:

https://www.marutsu.co.jp/pc/i/4...

It's all in Japanese, but the code is in C and there is some interesting audio projects in there.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
Ooh, duly noted.
Did you miss my edit? The link is:

http://www.avrfreaks.net/forum/d...

 

That has to be seen to be believed!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
now to find an matching controller from Atmel or other

Why not just use that one?

 

Clearly it can do what you require!

 

But, again, you are approaching this from the wrong end: http://www.avrfreaks.net/comment...

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Did you miss my edit? The link is:

 

Yep, got the link. 

 

awneil wrote:
But, again, you are approaching this from the wrong end:

 

Well to be honest, I probably am approaching it from the wrong end. I think I'd have to identify what I need to achieve and then find what controllers offer what I need to do. The problem is that I come from the experience of making most of my projects with the Atmega328. Nearly thinking it's a platform for anything and everything. I think a lot of the projects made by other people showing off amazing functionality, much like clawson mentioned in his link, made me believe that. Anyways. I think the STM32F103C8T6 is what I need to look at right now.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
 I'd have to identify what I need to achieve and then find what controllers offer what I need to do

Absolutely:

 

  • Goals first
     
  • Then design to meet those goals
     
  • Then - and only then - start worrying about implementation details.

 

. The problem is that I come from the experience of making most of my projects with the Atmega328

Yes -  "when the only tool you have is a hammer, every problem looks like a nail"

 

I think the STM32F103C8T6 is what I need to look at right now

D'oh! There you go again!!

 

Whatever makes you think that?

 

You've already established what the type of product you're trying to emulate uses - and that is in a whole different league to a Cortx-M3 !!

 

surprise

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
D'oh! There you go again!!   Whatever makes you think that?

 

I had this whole response to that actually but here. I'll have the use the spaghetti analogy from the other thread again:

 

How do you know what pasta type do you prefer the most?: Spaghetti, Fusilli or Rogatoni? Well you'd have to taste all 3 in order to find out which one you like the most.

 

In my case I haven't tasted any of them. So I need to get a feel for them before I can even decide which one would suit me best. I don't have a feel of what is the maximum performance I can squeeze out of an STM32 vs some higher Tier ARM controller. You see where I'm having trouble? You guys can come up with a proper pick because you've got this amazing experience of dealing with a variety of controllers, you know how much each can handle. 

 

So When I said "I think the STM32F103C8T6 is what I need to look at right now" I don't mean that it's the final decision of what I need for this project, I mean it's what I need to start getting a feel for what the 32 bit ARM processors are capable of. Getting a feel for the maximum I can squeeze out of the resources they offer. Get a feel for it to use it as a base of comparison of other, higher tier controllers. Does that make sense? Since I don't think I can use the Atmega328 as a base for comparison here.

Last Edited: Wed. Aug 30, 2017 - 11:08 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
I'm just a sole entrepreneur 

​As the entrepreneur, you need to see the Big Picture of the business; you need to be careful not get bogged-down in the minutiae of processor choice...

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

M.Thatch wrote:
STM32F103C8T6
What on earth made you pick that. Just a look at this:

rings alarm bells. It looks like its intended for in-car automotive applications so what makes it a good choice for audio? Also the max speed is 72MHz and it's only Cortex M3 not M4 ??

If you insist that the micro has to be an STM series chip (why?) then wouldn't the F4 discovery be a better choice? For a long time it was the most powerful ARM dev board with a debugger around the $10 level:

 

http://www.st.com/en/evaluation-...

 

That has a STM32F407VGT6 with 1MB of flash and a whopping 192K of SRAM. The CPU has the floating point extensions and it runs at 168MHz. I'd say that was much more suited for audio processing.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

See #44 in the other thread on the pasta analogy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:

M.Thatch wrote:

I'm just a sole entrepreneur 

 

 

​As the entrepreneur, you need to see the Big Picture of the business; you need to be careful not get bogged-down in the minutiae of processor choice...

 

 

 

You know, you are absolutely correct on this. Only problem is that, since I am the sole entrepreneur, I can speculate and analyze the approach of the Big Picture of the Business and I still won't know what functions I need to type in the IDE to do what I need to do. So I want to learn the technical side first.

 

clawson wrote:
What on earth made you pick that. Just a look at this:
 

 

The STM32F103C8T6 was refereed to as the Blue Pill and was referenced several times in this thread. It also costs a $1,60 so it's a good starting point. And that's ALL I'm looking for right now..  a starting point. Small steps. You can see now where not having experience working with a variety of boards has lead me to come up with very few choices for an appropriate controller. There may be a perfect controller for just my need, I wouldn't know until I actually found out about it.

Last Edited: Wed. Aug 30, 2017 - 11:36 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
wouldn't the F4 discovery be a better choice?

Absolutely.

 

clawson wrote:
The CPU has the floating point extensions and it runs at 168MHz. I'd say that was much more suited for audio processing.

Indeed - plus:

ST wrote:
It also implements a full set of DSP instructions

 

and, IIRC, ST have a set of Audio libraries for it ...

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
clawson wrote: wouldn't the F4 discovery be a better choice? Absolutely.

 

Coincidentally I came across this at some point when looking into DSP. Good thing I kept that tab open: 

 

http://www.st.com/content/ccc/re...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I just did a bit of a google and hit this:

 

https://community.arm.com/iot/em...

 

which has a link to this:

 

https://community.arm.com/cfs-fi...

 

I think we might be able to call that "Audio Dynamite". cheeky

 

Sure a the low end it only goes as low as M4 (vague mention of M3 and, of course, M7 looks "interesting") but there's some amazing statistics in there.

 

PS this link looks good too:

 

https://community.arm.com/proces...

Last Edited: Wed. Aug 30, 2017 - 11:46 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The DSP extensions are better than nothing, but far from stunning compared to an actual DSP. Its mainly saturating arithmetic.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just ordered a couple of STM32F407ZET6 for the sake of comparison. Looks kind of familiar. reminds me of an Arduino Due.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
I just did a bit of a google and hit this:   https://community.arm.com/iot/em...  

 

Ah, see it's stuff like this that is absolute gold in making sense of all this for a beginner with ARM processors.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
]

The DSP extensions are better than nothing,

 

[/quote]

[/quote]

 

True - but the previously-mentioned Cortex-M3 just has nothing.

 

EDIT

 

No idea what's up with the quotes here!

 

Last Edited: Wed. Aug 30, 2017 - 12:00 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:
since I am the sole entrepreneur, I can speculate and analyze the approach of the Big Picture of the Business and I still won't know what functions I need to type in the IDE to do what I need to do. So I want to learn the technical side first.

When the OP-1 was mentioned, I googled it and found: https://en.wikipedia.org/wiki/Teenage_Engineering_OP-1

 

Wikipedia wrote:
Teenage Engineering was founded in 2005 by Jesper Kouthoofd and David Mollerstedt. The OP-1 is the first product developed by the company.[1] At the time, the team consisted of nine engineers and software developers.[2] Following an announcement at Frankfurt Musikmesse in 2009, they presented a prototype of the OP-1 at the 2010 NAMM Show in Anaheim, and it was released in the following year

 

https://en.wikipedia.org/wiki/Te...

So, with a team of nine engineers & developers - who, presumably, were already suitably experienced - it took them 5 years to get to the point of a presentable prototype.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:

Kartman wrote:
The DSP extensions are better than nothing, [/quote]

True - but the previously-mentioned Cortex-M3 just has nothing.

 

Heck even the Atmega328 had nothing and they managed to make it play samples with a makeshift resistor array for a parallel DAC.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
So, with a team of nine engineers & developers - who, presumably, were already suitably experienced - it took them 5 years to get to the point of a presentable prototype.

 

Yep. I'm trying to achieve the playing of a sample from an sd card, which is about... 0.2% of everthing an OP-1 can do. If I can achieve that much at least, I can call it a lesson learned.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Andy the OP-1 is the "pinnacle" of teenage Engineering's achievements. They arrived there after working their way through their "pocket operators":

 

https://www.teenageengineering.c...

 

(that range seems to grow each time I look at their web site). So I have a feeling they had things available long before OP-1

 

Every Christmas I ask myself if I should get Santa to throw in one or two of the pocket operators. Perhaps I should bear this in mind again for this year. My one argument against is "what would you actually use it for after the first couple of weeks of play time?". Then again, like a PS4 game or something (about the same cost) maybe it is just those first 20..30 hours of "fun" you are paying for ?

 

BTW I don't know whether I love or hate their website design. It has that very annoying "web 2.0" look but on the other hand it is very slick and professional looking at the same time!

 

EDIT: using the way back when machine:

 

https://web.archive.org/web/2010...

 

It seems I am wrong - OP-1 was shown there in Nov 2010. No sign of the pocket operators there - so clearly that was a later idea.

Last Edited: Wed. Aug 30, 2017 - 12:06 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm a little lost here.  What do the merits of various ST models to do audio, along with links to "nice" projects, have to do with AVRfreaks and Compilers and General Programming?  Even the original title and post. Off-topic, maybe?  General Electronics?

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

M.Thatch wrote:

clawson wrote:

possibly suggests you are in the US?

Yep, I'm in Canada

Ouch.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"Read a lot.  Write a lot."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
I'm a little lost here.  What do the merits of various ST models to do audio, along with links to "nice" projects, have to do with AVRfreaks and Compilers and General Programming?  Even the original title and post. Off-topic, maybe?  General Electronics?

 

The subject was actually moved by someone, it was originally in tutorials category under discussions. It started as a legitimate request for any available courses, after a while it has sort of merged into the same subject as the other thread.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Alright, enough of hardware talk, let's get this thread back on the rails. Besides the above mentioned subjects and links. Are there possibly any resources of similar projects that would go over the general code of subjects like:

 

> Accessing SD card storage,

> Loading an audio file,

> Playing the file back over a serial DAC iC. 

 

Stuff the that sort. Keep in mind I still have yet to go over all the links collected over the two threads yesterday. Just posting this in case there's anything else. I'm already looking int PlatformIO. Now, Whenever I was looking for some tutorials or code samples for an Arduino project, I'd just google "Serial Communication Arduino" And that would, 98% of the time direct me to some resource on the Arduino Wiki of Site with a tutorial and explanation, maybe even a circuit. Now sure about PlatformIO since it's just and IDE.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

  Please clarify for me(us) what you would mean by " The certifications I'd need to get to make legal sales of these devices are mind boggling alone. "

  What certifications would anyone need to make MIDI software?

 

  At the risk of sounding less than serious, I believe that you should forget about finding any formal education in mail-order/take-out/internet-based study format for anything relevant or modern concerning microprocessors/microcontrollers.  The vast array of mediocre YouTube home-made tutorials actually is the best place to learn about this stuff.  However since most of them are either too slow or too ineptly made, I suggest getting several computer laptops and watching several of the YouTube tutorials on the same subject all at the same time.  That way you can monitor the dull ones just in passing while keeping an ear open for any new and interesting topic that the tutorial maker might be making.   You may be able to do this with one laptop by opening several running applications of Monzilla and viewing a different YouTube tutorial on each screen window. 

 

Generally Canadians and Europeans have a higher regard for formal education than people do in the USA.  With most students graduating in the USA with $100,000+ in high-interest student debt, the general nature of the Education/University as little more than a massive rip-off Ponzi scheme is somewhat easier to see here.  It may seem ridiculous at the present to suggest that a YouTube video tutorial education is more relevant and actually superior to a technical university formal education, but it appears that things are actually going in this exact direction.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Simonetta wrote:
  Please clarify for me(us) what you would mean by " The certifications I'd need to get to make legal sales of these devices are mind boggling alone. "   What certifications would anyone need to make MIDI software?

 

MIDI hardware*