Merry Krampus Guide

Overview

Krampus is coming for all you naughty makers out there! This board is available in 3 versions: fully assembled and ready to hang with glowing red eyes and tongue; as a Hacker Challenge Kit with the board, components, programmer, and programmer adapter kit; or as a plain board with hanging hardware so you can provide your own backlighting and/or eyes and tongue color.

Fully Assembled:
These are ready-to-hang creepy Krampuses!  We've assembled these in our shop in San Luis Obispo.  They're pre-loaded with glowing/flashing software which lights up the eyes and the tongue with red backlit LEDs.  They come with rings and a chain, ready to hang anywhere!  A CR2032 battery is included.

Hacker Challenge:
For those of you who have been super naughty this year, Krampus comes with a kit of surface mount parts (smallest are the SOT-23-6 processor and 1206 resistors and LEDs), a hanging hardware kit, a USBasp programmer already updated for TPI protocol, and a pogo pin kit so that you can do your own programming!  What does Krampus bring naughty programmers?  512 bytes of flash!  No more for you!  Write simpler and more efficient code, you naughty naughty maker!  Or you can still use our code, on GitHub


Just the Board:
We think Krampus looks pretty great on his own, so if you just want the board to hang up, this is the one for you.  Comes with just the board and hanging hardware, you can color in his eyes and tongue with a marker if you want, and hang him in front of lights you already have!

$
29.95
 
$

Prepare Your Space!

Use a soldering iron with a decently point tip. We like bent tips or fine screwdriver tips for SMT soldering. Sometimes super sharp pointy tips can have trouble with getting the solder to stick to the tip, it tends to want to pool just below it. But there's no right or wrong, use whatever tip works for you. We highly recommend using a flux pen and pre-fluxing each pad before setting your component on it. If you can wash your board right away and gently dry it in low warm temps, water-soluble flux is great. Otherwise, rosin or no-clean will do. You'll also need tweezers for placing/holding components, we like bent tip ones. Use whatever solder you prefer, we use lead-free and like smaller diameter 0.3-0.5mm wire for SMT work.
We also recommend using some static-safe practices as you will be handling bare components that are sensitive to ESD. If you have a grounded workstation and can keep yourself grounded, great. If you don't have that, try to not move around while you're assembling or programming the kit, especially if you have carpet. Before touching the board or components, touch something else metal to try to discharge yourself. Don't shuffle your feet, and wearing modern "fleece" clothing (the kind made of plastic) can generate static. Cotton is better.  

Solder Your Krampus

Order isn't too important, as it's a relatively big board with a lot of space between components. The main thing is to solder the battery holder BT1 last because it's the biggest and sticks up proud. We also prefer soldering C1 after U1. If you need to get into the swing of surface mount soldering, maybe start with the 220 ohm resistors, then do the LEDs, as we've given you an extra one of each of these. Here are the details for each component!

LED Resistors

The 220 ohm resistors go next to each LED, they are R1, R2, R4, R5, R6, R7. They are the longer strip of resistors, and each one also has its value printed on top in scientific notation shorthand, "2200" for 220 x 10^0.

LEDs

The LEDs are D1, D2, D3, D4, D5, and D6. They are side mount, meaning that their lenses point toward the bare fiberglass section of the eyes and tongue, follow the outline in the solder mask! Also note that direction matters! There is a small white line that indicates the cathode pad, make sure that the small green line on the back of the LED is towards this pad. 

100k Resistors & SOT-23-3 Transistors

The 100k resistors are R3 and R8 and they go in the places labeled 10k. Yes, we did indeed change this value after getting the boards made. :) They are the small strip of 2 resistors, and also have their values printed on top in scientific notation shorthand, "1003" for 100 x 10^3.

Q1 and Q2 are the SOT-23-3 transistors. They're the only component with that package, and we gave you an extra one. Keep it around, more on that later.


SOT-23-6 Processor & Capacitor

