Arduino - Electronics Blog

Archive for the ‘Arduino’ Category

ATtiny13 POV display: same hardware, different message


St. Patrick’s Day is coming up and I thought it’s already time to update the original Valentine’s Day POV display with a new message and make use of the second PCB I had done at BatchPCB. Also, fortunately, John “smeezekitty” (the author of the Attiny13 core used for programming it in Arduino IDE) stopped by my blog and pointed out to an issue with the original firmware, which prompted me to take another hard look at it and the result has been a saving of whopping 20 or so bytes – it was just enough to fit the word “BEER” which, as I mentioned in the original post, we did not have any space in flash left for. Well, now we do and below is the new software Read the rest of this entry »

Manually controlling bipolar stepper motor with Arduino and EasyDriver


Stepper motors are great for accurate positioning because they move in discrete steps – a feature that makes them very appropriate for CNC software control. But every once in a while you have an application where you need to press a button and rotate some kind of a jig at a preset angle or move something a preset distance if it’s a stepper-driven linear stage. So, I decided to modify an earlier Arduino sketch I wrote for testing the world’s smallest stepper motor to make it a bit more useful (and clean any bugs in the process). Keep reading to see what came out … Read the rest of this entry »

Valentine’s Day POV display using ATtiny13 and Arduino IDE

Valentine's Day Chocolates with a message!

Valentine’s Day Chocolates with a message!

There’s nothing out there that says “I love you!” quite like a box of chocolates that actually says “I love you” (or “I ❤ U” as it were). Here is a quick electronics project that takes less than 2 hours to complete and makes a nice Valentine’s Day present. It is based on what has lately become my favorite small MCU – Atmel Attiny13 – and the software was written using my favorite development environment – Arduino IDE. So, keep reading for the schematic, the software, the build pictures and a small video showing the message slightly better than a still picture can Read the rest of this entry »

ATtiny13 12-LED blinker with motion detection and scripted blinks



I can hear you screaming:”Not another LED blinker!” and yet here it is, packaged into yet another transparent Ferrero Rocher chocolate box, just like the first one. Why another ATtiny13 LED project? I needed to change the software to add a new feature and I had another box stashed away after Christmas – that alone should have been a reason enough :) Additionally, I have to admit right here that there will likely be one more post that includes an ATtiny13, LEDs and chocolates before I let it go (soon, I promise) and move onto more serious things, such as the DVD-CNC project that’s been languishing on and off my workbench for more than a year now.

That said, if you are still interested in programming ATtiny13 with the Arduino IDE to blink 12 Charlieplexed LEDs, respond to motion (shaking) and have the LED on/off sequence scripted in an orderly fashion rather than random or simply 1 through 12, then read on! Read the rest of this entry »

Atmel AVRISP MKII programmer in Ubuntu 12.04

This is a quick follow up on an eariler post describing installation of Atmel AVRISP MKII programmer on a Ubuntu Linux computer. The original post was based on Ubuntu 10.10 and several small changes have sneaked up on us during the upgrade to Ubuntu 12.04
Here are the changes: Read the rest of this entry »

MSP430 in 64-bit Ubuntu 12.04 Linux – the Arduino Way

Programming MSP430 microcontrollers in 64-bit Ubuntu 12.04 Linux

Programming MSP430 microcontrollers in 64-bit Ubuntu 12.04 Linux

I recently had a chance to take a closer look at programming a new (to me) familty of microcontrollers – MSP430 by Texas Instruments. The opportunity came courtesy of Newark, which is where the TI MSP430 Launchpad Development Board can be purchased on their Analog & Embedded Catalog website. I’ve had access to TI MSP430 development boards before but, since I ran a Linux shop here, the hurdles of using the stock Windows-based developing environment were too much for me and I never actually got to play with them and I’ve pretty much given up on TI until this opportunity came along. Much has changed since then, so keep reading if you are interested in working with MSP430 in Linux Read the rest of this entry »

Pimp Your Chocolates with Arduino IDE and ATTiny13

Way too late for the Valentine’s Day yet maybe just in time for the Mother’s Day this year, I’d like to introduce an electronics project that came about as a result of my reluctance to throw away a nice looking empty box. This year Valentine’s Day came around just about the time I was playing with ATTiny13 micros – I was setting my Arduino IDE up to be able to write code for and burn the program into smaller 8-bit AVR MCUs like ATTiny13. Once the box of chocolates has been freed of its original content by my dear wife Tanya, on the way to the trash I turned it over and realised that there’s a lot of space available inside the plastic insert. I could easily tuck a battery, an MCU and a bunch of LEDs in there for a nice blinking light effect. Read the rest of this entry »

