Back when I was still working at Amazon I decided to contribute to a DIY/Maker faire. I can’t remember the title of the event. I thought it would be fun to make a game that could use the buttons I had made in a previous build (see: Jeopardy Controllers are Easy). I thought a memory game would be fun and fairly easy to make in a week. I call it Sheep It! If it isn’t obvious, this is a play on words (or a bad pun) for both the moniker for code reviews at Amazon that pass (Ship It!) and the idea that one might be called a sheep for following a leader (which is what this game is all about).
I enjoy using QT and thought that I would like to learn how QML works. The code located at Read more »
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 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.
.include"m328pdef.inc"; Import atmega328p file
.deftmp=r16; rename working register
.defcounter=r17; rename counter register
; Start of program:
clrcounter; clear counter
lditmp,0b00000000; Set I/O on PortB
lditmp,0b00000001; Set I/O on PortD
lditmp,0b00000000; Set Pullups on PortB
lditmp,0b00000001; Set Pullups on PortD
; Setup 7 segment codes
sbicPinD,0; read push button on/off
rjmpLoop; branch for retry if not pressed
inccounter; increment button press counter
cpicounter,0xA; is counter == 10
brnePC+2; skip reset if counter != 10
clrcounter; reset counter
clrZH; Set address of Z
addZL,counter; Set address offset in 7 segment codes
ldtmp,Z; read out 7 segment code
outPortB,tmp; display counter
rjmpLoop; 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.
side cut – (single side poster cutout * 2) =36″ ÷ 12″ = 3′ or
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 my 1st attempt at PCB design. These are renderings of the Citadel project I have been working on. I still have some traces to complete, but most of it is done. PCB layout isn’t easy. You have to think at least 5 moves ahead when placing a component or laying down traces. It is amazing how much effort it takes to layout a 4″x4″ PCB.
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.
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.