|
EagleAutodesk
|
|
|
Atmel ICEATMEL-MICROCHIP
|
|
|
Atmel Studio 7Microchip
|
Minimal Atmel 328P MCU
Used for audio projects, please see my blog: https://audiodiwhy.blogspot.com/2021/04/minimalist-atmel-328-development-board.html
UPDATED: 8-9-21 I added pin designations to both sides of the board and flipped polarity of the B1 test LED.
Hello again: if you've been following the last few posts you see that I am trying to use Arduino's IDE a lot less, and learning to program MPU's like the Atmel 328P using
"Embedded C", as opposed to the Arduino Sketch language.
I've had some success, such as using C to create an LFO prototype...read about first steps for the DLFO project here. It works on the bench. Update 5-1-21 the whole damn Digital LFO--dev board discussed below, buffer board for incoming CV, switch debouncing that toggles waveform select, LEDs to show which waveform you're using etc etc. works!! I am happy! Post is here.
Question: if I stop using Arduino's IDE, can I stop using their hardware as well? Why/Why not?
Turns out it's pretty easy to roll your own simple AVR based dev board. Using bits of the Arduino Uno R3 schematic, a few examples found online (eg: here), and a few Atmel PDFs (the one here for instance--very useful reference) I came up with a minimal parts count AVR 328 PCB for future projects.
If you want to build one of these yourself, you can get the Eagle files (the free version of Eagle should be able to load these files), gerbers, and more, from my github (go here).
Schematic and board look like this:
But does it work?
Programming is done with an Atmel ICE; the IDE used for writing the blink code is Atmel Studio 7, as in the previous posts.
Let's send this dev board's gerbers off to China....I like PCBWAY....wow that was fast, they are back.
Let's stuff the board:
On the bench, connected to power and so on, it looks like this:
The power etc. checks OK.
Next, with a brand new 328 chip popped in we can upload this simple blink C program to test:
#include <avr/io.h>
#include <stdio.h>
void Delay(void);
int main(void)
{//DDRB = 0x20; // set bit 5 of DDR register which makes PB5 an output
DDRB = 0x02; // use PB1
while(1)
{
PORTB = 0xFF; // switch LED on
Delay();
PORTB = 0x00; // switch LED off
Delay();
}
}
void Delay(void)
{
volatile unsigned long count = 15000;
while (count--);
}
And...nothing. Huh? This is a really simple design, why won't this work?
It took me about 5 minutes to figure this out.
The Atmel ICE's ICSP connector is pinned like this:
...but when designing the ICE connector no one at Amtel (?) marked where pin one is. Turns out I had the connector upside down!
On my board, the MISO pin goes to the top left. So the tab you see on the connector faces upwards.
After this fix, the MPU is now seen by the ICE programmer and we can upload code. yeh!
Let's blink.....Cool! Good enough for now--"not much time for blogging/too much work to do...."
Next up, I'll see if I can make the recently "coded at the bench" DLFO (again, post for initial software DLFO build is here) work with this development board. I created a 2nd PCB for the DLFO to accommodate its CV buffers and whatnot and should have that back soon.
Stay tuned and don't breathe the fumes!
Use case, Digital LFO, based on above board and tools: https://audiodiwhy.blogspot.com/2021/05/avr-based-digital-lfo-written-in.html
Minimal Atmel 328P MCU
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by AudioDIWHY
- JTAG to SWD Converter Simple JTAG to SWD adapter.My use case is Segger J-LINK EDU MINI to Raspberry Pi Pico but this board...
- Rotary Encoder Experimenter's Dev Board UPDATE: new revision 9-29-24 posted. Lower parts count, more reliable software debouncing for the en...
- Bench 4x2 Bluetooth Mixer Simple 14HP Eurorack 4x2 synth mixer.outputs are 2x 100mil terminal posts on rear of PCB.You will ne...
- Anything to Clock--LM311 based I needed a simple circuit to condition incoming signals so a MCU could read them as clock:--rectify ...
- Vactrol Based Audio Envelope Follower An audio envelope follower based on a 5C3 Vactrol. Useful for auto-wah (send its output to a bandpas...
- Warm Floater Eurorack Power Extender I ran out of physical connections on my Eurorack Power supply. This PCB supplies 1 input and 3 outpu...
- "KiCADSR" Euro Envelope Generator This is my first project using KiCAD for EDA instead of Autodesk Eagle.I wanted to see if I had the ...
- Low Noise Preamp based on Arp 2600 Synthesizer The Arp 2600 synthesizer has a preamp that takes an unbalanced signal and amplifies it 10x, 100x, an...
- Arp 2600 clone--inverter-mixer The ARP2600 is a legendary, classic semi-modular analog synthesizer. Its voltage processor circuitr...
- SEEED XAIO RP2040 ADC and Buffer Board The SEEED XAIO RP2040 is a fantastic little dev board, featuring the RP2040 MCU.I needed a buffered ...
- Moog T403B Inspired High Pass Filter Clone of Moog High Pass filter based on EFM design.Please see the blog post here for more informatio...
- 4 input Mono Eurorack Audio Mixer I need a few small (but not too small!) Eurorack 4 x 1 DC coupled mixers for my rack.Many simple com...
- RP2040 Clock Multiplier Development Board I have some RP2040 code to write and didn't want to Breadboard the hardware, so I whipped up a devel...
- Anything to Clock--Precision Rectifier For more details please see this blog post:https://audiodiwhy.blogspot.com/2024/04/anything-to-clock...
- Hardware Encoder Debounce Board For details about this project please see this blog post: https://audiodiwhy.blogspot.com/2024/01/ro...
- DSPG1 4 voice synthesizer on a single PCB The DSPG1 is a $20 IC--along with a handful of external parts this chip gives you a complete a 4 voi...
- Son of Warm Floater I ran out of power spigots in my Eurorack, this simple project takes a 16 conductor +/- 12V, GND, 5V...
- ARP 2600 Audio Switch The legendary ARP2600 has a pop free/click free clock driven analog switch. Each rising clock switch...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
131 0 0 -
DIY Laser Power Meter with Arduino
205 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
179 0 2 -