Simple Analog Synth Brad Ormand

2016.01.22 – ARM Cortex M4F System Running Great

There’s so much going on in my research and experiments, it’s just hard to explain everything right now.  But, in a nutshell, I have been patiently (but consistently) ramping up knowledge of building some awesome applications for the ARM Cortex M4 – both hardware and software.  I have a lot of audio processing, lighting, and graphics ideas to start on so my first step is to become well-versed in their operation.

In the last month or so, I have been drawing faces, drawing UI, painting, making headway on the ARM stuff, woodcarving, working on music, running over my budget for the new year (like multiple times with complicated, categorical spreadsheets), doing some behavior modification (like stopping drinking sodas and exercise regularly and others), working on this site, and so much more that I don’t write about.  Sometimes, it does seem like I have too many things going on, but like I say – “I just follow my interest” – and, where it leads, that’s where I go- just enjoying life as it comes, working with what I have.  I definitely try to wisely balance it all by not getting into “comfort-only” scenarios, like spending gobs of time on stuff that doesn’t require any hard thinking or sweat from the brow.  Rather, all of my “hobbies” require actual work and are investments in my future and have the additional benefit of brightening my days when I do them.  The fulfillment factor is high.  That’s what I’m feeling right now.  But, I also have to take it one step at a time as to not get burned out – going for a good balance.  It’s a great start to the new year.

// A R M

As for the ARM stuff, though…  Lately, I have been deeply involved in trying to find a great toolchain and chipset that would work well with Mac OS X and my limited PCB fab opportunities here.  I heavily explored the Atmel SAM4S for a while, and then the Silicon Labs EFM32 (I do like Simplicity Studio), and even experimented more with PIC24’s and PIC32’s (I like MPLABX, too), but I have been heavily preferring the NXP / Freescale Kinetis K series Cortex chips and their KDS (surprised, but happy about their merger 🙂 ).  I have everything I need to program and debug them,  and I think Freescale and NXP have a lot of support around their products these days.

ARM Breadboard Circuit 1 Brad Ormand

And, whichever ARM Cortex M4F I choose, I feel future-safety coming off this because of the CMSIS rallying and the ARM standards and it’s growth.  And, the IoT revolution is really just beginning, and I want on the train, and I’m digging my own tunnel with these research shovels.  This is certainly a new career path for me, but as I am already “dug in” to, and known, in the software industry I am currently employed in, I will continue that for a few more years.  It’s stable.  But, as I get more and more skilled at producing hit ARM apps with CMSIS, C/C++, and assembly, and as I refine my architecture ideas (both HW+SW), I’ll be closer to being able to switch my day-to-day doings over to full time by about 2020, I believe.

// G O O D _ M I L E S T O N E

So, that’s what I’m thinking for that…  It was a huge milestone to get the Kinetis rolling with some of my former code written for the PIC24.  I ported some stuff over and after a few nights, I finally got it rolling!  It was really nice to see it running as expected.  Many things are different – interrupts, 32-bit vs 16-bit, registers, SysTick, NVIC, etc., so being able to rely on this setup as my “go-to” platform gives me a lot of leeway to design stuff from now on.  It’s huge because it finally allows me to have a string of product design and code architecture sessions over the next months that won’t be interrupted by changing platforms or technical difficulties.

Also, I’m using the Segger J-Link now with a bare, exposed, Kinetis K22 ARM LQFP 64 chip that I soldered to a little plain break-out board (with filter caps and custom programming header and stuff).  I’m going direct to bare chip without a dev kit, which was what one of my requirements were all along to getting this train started.  I wanna design the board, power, regulation, routing, logic levels, inverters, amplification, communication, interfacing, headers, electro-mechanicals, etc. – the entire system.  Cuz, I think that stuff is fun, too.  More work, but I wouldn’t wanna give up that phase.  And, so I’m saying, that now that I’ve got that innovation complete with something stable in the lab, I feel like I have a platform to jump off of to design an endless amount of other applications, unrestrained.  But, boy did it take a few months of setup time and sifting through the cruft of what would work best for me and my setup.  Now, all good.

// T H E   _  F U T U R E

Simple Analog Synth Brad Ormand

I think, first, I’ll get the previous project I wrote about last month all set up with this new “drive train” and then move on back to the FFT application I developed last year, perhaps with my DisplayTech color TFT with cap touch.  Maybe a pinch zoom for FFT window resolution?  Maybe a custom, level-switchable analog front end?  Maybe build a touch, animated GUI lib to apply to all my new designs.   Maybe a digital version of my old “Audio Tool” with selectable synthesis?  Who knows..  I’m ready to get things going and move on though.  Seems like I just got to the point to where I can finally get to the product design phase.  Ready to go.