Jump to content

Canvassing Interest In Pic-based Arduino Platform

Recommended Posts

Prompted by a comment made by Dave Jones on the EEVBlog we are looking at producing an "Arduino" compatible hardware platform based on a PIC microcontroller (and sourceboost, naturally).


I confess to not knowing a great deal about this platform other than the fact that it's everywhere, and it is based on AVRs.


This would allow BoostC / Microchip users to play with the same "shields" (daughter boards) that are prevalent in the Arduino community while maintaining your existing code base and development environment. There may even be some interest in porting the "sketch" platform as well. At first glance it looks like BoostC would be ideal for this environment due to the sketch's C/C++ ambiguity. I'm not sure about the value of being able to use Arduino-style Wiring sketches that are already out there - is there a lot of code floating around? What would be the point of merely substituting one chip for another, along with a reasonable software effort, if all you get is what Arduino provides right now?


At the very least, having a PIC based board that takes shields, and you can plug into USB and start programming quickly has got to be a good thing. I'm in the middle of updating and moving tutorials on the PicPack library across to the new web site at Embedded Adventures and the next one is getting stuff working on real hardware. And I'm thinking, what hardware do I recommend? There's a gazillion PIC platforms of course, or even breadboarding. There's even a gazillion different models of PIC. Where Arduino really ads value, I feel, is in its "one-ness". That is, there's one Arduino (give or take). You get the hardware, you plug it in, you load up a sketch, and within about 30 seconds you're writing programs that flash leds. Then you start adding shields, building on your platform. It's a good story.


Presuming there's some interest, I'm happy to develop the hardware platform. The PicPack library gives you a lot of stuff to get going and some simple additions to be more like Arduino/Wiring would be straightforward - the nice thing about the Arduino software is it hides a lot of the stuff you need to sort out with the hardware to get going with (notice the "pin 13" in the example below). This has got to be a good thing for beginners until they decide they need the control of doing everything by hand.


Any thoughts? Any key aspects of the Arduino platform I'm missing here? Of course, we could take this in a completely different direction from Wiring etc, but I think the emphasis should be on making it easy for beginners to get started, with an easy slope to add more complexity when users are ready for it.


The classic Arduino/Wiring example:



Turns on an LED on for one second, then off for one second, repeatedly.

The circuit:
* LED connected from digital pin 13 to ground.

* Note: On most Arduino boards, there is already an LED on the board
connected to pin 13, so you don't need any extra components for this example.

Created 1 June 2005
By David Cuartielles


based on an orginal by H. Barragan for the Wiring i/o board

This example code is in the public domain.


int ledPin =  13;	// LED connected to digital pin 13

// The setup() method runs once, when the sketch starts

void setup()   {				
 // initialize the digital pin as an output:
 pinMode(ledPin, OUTPUT);	 

// the loop() method runs over and over again,
// as long as the Arduino has power

void loop()					 
 digitalWrite(ledPin, HIGH);   // set the LED on
 delay(1000);				  // wait for a second
 digitalWrite(ledPin, LOW);	// set the LED off
 delay(1000);				  // wait for a second

Link to post
Share on other sites
  • 2 weeks later...

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...