Design your own PCB Class

I’ve added a class to the calendar, and it’s now open for registration.

I’ll run through how PCB layout works in kicad, trash talk other PCB layout packages, answer questions etc.

I’m suggesting we design a board with an ATTINY85, 2 relays, and driving FETs because it is a mix of through hole and SMD, and it will fit in the cheap PCB service.

If we have enough people attend at $5 each, we’ll actually order the boards from a board house when we’re done so you’ll get to see the checkout process etc, and depending on the boardhouse have some tangible PCBs between 14 and 45 days from when the class is completed.

If you guys don’t mind helping with ideas:

  • what the “demo” board for the class will be. (if you don’t want the above board)
  • any board house you’ve done business with that is $30 or under for a 2"x2" size PCB.
  • questions the class should answer (what PCB type, how to choose how many layers, drill and trace sizes etc)
  • why I use kicad instead of X
  • what features are “must haves” in a PCB CAD package
  • Anything else you want the class to cover.
4 Likes

I’ll start with the PCB services I’ve used that we should probably cover and make an order at:

  • Seeed Studio Fusion PCB
  • OSHPark
  • CircuitHub (we won’t order from here since they do assemblies)
  • DirtyPCBs.com (someone suggested it)
  • Advanced Circuits AKA 4pcb.com
1 Like

I’m registered and highly endorse your suggested project. It is a big part of what I need to do. I want to use a WiFi equipped Wemos D1 Mini as a battery operated alarm. The problem is that it uses a reasonable amount of power for the short transmits but the sleep current is too high for long battery life. A solution is to use an ATTiny85 to detect a change and power on the Wemos with an FET only when needed for communication.

You should be able to use the through holes for the relays (instead of soldering in a relay, just solder in a wire where the coil would be on the relay). The FET I plan on using to drive them is pretty beefy. The only other change you might need to make to the design would be a low quiescent current regulator instead of the 1117 style I selected, but I also broke out VCC for the MCU separately so you could just breadboard that part.

1 Like

Sounds great! Also, just sent you a PM.

In-system programming?

1 Like

Yeah, we’ll add a ICSP header if you choose to do SMD parts, or if you’d like through hole you could socket it.

If you’re less familiar with what any of those things are, you’ll still be able to program it with the Arduino environment, with the one cavet that you’ll have to have a Uno or Nano that you use to “program” this board we’re designing.

2 Likes

It was exciting to see the original posting above because I teach two Arduino-ish classes and had actually considered an introduction to the ATTiny85 class. After a little behind the scenes PMing to be sure I would not be intruding on @malcolmputer plans, I’m almost ready to announce a class. It will be patterned after my other electronics classes: free, beginners welcome, hands-on lab and I furnish all parts except your laptop.

In this day where Arduino and RPi get all the glory, thanks to @malcolmputer for starting a movement to showcase the lowly ATTiny85! Its little, cheap, low power and limited but there are areas where those are advantageous,

For an “Introduction to ATtiny” class the ATtiny84 is probably a better choice. The ATtiny84 is essentially a chopped ATmega328.

But, the ATtiny85 is certainly an interesting creature.

1 Like

I will probably go with the 85 since I have around ten of them on hand. You bring up a very good point that I should include some information about the tinyAVR family. I started using the 85 not based on a professional review of applicable MCUs but several hobby articles.

1 Like

For low power and if you don’t need the extra I/O, I’d use the ATTINY85.

Normally anything I’d use the ATTINY84 for, I just either use the '85 or the '328 instead.

1 Like

In the AVR world for low power there is just one choice: can operate at 1.8 V or not. The actual current consumption is almost entirely dependent on the number of peripherals powered and switching. In other words, an ATtiny85 running at 8 MHz / 5 V with no powered peripherals consumes the same power as an ATmega328 running at 8 MHz / 5 V. Enabling timer 0 on both processors raises the power consumption by the same amount.

For low power you need a 1.8 V capable processor (and to run it at that voltage) which is the ATtiny85V (or the ATmega328P).

1 Like

I want something that can detect pin change while sleeping and using very little current. When a pin changes, it should wake up and turn on power to a WiFi equipped MCU for a few seconds. I though of using it to turn on a FET to power the other MCU. Can a 1.8V device turn on a FET? Am I thinking correctly of this or is there a better way? The goal would be to get months of running time from a battery supply, I use the Wemos D1 Mini in my classes and like the idea of using it as the WiFi MCU but I’m not tied to it.

If you are looking to detect a state change (not a pulse, but a change), then you could wake the device up every 8s or so using the 128kHz clock, and then when it detected a change have it fire off the 8MHz clock and process the change (send a serial message to the Wifi enabled devices after waking it up with the FET) and then when it’s done, go back to sleep.

The main issue with this is that it’s polling. I believe you can make it service a pin change as an interrupt instead of polling, but it’s been a while since I’ve read that part of the datasheet.

1 Like

I want to detect a state change based an interrupt and definitely not use polling. This is a hobby grade project that is not mission critical. I’ve seen articles on this but it had dropped low on the priority list until I saw your PCB project.

Also, the Kicad download is 705MB and is awesomely slow. ~6 hours

Yes.

Examples here…


A Pin Change Interrupt will wake an AVR processor from Power Down Sleep Mode (0.1 μA at 1.8V).

You can also run the processor from the 128 kHz watchdog oscillator instead of the calibrated RC oscillator which dramatically reduces the power consumption.

1 Like

That sounds awesome for the front end. When the pin change occurs the goal is to turn a 3.3V ESP8266 for a few seconds. I had planned to use a logic level FET but I think they need near 3 volts to turn on. How can this be done with a 1.8V device. I was an IT type not an EE.

Were I in your shoes I would just use the same 3.3 V supply for the whole enchilada. The difference is about 0.15 µW. As an added bonus the AVR processor in your hand, no matter what it is, will work.

2 Likes

Big thanks to @malcolmputer and @Brian!!! Its nice to know that we have a couple of professionals that I can reach out to if my project hits a snag.

2 Likes

I recently designed a 6x3.5" board using EasyEDA and ordered 8(?) of them with a solder stencil for $29 total and had them within a week.

2 Likes