I’ve spent a lot of time fiddling about with electronics, but all the good parts these days are surface-mount, so I decided it was about time I spin my own PCB.
I used the free version of Eagle. Ignore the part numbers on the op amps, MOSFETs and flash chip; I have actually chosen appropriately specced parts… hopefully.
Hopefully I haven’t done anything too stupid here, although not catching fire is never a guarantee with my projects. As my first PCB I’m pretty proud of it – I did actually rip it up and start again at one point. Note to self and readers: never, ever use autoroute!
- An ATmega324PA microcontroller running at a blistering 8MHz
- A capacious 2MiB flash chip for data logging
- One of those 5110 black/white LCDs you can find on eBay (84*48 pixels)
- A lithium charger IC, with charge current selectable from 100mA and 280mA using a solder jumper, and a charge indicator LED
- The worst analogue front end in history
It should be able to:
- Measure voltage up to 250v with ~1% accuracy across the ranges
- Measure current up to 1.5A with ~3mA precision (may be able to improve this with e.g. oversampling and decimation of the ADC reading)
- Measure capacitance from 20nF into the 100 microfarad region (need to spec out this accuracy)
- Measure resistance from 100 mohm to >1Mohm with ~1% accuracy
- Measure frequencies up to 3.2MHz with 10Hz resolution from the logic header (may be able to improve this to ~2.5Hz)
- 4 bit logic header: at least 1k sample depth, >1MHz max sample frequency
- Learn, store and replay IR remote codes from most TV remotes transmitting with a 38kHz carrier
- Oscilloscope sampling frequency of at least 150 kSa/s, hopefully 300 (AVR ADC gets ~6 ENOB at 4MHz clock, which is loads for a 48 pixel screen (6 bits is 2^6 = 64 pixel rows))
The TV remote was a stupid addition, the thought process went something like “Hey, I have 3 pins free, what would be really cool?” – it’s just an LED and a receiver. The receiver draws about 1mA quiescent so its VCC pin is hooked up to a GPIO so that it can be switched on and off. (There’s no power button – I’m instead trying to get the standby current as low as possible.)
Hopefully this will be a nice tool to use at uni. If not, I can just program it to play Tetris and Snake.
I’m having this case 3D printed at some point:
The battery and buzzer will fit into the case, and the board will push into the front. I’ve now added some cutouts for the IR LED and receiver.
Boards are currently being processed by iTeadstudio – hopefully that will go without a hitch, and I can update with some nice fresh assembled boards!