Arduino shrunk – how to use ATtiny13 with Arduino IDE

Lots of different MCUs can be worked on using the Arduino IDE, not just the Arduino boards!

Lots of different MCUs can be worked on using the Arduino IDE, not just the Arduino boards!

Arduino IDE (Integrated Development Environment), currently in version 1.0, is a great system for programming the Arduino boards. It has an easy-to-learn intuitive interface and comes with all the necessary settings for the most common Arduino boards – Uno, Duemilanove, Nano and others based on ATmega168 and ATmega328 microcontrollers. The latest version also includes some of the most recent ATmega1280 and ATmega2560 boards.
But you wouldn’t be using all of its great capabilities if you had to switch back to a text editor every time you needed to program a smaller Atmel chip, such as ATtiny13 for example. The engines behind the Arduino IDE – AVR-GCC compiler for C and C++ and avrdude – an in-system programming software for Atmel’s AVR series of micros – are already there and capable of coding for and programming the smaller chips, we just need to add a little bit of configuration magic to the Arduino IDE to be able to switch hardware freely without leaving your favorite Integrated Development Environment. Here is how: Read the rest of this entry »

Free your Arduino code from the Arduino board

Atmel AVRISP mk II programmer is getting ready to burn some Arduino bootloader code

Atmel AVRISP mk II programmer is getting ready to burn some Arduino bootloader code

Arduino as a system is a great development tool that makes it incredibly easy for a beginner to start programming microcontrollers and for a seasoned programmer to whip up a quick code in a hurry or keep a large embedded project organised when needed. I think it is very valuable for a user-friendly development environment to have a familiar setting to work in: a familiar IDE, set of libraries and a well-known hardware configuration, all of which Arduino provides splendidly.

However, the hardware – the Arduino boards, all 150,000 variations of :) – may not necessarily work very well for every occasion. Depending on your application there may simply be no space for a 2″x2.5″ board. Additionally, there’s always the question of cost: an MCU chip and a couple of extra components that you actually need for the project may not always justify the cost of the whole Arduino board, voltage regulators, LEDs and all of the extra goodness it provides.

I set out to figure out what it’s going to take to create an MCU development environment in which the code could be developed using all the familiar Arduino tools and then transferred to a stand-alone Atmel MCU so the Arduino board could be reused for future projects, along with all the above mentioned savings. My item of particular interest was to make all this work in Ubuntu Linux – my OS of choice for the last 4 years.

The quest has been helped in no small part by Newark – an electronic components distributor – who has generously provided an Atmel AVRISP MKII programmer – an essential tool for moving the code to stand-alone MCU chips. They carry a whole line of MCU development tools for your MCU family of choice and the AVRISP is one of the most economic ways to get you started programming Atmel chips. Check them out! Read the rest of this entry »

World’s Smallest Stepper Motor with Arduino and EasyDriver


This little wonder of electromechanical engineering came from inside a laser diode sled of an HP CT10L Bluray drive I’ve opened some time ago. The device on the picture consists of several parts, all easily fitting on a dime coin: a bipolar stepper motor with lead screw, a linear stage, a lens, and even an end position sensor (I’ve yet to make use of the sensor though). The entire assembly is only 14mm x 9mm x 4mm. This post is about making this tiny motor move. Keep reading! Read the rest of this entry »

Tools

Coming soon ...

Recent Comments
  • admin: Thank you very much for sharing, Rob!
  • Rob: eLABZ, I had the same issue in Ubuntu 14.04. I found I had to make a few small adjustments to the above approach...
  • Mark: It’s kinda like an internal problem on the circuitry sir. Have done series of tests to check if the...
  • admin: Hard to tell what’s going on with your LCD – probably hasn’t been initiated or some kind of...
  • Mark: Sorry for the late reply of you’re comment too sir. Been busied for a while troubleshooting our project.
  • Mark: Yeah sir. Anyway, We will just have to reconsider the theory of those motors again because it would be asked...
  • Mark Needham: Hey mirceboy, I am using a toggle switch, SPDT center off. I will manually start/stop, or a micro...
  • Jeff R: Can you please give me some details about how to reformat the code from milliseconds to microseconds so I can...
  • admin: You would have to reformat the code to start using microseconds instead of milliseconds for the time...
  • Jeff R: Thanks for posting, this was exactly what I was looking for. I’m using the Sparkfun SM-42BYG011-25...
Meta