The electronicSoup Youtube channel
If I was working for a regular company, (whatever that is), developing a product, then at the end of development process I'd publish the documentation necessary to sell that end product. Maybe there'd be very little actual real documentation published, (some things have to be secret), and the majority would be guff from the marketing department. (Don't knock it that guff works!) Fortunately I'm working for my own company, and for this hair brained scheme, (Global Domination 1.0) I can document the journey, not just the destination. I can document the destination if and when I get there, but for the moment I can document the journey.
Now as you might be able to surmise the written word ain't my forte in life. So let's take the easy way out and communicate with moving pictures and spoken word. So now having said all that lets just stop typing and let the videos do the heavy lifting.
Episode 1 - Hello cinnamonBun
This was my first cinnamonBun, or the version which I thought was ready to go. That was until I was doing some contract work on a boat and encountered a NMEA 2000 (Nautical CAN Bus) based GPS system. I've mentioned it in a previous post, but just in case you missed it, the GPS system flooded the CAN Bus with the current location of the boat, stationary and tied to its mooring. It was basically the CAN Bus equivalent of a Denial Of Service Attack. So my cinnamonBun, based on a PIC24FJ256GB106, couldn't keep up with the traffic on the bus. So after this video was uploaded a redesign ensued.
In spite of that the video simply went through the creation, flashing and execution of the classic embedded "Hello World" project. Basically the first step in bringing up a new embedded system, can I get any evidence of life out of the device. So a simple circuit with one input pin and one output pin using the input pin to set the logical value of the output pin. The code couldn't be simpler:
It's possibly unfortunate that that early version of the cinnamonBun got superceded, retired or simply axed due to lack of computational power, but I've left the video in place, on Youtube, as it's the same process for the later micro-controller, and this is one step on the journey.
Episode 2 - Hello Again
And so to the dsPIC33EP256MU806 micro-controller. This little beauty is capable of up to 70 Million Instruction per Second! If that can't deal with a Garmin based Denial Of Service attack then what can? Like the previous cinnamonBun's PIC24FJ256GB106 this is a 64 pin device, so the layout of the board could remain more or less the same, and has 256KB of Program Flash. On the plus side the dsPIC33 has CAN Bus controller built into the device, whereas I had to add an SPI based CAN Bus Controller to the PIC24. That saves a bit of PCB space. After that it's going to be a case of porting various libraries of my code to the new device. I'll get to that in time.
After that the actual process of creating a MPLABX project, the code, and flashing the device is pretty much exactly the same. The only gotcha is the default configuration of Analog Input pins, which catches me out now and again. I'm getting used to that one.
So that was the first two videos, spaced months apart. Hopefully I can now build up a head of steam and become a more regular contributer.