U1 is the SOT-23-6 processor! Look at how tiny and cute it is! Note that this is also directional, and the very small dot on the package indicates pin 1, which should be lined up with the pin 1 dot on the circuit board (lower right corner). This is the finest pitch part, so take care and inspect it carefully after to make sure you haven't bridged/shorted any pins.

C1 is the only capacitor (it's a 0.1uF), it's easiest to solder it after U1, so that you have plenty of room to solder the legs of U1.


Switches

S1 and S2 are the switches, and they have little locating pegs that fit into the holes on the circuit board. We're going to apologize for the small pattern on this one - it's a little harder to solder than the rest of the components, and next time we would make it bigger and more hand-solder-friendly. We find it best to tack one pad down, then blob a fair bit of solder onto each leg, and it'll flow to the pad beneath. Be a little careful with these, as it can be possible to overheat the switch and melt the plastic bit. We gave you an extra switch in case you have any problems. 
Troubleshooting: if a switch is fully soldered but broken, it's easiest to sweat it off with a hot air station, then clean off the pads with solder wick, then try with a new switch. If you don't have one, two irons and giant solder blobs bridging as many pins as you can also works. If you only have one iron and need to remove a switch, making a big ball of solder and trying to bridge as many pads as you can while moving the iron around does work, but the switch will likely come off in pieces. Use lots of solder and careful about the 3 signal pads.

Battery Holder

BT1 is the battery holder, last piece! Make sure you get a fair bit of solder on the legs - we like to bury them in solder to make them drop-resistant. Otherwise, if you drop the Krampus with the battery installed, the weight of the battery can cause the holder to pop off. So try not to drop your Krampus, but also, just use a lot of solder on each leg and you'll be fine. Do be careful, as the entire battery holder heats up when you solder it! Either use a tool to hold it down while soldering the first leg, or use a silicone finger cot to protect your finger.
Clean the flux off your board. Or don't. Whatever. We don't judge you, but Krampus might.

Assemble the ISP Pogo Programmer

Thought you were done with soldering, huh? We've got instructions for assembling this part over here.

Get Arduino Set Up

Download the Alpenglow_Krampus software from GitHub and stick the .ino file in your Arduino folder, in a folder also called Alpenglow_Krampus. 
Open up the Arduino IDE and add "http://www.technoblogy.com/package_technoblogy_index.json" to "Additional Boards Manager URLs" under File->Preferences. Restart the Arduino IDE. Go to Tools->Board->Boards Manager and install the ATTiny10 core from technoblogy. Just search for "attiny10" in the Boards Manager, and it should pop up. It's also here on GitHub.
Open Alpenglow_Krampus.ino, then choose your board setup. Under Tools->Board select the ATTiny10core, and the ATTiny10/9/5/4 board. Under "Chip", select ATTiny4. Clock should be 1 MHz. And set your Programmer to USBasp. Your USBasp has already had its firmware updated to support the TPI protocol needed to program the ATTiny10/9/5/4 series, so if you've read about doing that elsewhere, know that we already did that for you!

Program it!

Woooo, almost there! First of all, do not install the 3V coin cell battery yet. ATTiny4 processors need 5V to program, and while you can program your Krampus with the power switch set to OFF, it's just better to not have a battery in there at all so that you don't accidentally short your battery to 5V.


Note that there is no bootloader on these tiny tiny ATTiny chips, so every time you program it with the Arduino IDE, you will have to manually select "Upload Using Programmer" under the Sketch menu. The blue arrow icon normally used to upload will not work, because that's "normal" upload via bootloader. At this point in time you might want to memorize the shortcut key of Cntl-Shift-U.

Assemble your programmer - the 10-pin cable goes into the USBasp, and into the 10-pin connector on the pogo adapter. It's keyed, so you can't plug it in backwards or anything. The 10-pin to 6-pin board adapter comes with the USBasp and is handy if you want to interface with other boards that have the standard 6-pin ISP header. Plug the USBasp into your computer. The drivers should automatically be detected and load, but if you have any issues with your computer recognizing the USBasp, you can use Zadig to install the proper driver. We use libusbK, and find that it works great with Arduino and avrdude, though libusb-win32 may work too, depending on your system. There's more info on the USBasp on its page.
Carefully line up the pogo programmer with the 6 J1 pads. Careful because the pogos are powered, and it is directional! This was another victim of missing labeling, but we did put a silver dot in the lower right corner, indicating pin 1, which is where the notch on your pogo adapter should be lined up. We are not responsible for user error and fried chips, though we will send you another one if you ask nicely. :) We find that holding the adapter by the edges of the black connector is the most stable.


