I can’t write to my AT32UC3A3 using my STK600 and AVR Dragon via JTAG! What do I do?!
My adventure in troubleshooting Atmel programmers/debuggers
I have been working on a prototype for an audio hub type device for my Ford F-150. The bluetooth connectivity is unreliable:
- Making a connection is difficult
- Connections don’t always stick
- Sometimes there is a strange behavior where the audio will speed up in short bursts
Anyway, I’ve been wanting to create a device that will connect to my phone via bluetooth (reliably) as well as serve up mp3 files from an SD card. I may go into more detail about this later, but that is not what I am writing about today.
I couldn’t earn a brown belt, so I made one.
Please subscribe and share this video. Thanks!
I have been trying to learn AVR assembly for the past few weeks. Things are coming along, but it is tough to remember all of the 3 and 4 letter instructions and which registers they can work with. Here is part of an example project, which was really a series of exercises that I worked on through out the chapter. I’ve been reading a book from 2002 called AVR: An Introductory Course. While the reviews for this book haven’t been great, I’ve found it to be a reasonable book for learning. I’m sure it is outdated but I think much of it still applies.
Here is what I came up with for the first part of the Counter project from chapter 2.
* Created: 12/25/2013 12:23:58 PM
* Author: jjveleber
.include "m328pdef.inc"; Import atmega328p file
.def tmp = r16 ; rename working register
.def counter = r17 ; rename counter register
; Start of program:
clr counter ; clear counter
ldi tmp, 0b00000000 ; Set I/O on PortB
out DDRB, tmp ;
ldi tmp, 0b00000001 ; Set I/O on PortD
out DDRD, tmp ;
ldi tmp, 0b00000000 ; Set Pullups on PortB
out PortB, tmp ;
ldi tmp, 0b00000001 ; Set Pullups on PortD
out PortD, tmp ;
; Setup 7 segment codes
ldi r20, 0b01111110 ; 0
ldi r21, 0b00110000 ; 1
ldi r22, 0b01101101 ; 2
ldi r23, 0b01111001 ; 3
ldi r24, 0b00110011 ; 4
ldi r25, 0b01011011 ; 5
ldi r26, 0b01011111 ; 6
ldi r27, 0b01110000 ; 7
ldi r28, 0b01111111 ; 8
ldi r29, 0b01110011 ; 9
sbic PinD, 0 ; read push button on/off
rjmp Loop ; branch for retry if not pressed
inc counter ; increment button press counter
cpi counter, 0xA ; is counter == 10
brne PC+2 ; skip reset if counter != 10
clr counter ; reset counter
clr ZH ; Set address of Z
ldi ZL, 20 ;
add ZL, counter ; Set address offset in 7 segment codes
ld tmp, Z ; read out 7 segment code
out PortB, tmp ; display counter
rjmp Loop ; loop forever
Be warned: I am just learning so some of this may be incorrect. It is fun to learn new things. Don’t you think?
Citadel r1 is being printed and will be ready for assembly in the next few weeks. I am very excited to assemble and see this thing working. I decided to use OSH Park after listening to @Laen on The Amp Hour podcast. I hope it pays off. Time will tell.
Building a Light Box for Amazon Coins Launch Poster
…and so begins the light box quest
Initial set of materials
Here are the initial set of materials used to build the light box.
||1" x 4" x 8' Poplar board
||1" x 1" x 6' aluminum angle
||3' x 4' x 1/8" sheet masonite
||2' x 3' x 0.08" acrylic
||2' x 15' UV treatment sheet
||UV treatment application kit
||1-5/8" drywall screws (Box)
||White spray paint (these didn't work, at all) (Cans)
||4oz Gorrila glue
top, bottom, left, & right sides as well as the top and bottom braces
The first task is to build a frame. I cut out the top, bottom, left and right sides as well as the top and bottom braces. I needed to account for the 3/8″ cutout needed for the 2′ x 3′ acrylic sheets and poster. The sides ended up being 36-3/4″ and the top and bottom cuts were 23-1/4″. The short lengths of the top and bottom boards is because I am using butt-joints and the side boards are 3/4″ each.
(board thickness * 2) + bottom|top cut – (single side poster cutout * 2) = 24″ ÷ 12″ = 2′
(0.75″ * 2 ) + 23.25″ – (0.375″ * 2) = 24″ ÷ 12″ = 2′
side cut – (single side poster cutout * 2) =36″ ÷ 12″ = 3′
36.75″ – (0.375″ * 2) = 36″ ÷ 12″ = 3′
Marking dado for a brace
After the wall of the box were cut I moved on to cutting dadoes for the braces. I marked each dado to start 1″ from the end. This left a small gap between the corresponding top and bottom wall boards. In hindsight I think I would make these flush with the wall boards. It would have make fitting the wall boards much easier.
Cutting said dado
I used a band saw to cut the dadoes. I could have used a jigsaw, but I felt like I had more control with the band saw and could make smoother cuts than with the jigsaw.
Dadoes cut, braces in place
I then took the braces, along with the walls, and put them all together to see if I had something viable or if I would need to head back to the hardware store for more supplies. Everything seemed to line up, so I continued on.
Here is a book I just came across. It looks promising. John Boxall seems to have the book printed out on his website as well, complete with code and videos. Awesome! The book is a pretty great deal ($17.97+$5.60 shipping for me) with the 40% discount for using discount code: BLINKYTHINGS
Just so it is clear, I have nothing to do with tronixstuff, but I do enjoy the blog. Cool stuff!
Over the last few years I’ve been writing a few Arduino tutorials, and during this time many people have mentioned that I should write a book. And now thanks to the team from No Starch Press this recommendation has morphed into my new book – “Arduino Workshop“
—t r o n i x s t u f f
UPDATE: John mentioned, “…the book is different to the tutorials on the website and is a separate entity.” Even better! Thanks John.
Here is what I have so far for my drum enclosure lighting system, code name: Citadel.
I will provide more documentation, when I get around to it. Cheers!
Hardware is easy…
according to the people that use many of the things I make, that is. They don’t actually say this, but I can tell. They see that you connected a box via usb to a computer and, presumably, think, ‘oh that looks simple, you just hook up this cable and it works.‘ It isn’t until they ask how it was made and I crack open the enclosure do they get an idea of how much work it really is to put something like this together. The project I am referring to here, as you might have guessed, is a of game buzzer button type controls.
While sitting and eating some lunch at The Wurst Place with my Amazon team we discussed what fun activity we could do at our next “Beer Friday” (which don’t happen every Friday, so we are clear). We had a bunch of harebrained ideas that would ultimately have little to know participation or bring down human resources on us within an hour. I then brought up that I had watched Defcon Jeopardy a while back and it looked like a lot of fun. This conversation went quickly to how we could make this happen in 7 days. We decided that is would be possible to build both the hardware buzzers and the software game-board and scoring system in those 7 days. This proved to be a time challenge for me.
I had to order the parts that I needed from Amazon with 2 day shipping to get them in time to complete the build. I should have used 1 day shipping.
Items from Amazon:
- Learning Resources Answer Buzzers – Set of 4
- Arduino Uno R3
- Protoshield KIT for Arduino R3
- Box for Arduino
I didn’t get my parts until Tuesday and the game was on that Friday. I drew up a simple schematic and mapped out pins to functional components.
While browsing electronics.stackexchange.com, I found the following list of electronics learning sites:
I thought they might be helpful so I am re-posting them. Enjoy!