We received a number of shipments this morning. Among the goodies we received have been:
Raspberry Pi’s:
Adafruit Pi Boxes:
We received a number of shipments this morning. Among the goodies we received have been:
Raspberry Pi’s:
Adafruit Pi Boxes:
{ 0 comments }
A customer of ours, Bart Borghuis, is using an Arduino to control a servo that controls a shutter on a microscope.
While using the servo.h he discovered that he was getting jitter on his servo. The jitter was noticeable to the point that he was not able to proceed with his project. He tried a number of workarounds to resolve the jitter issues but discovered that the best solution would be to create his own code to control the servo.
He has kindly shared this, very well documented, code with us for the benefit of anyone else that may run into the same issue.
A description of the code and operation can be found in the code sample below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
//Code example for Arduino Uno by Bart Borghuis //This program drives a servo motor using timer0 interrupts at 50kHz. //Receipt of character '0' through the serial port sets the motor in the 'closed' position //defined by motorstate0. Receipt of '1' sets the motor in the 'open' position defined by motorstate1. //storage variables boolean motorstate = 0, motorenabled=0; int ledstate, ledcount=0, ledontime=10000, ledofftime=60000; int motorcount=0, motortick=0, motorstate0=49, motorstate1=99, motormax=999; int startbyte; byte ledPin=13; void setup(){ Serial.begin(115200); //set pins as outputs pinMode(8, OUTPUT); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, HIGH); ledstate=1; ledcount=ledontime; cli();//stop interrupts //set timer0 interrupt at 2kHz TCCR0A = 0;// set entire TCCR2A register to 0 TCCR0B = 0;// same for TCCR2B TCNT0 = 0;//initialize counter value to 0 // set compare match register for 50khz increments OCR0A = 4;// = (16*10^6) / (50000*64) - 1 (must be <256) // turn on CTC mode TCCR0A |= (1 << WGM01); // Set CS11 and CS10 bits for 64 prescaler TCCR0B |= (1 << CS11) | (1 << CS10); // enable timer compare interrupt TIMSK0 |= (1 << OCIE0A); sei();//allow interrupts }//end setup void loop(){ if (Serial.available() > 0) { startbyte = Serial.read(); switch (startbyte){ case 48: motorenabled=1; digitalWrite(ledPin, LOW); motorstate=0; break; case 49: motorenabled=1; digitalWrite(ledPin, HIGH); motorstate=1; break; } } } ISR(TIMER0_COMPA_vect){ //timer0 interrupt 50kHz to drive servo motor connect to pin 8 // pulse width is 1 ms in motor state '0' and 2 ms in motor state '1' switch(motorenabled){ case 1: motorcount++; switch(motorstate){ case 0: if(motorcount>motorstate0){ digitalWrite(8,LOW); } if(motorcount>motormax){ motorcount=0; digitalWrite(8,HIGH); } break; case 1: if(motorcount>motorstate1){ digitalWrite(8,LOW); } if(motorcount>motormax){ motorcount=0; digitalWrite(8,HIGH); } break; } break; case 0: ledcount--; if(ledcount==0){ switch(ledstate){ case 0: ledstate=1; digitalWrite(ledPin, HIGH); ledcount=ledontime; break; case 1: ledstate=0; digitalWrite(ledPin, LOW); ledcount=ledofftime; break; } } } } |
{ 0 comments }
We have fulfilled our back-orders and will be making the rest available during the day.
Note these will go fast. If you missed getting one don’t worry, we will post another notification when we get our next shipment in the next few weeks.
As we have cleared our backlog – we will allow back-orders for the next quantity in the next few days.
{ 0 comments }
We have received a number of queries from customers wanting to know what they need to purchase in order to interface with CAN.
Here is a basic overview of what you may need – please feel free to send us any comments or updates.
All the systems will need an OBD-II to DB9 cable. In addition to this cable check the sections below to determine the additional hardware.
If you use an Arduino then you should get the CAN-BUS Shield.
This requires a few additional product starting with the OBD-II UART.
FTDI Breakout (if you want to connect with an FTDI cable) or Bluetooth Mate (if you wish to connect with Bluetooth).
{ 0 comments }
The Problem:
I recently had a customer ask me to suggest a product similar to Big Red Dome Push Button but to use with a 24 VAC supply.
The Solution:
I suggested that he make a simple bridge Circuit using 4 rectifier diodes a resistor a cap and a 12 V zener.
The Diodes are 1N4001 the Resistor is a 330Ohm 1/2 Watt and the zener is a 12V 1/2 Watt, the cap is 100uF 60V.
This circuit current is limited by the 330 resistor to ~36ma if you require more current drop the resistance and switch out the zener to a 12V 1W or larger.
To get the maximum current for the circuit we take the watt rating of the zener over voltage so at 1W / 12V = 83ma.
Using Ohms Law we calculate the required value of the resistor as the voltage drop over current = 24-12/83ma = 144 Ohms.
Parts List for this project:
{ 0 comments }
Before you use the SchmartBoard for your SMT device be sure to follow the following guidelines:
Make sure that you have an variable temperature iron powered by at least 40 Watts. You will need a consistent temperature of 750 degrees or so to melt the lead free solder on a SchmartBoard|ez board. Our 50W Soldering Iron should me more than sufficient.
Use a water soluble solder flux. No flux or a sticky flux will not work well for you. Make sure your soldering iron tip is smaller than the pitch that you are soldering. If you have a .5mm pitched part, you will need a tip of .4mm or smaller.
If you follow the instructions, you should have a pleasant experience with our boards. As with any project, make sure you have the correct tool.
You should use tip tinner to keep your tips in good condition after soldering every few SchmartBoards.
{ 0 comments }
Get 3.3V or 5V from a AA battery. The boost power supply converts your 1.2V AA rechargeable, 1.5V AA alkaline or 3.6V Lithium to either a 3.3V or 5V supply.
This product comes in 2 variations 5 volt or 3.3 volt.
V output | 1.2V | 1.5V | 3.6V |
3.3V | 75ma | 100ma | n/a |
5.0v | 50ma | 70ma | 175ma |
The switching frequency is 970 KHz.
3.3V Adapter
Add to cart |
5V Adapter
Add to cart |
{ 0 comments }
Now that you have your 3pi robot kit you should probably read the user’s guide, it contains a detailed introduction to the device and its systems.
Once you have read the user’s guide and tried out the tried out the demo program its
time to get started programming. There are a couple of options depending on your choice
of programming environment.
Here are some introductory guided projects to help you become familiar with the
capabilities of your 3pi.
Other resources for your 3pi.
{ 0 comments }
Our goal at is to show you, in the least technical way possible, how to create and play with electronics. Whether your idea is an automatic plant watering system, an autonomous vehicle, or laser harp, this guide will show you the necessary first steps to get started in the wonderful world of embedded electronics!
Arduino is an open-source electronics platform based on flexible, easy-to-use hardware and software.
The Arduino Main Board or Arduino Duemilanove is the primary piece of hardware and contains all of the components necessary to begin a wide array of projects. You attach various electronic devices to the Arduino – usually input and outputs. Read a sensor, move a motor, and you get blender defender. With so many options like this, who wouldn’t want to play with electronics?!
The Arduino IDE (Integrated Development Environment) is the primary piece of software that enables you to write easy to use code in an intuitive computer program.The language is straight forward to learn, with a huge volume of example code available free on the internet.
In this guide, you will become familiar with writing code that blinks a LED and loading the code using the free software from Arduino. Although, blinking an LED might sound trivial, it is an extremely important concept in digital electronics and is the definitive stepping stone for greater projects. Think about it this way: blinking an LED could signify when you have made a connection to the internet or even when you receive a radio signal from deep space.
There are really only three pieces of hardware that we will use in this guide. Make sure you have these three items before proceeding.
The following is the step-by-step procedure for starting your first Arduino project. Good luck!
Why are we sending you to Arduino’s website?
Arduino maintains their instructional pages to correspond with the most recent hardware and Arduino IDE software changes, so redirecting you to their content is the best way to ensure you are using the most up to date materials.
One more thing…if you get to a road block, check out Arduino’s troubleshooting page and if that doesn’t work, feel free to contact us!
{ 0 comments }
Testing the board showed just one short which was easily rectified by a short application of a soldering iron.
The processor is running and the Bluetooth pairs with all devices that we are using to test with.
We will refine the firmware and our apps for different devices for a week or so. After this we will start the first phase of alpha testing.
{ 0 comments }