Previously, I was prototyping the Artemis Synthesizer and documenting some early design decisions: "Artemis Synthesizer 1 - Testing the TDA2822 Audio Amplifier", "Artemis Synthesizer 2: Interfacing with the MCP4921 DAC" and "Artemis Synthesizer 3: Basic I/O with Buttons and LEDs". All of this prototyping was being done for the production of a kit for the Artemis Project. Now the kits were made and built up by 24 rising high-school freshmen involved in the Artemis Project, a women in technology initiative at Boston University. So how did it go? Well, after the jump you will find out, as I inspect the timeline of the project and the two days we had with the students!
Table of Contents
Project Timeline Review^
Brainstorm (June 12-15th)^
We decided to develop a project of our own on June 12, 2012. At which point we presented a few basic options for the project. The two competitors were a Game of Life simulator or a synthesizer. By June 15th we decided on the synthesizer, ordered test components, decided on the ATMega328P and were ready to start prototyping.
Prototypes (June 18th-22nd)^
The Arduino was used for prototyping purposes.
The audio amplifier was prototyped on perfboard by June 20th and written up here. The TDA2822 test was successful, but the volume output of the speaker was low and as would be noted later was not very impressive
The MCP4921 was prototyped and documented here. The process was very swift and there were no major problems. Powering the SPI bus from the Arduino which was 5V based required power limiting resistors.
Schematic and PCB layout (June 25-July 6)^
Most of the schematic layout was done during the prototyping stages in KiCAD. KiCAD was very easy to use, but I needed to upgrade to the latest version in order for it to be especially usable. Schematic layout went without a hitch.
PCB layout started once all the parts were chosen a bill of materials was made up and everything was laied out. PCB orders went out to Sierra Circuits and after some tweaking to their rules and limits we were able to print with them. However, upon receiving the boards there was one trace shorted to the 3.3V plane making the USB bootloader unusable on this board. This problem was limited to one board and after testing most of the rest was not reproduce-able. In the future, I would increase the boundary between traces and planes and possibly avoid power planes for simple designs.
There were some funding problems since the PCB boards ended up costing around $15 per and parts also costed nearly $15 per board. The parts cost was rather
high for this project and an inspection should be carried out to find cost reductions for future revisions of the board.
Firmware (July 12-20)^
Firmware development went well. Code could be better commented. Needs to be cleaned. Make sure comment frequently in future projects and write libraries for the various "peripherals" you use (internal or external). If you have good interfaces/drivers then other people can use your board even if your base firmware is a little sketchy.
Also, figure out a way to formalise different program states/tasks/programs with efficient memory management. First time using interrupts heavily. Make sure interrupts, especially timer interrupts, are small. There are times when interrupts can be lengthy, but be cautious and evaluate everything that could happen while that interrupt is happening and make the system as robust as possible.
Packing (July 18-20)^
Packing went smoothly, but took a lot of work. Need to make sure you put exactly the right number of parts in. To many confuses people and to few makes the kit
impossible to complete correctly.
We also found some bill of material errors. Always check your footprints!
Review of Artemis Workshops^
Started off with Eric introducing everyone, split up into groups by table 3
to a soldering iron. Tables included needle nose pliers, wire cutters,
soldering irons, a vice, solder, blank protoboards and some junk resistors.
Rework station for the mentors/helpers: soldering iron, solder braid, more
solder and extra parts
Eric talked about electronics: Basic what is a LED, Diode, Resistor,
capacitor. All from an applied perspective, in terms of what are they used
for more than, how to use them or what maths govern them. Then an introduction
into what a microcontroller is and what the kit looks like and
will eventually do.
Eric went over basic soldering safety and how to. (Slides to be posted with
Started practicing. Artemis girls in general grasped the basic process of
soldering very fast and it was rather impressive. Some had trouble at first,
or were nervous/scared, but these fears were overcome.
Limited errors, some rework needed to be done
About 6 finished, the Artemis organizers had only soldered once or twice
before so the groups where the mentors were EDF veterans moved the fastest
by far. My group came in 1st in getting everyone finished, Sam’s group
had the first girl to finish at all.
Very fun, girls seemed to like it.
Started off with them all coming into the room and getting back to there appropriate tables. We allowed them to talk and for those who were finished to show off for a little while.
Once everyone was settled down we figured out which groups were done and which still needed to finish soldering. Some of the rework was difficult.
Demonstrated how the kit worked. Concentrated on web “programming” from the website Sam Damask made.
Problems and Comments^
Audio quiet. Inspect whole audio amplification circuit. Possibly look for a new
BOM cost was high.
- Possibly remove DAC use PWM instead
- Possibly smaller microcontroller ATMega168 or ATMega88 vs ATMega328
During soldering many had IC problems
- Buy the correct sockets
- Socket all ICs not just the MCU makes, rework easier.
R10 is polarised, but not labelled as such. Rework Optoloader circuit
Optoloader speed problems. A very slow data transmission.
- Possibly use 2 photo diodes (separate clock and data lines)
- Possibly use multiple colours (interesting solution, but likely expensive)
- If speeds can be significantly improved, then we can start programming more
complex things over the link.