With one steady hand using light pressure on the pogos, and the other managing to press Cntl-Shift-U on your keyboard, upload the program! The LEDs will light up during programming, and we recommend using "verbose output" (under File->Preferences) to make sure it programmed and verified correctly. 

Note: depending on what version of the Arduino IDE you're using, you may or may not get a phantom "error" message. This happens with the 2.0 beta version, and 1.8.19 as well. Programming and verification will be successful, and you'll still get a message that says "an error occurred while uploading the sketch." This seems to be a bug in newer versions of the Arduino IDE, it doesn't happen with version 1.8.13 which is what we've been using. The important thing is successful verification - if that's good, then you can ignore the phantom error.


Troubleshooting:

This last step is probably the most persnickety (did we say it wasn't persnickety? Ha-ha! KRAMPUS GOT YOU) because it relies on everything in both the pogo kit and board to be soldered correctly, and for you to hold still and do things with your non-dominant hand. If you get an error, look at your pogo alignment, look at your pogo polarity (pin 1 position), and try again. Beep out your pogo kit and make sure everything is connected. Beep out the J1 pads to the U1 pins (schematic below), and inspect your board under magnification to make sure everything is soldered well and no pins on U1 are shorted together. If you've double-checked everything and it still still still doesn't program, there's one more thing to try. As we assembled kits, we ran into one that didn't want to program and realized we have very little margin on the TPI_DATA line (pin 1 on U1). Take the Q1 transistor off the board (solder blob both sides, keep alternating back and forth with your iron until it just wipes off with little force). Clean up the pads, then program it without Q1. Then take your extra transistor (told ya I'd get backt to that) and solder it into Q1. And please also contact us - we've only had this issue on 1 board so far, but want to know if you encounter it!


Bling Your Krampus!

Congratulations, you have a working Krampus! You mustn't have been that naughty after all. Now add his jewelry if you'd like, he's got rings for his ears and horns, and the ends of the chain fit through the rings on his horns for easy hanging. If you haven't done anything with jump rings before, the key is to find where they're split, take one side in each hand, and push away from you with one one and towards you with the other, like you're making a mini spring. Bending them like this preserves the round shape and allows you to close them snuggly again.

Show Us What You Got!

We love seeing you make our kits, we're @alpenglowind on twitter and instagram, please take some pix and tag us! Especially if you end up writing some of your own software for Krampus, we'd love to see your code and see the results. :)

What the Switches Do

SW1 Turns the board ON and OFF.


SW2 changes the blinking pattern of the LEDs from quick blinking to slow fade.

Backstory

In an homage to our name Alpenglow we wanted to do something a bit different for this winter season. Krampus is a mythical creature told in folklore originating from the Alps. He started off as a pagan deity, though now he's said to accompany St. Nick on his rounds. Krampus punishes naughty children, so he's the perfect antidote if you've had a bit too much of the sugar, spice, and everything nice that tends to accompany Christmas and the holidays.

Videos

Want a full on video tutorial? We soldered one up on our livestream!

Downloads

How to download our BOM from GitHub:
1. Click the BOM button above
2. Right click over the raw data
3. Select save as and save the CSV file
Have any questions?  Contact us!