Holiday Special 20

Enter Your Holiday Project for a chance to win a tool kit bundle, shopping cart, and gifts to give to other members!

Submit an EntrySubmit an Entry  Back to homepage
Project14 Home
Monthly Themes
Monthly Theme Poll


"What brings you joy"

Well, certainly, I'd say dogs, since they're one of my favorite species.

In specific, corgis.



You gotta admit, they have great smiles.



Oh no I published it.


*smacks my head*


Oh well anyway/


"open-ended holiday project competition that challenges you to make a project that reflects what the holidays mean to you"


I am, indeed, stretching it with... a bundle of corgi joy.


Sorry, Tariq.


(Maybe dont disqualify me? Thanks hehe)


Well, I designed a small 328P based board, because I was not really happy about 2020 and wanted a furball Arduino that was in 0 ways space efficient.



Well, hehehehehehe


It uses a ATmega328P, clocked at 16MHz, onboard USB bridge, yada yada, NANO pinout, yada yada.


The point of a project14 is to document your process-


Let me do that.


I was discussing which arduino they should pick to a beginner, and they were talking about their arduino UNO that just arrived and how their corgi loves to sit on his lap while he works with the UNO.


Well, hearing "UNO" and "corgi" gave me the exceptionally bad idea of a corgi-shaped UNO.


There's a RX TX LED because it doesn't add much to BOM and I said "why not". It uses a USB-B THT connector, because I actually have a 10% accuracy rate of soldering microUSB.


There's a CH340C for USB bridge.


I made this design recently(a few weeks ago, early December)


I had the PCBs printed and they're coming tomorrow!


I'll update with more info... hopefully it works.


Oh right. I forgot. "What could go wrong?"
Well, the unique shape makes it... more expensive for manufacturing, remarkably inefficient design. What else could go wrong? My subpar SMD practice. I mean, I did get better at it recently and can go up to 0402?


With a SP25?



I would be concerned about signal integrity and that stuff. Wait- did I use 0.5mm for power and 0.3 for signal instead of 0.254 for everything?


Here's a bit into an in depth view of the design.


Please excuse my ignorance of using EasyEDA, I've just recently begun the transition to KiCAD. . Libraries are a bit wonky but I'm starting to get the hang of it. Enough of the KiCAD mumbo jumbo.



This is the 328P:

The chip is in TQFP for easy hand soldering(TQFP32 has larger pin pitching too). I've soldered QFN but I'm not the most reliable at such, since it's hand soldering with an iron.


As usual, the usual pin net flags, a Reset Button, a 16MHz SMD crystal and it's 22pF capacitors, since I didn't use the packaged ones with 22pF built in.


Ground and more netflags-


5V LED for power, etc etc etc etc etc etc and a D13 standard LED.


Nothing special at all.


This is the CH340 USB Serial bridge circuit- FTDI is relatively pricey and these are close to 50 cents. I also could have used a Silicon labs CP series chip but its QFN and harder to use, and more expensive. I'm planning to give these as gifts so having a high BOM cost doesn't help.


I also chose a CH340C which is more expensive than a G, but has a built in crystal so I do not need an external 12MHz one. Ultimately I screwed up and bought 15 of BOTH CH340C and CH 340G, where I don't need the G. Yeah, five dollars wasted and some chips I don't need. Let me know if you happen to need any CH340G Shipping included but the crystals are not


Following the ICSP and NANO pinout, these are the net flags. Why use NANO? Not so much HATs on them, but it's a relatively compact form factor and I didn't want to do battery charging for Feather pinout.


This is the part for 7-12V input down to 5V, using an AMS1117, because those are a bit cheaper. Yeah.


(If I'm sounding like I'm trying to use a ton of not so great parts to reduce BOM costs, I probably am hehehehe)


Lastly, this is the USB.


Nothing special, just a barrier diode.


"Where's 3.3V regulator? No MCP1700 or something?"

Nope... CH340 has 3.3V regs. Fancy, right?




The power tests look good(I need to clean off the flux a bit)


However, I am having some difficulty flashing on the bootloader(as you can see that's what I'm trying to do)


I also flipped the ICSP header upsidedown


(The eye is connected to D13)


I'll be installing the CH340 driver later today. If that assists with flashing bootloader.


A friend informed me I'd need an oscilloscope to probe RX and TX.


Ah. I really need to buy one now LOL


(or maybe win , but the chances of that aren't too high. I mean... WOOF)






You can see my ugly fix in the image below:

It consists of a 0.1uF(100nF) cap from 3.3 to GND.


Call me stupid, and I am stupid, but I actually forgot.




But they do work.




(Also, thanks for tweeting this James )

Well, it's the 13th, the deadline is the 15th.


I managed to get it to work.




Mission accomplished!


Also, if I didn't previously note that the D13 LED is on the eyes...

here's a small script to make the corgi "blink" it's eyes...


void setup() {

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  digitalWrite(LED_BUILTIN, LOW);


You guys can probably write this in your sleep but code samples assist the project's standing inthe contest.




Well, that's probably all.


If I can make a programming rig for this, I'll share it too, if I can make it work before the deadline.


Oh yeah, and btw:


void setup() {

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  Serial.println("Bark bark!");
  digitalWrite(LED_BUILTIN, LOW);   


A very simple but corgi blinky sketch


(The eye is supposed to blink every 6 seconds )


I would like to revisit the topic of "what could go wrong".




It works, definitely, there are some issues that remain confusing-


A portion of boards(currently 1/3) are not able to be flashed.


I used the right chip, no solder bridges, everything checks out, but...


avrdude: Yikes!  Invalid device signature.

         Double check connections and try again, or use -F to override

         this check.



Error while burning bootloader.


Hello, I'm using a genuine ATmega328P, I know the connection works because I made a frickin' programming rig(more on this later), and...


Right now, 2 boards are not working


Time to do a redesign.


A bit on my programming rig: it's just the 6 jumper wires in ICSP format and taped together


Board without flux