Open Source Hardware
For the benefit of the community I am making the source code to my artworks available under creative commons licenses, mainly the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License for the hardware designs and the GPL for firmware. See COPYING files for details. Note that my intent with this choice of licenses is to allow people to learn from my work practices, allow people to incorporate my firmware into their own open sourced projects, and prevent other from making direct copies of my artwork for commercial purposes. If these licenses don't suit your needs feel free to contact me about what you want to do with my work.
These projects have been developed using free software tools such as gEDA/gschem/PCB, SDCC, gputils and picp on Linux.
You should also take a look at my Example Project Templates.
Getting the code
You can download the following tarballs:
-
8² Automaton - io.pkt.art.8-2-automaton - io.pkt.art.8-2-automaton.aebcd4.tar
i2c bootloader, master i2c on 18f242, slave i2c 16f819, gEDA schematic and PCB.
-
Laser Dot Clock - io.pkt.art.laser-dot-clock - io.pkt.art.laser-dot-clock.5f13f9.tar
LCDs via i2c, serial UART code, user interface handling, DS32khz TCXO usage, gEDA schematic, CNC gcode machining.
-
Meter Clock - io.pkt.art.meter-clock - io.pkt.art.meter-clock.6dbd3a.tar
PWM on 16f777, software PWM.
-
Orthographic Cube - io.pkt.art.orthographic-cube - io.pkt.art.orthographic-cube.c2ce9e.tar
This project is incomplete, but does include a ultra-optimized 3d wireframe cube renderer for the PIC 18f6520 capable of displaying a real-time rotating cube at a fairly high refresh rate by making heavy use of pre-computed tables. Also includes gEDA schematics and PCB layouts for the hardware with a multiplexed LED matrix.
Monotone repository
I use monotone for my revision control system. The above projects, and many more, are available through my mtn.pkt.io repository:
mtn pull mtn.pkt.io io.pkt.(someproject)
The full list of publicly accessible branches is as follows:
io.pkt.art.40-2-drifter.web* io.pkt.art.64-bit-counter* io.pkt.art.8-2-automaton* io.pkt.art.alternate-pace* io.pkt.art.entropy-oscillator* io.pkt.art.going-down* io.pkt.art.half-life* io.pkt.art.intersector* io.pkt.art.laser-dot-clock* io.pkt.art.light-recorder* io.pkt.art.long-exposure* io.pkt.art.machine-observations* io.pkt.art.meter-clock* io.pkt.art.orthographic-cube* io.pkt.art.recurring-moment* io.pkt.art.spiral-clock* io.pkt.art.t-12h* io.pkt.art.t-n* io.pkt.art.two-choice-hour-meter* io.pkt.art.webdistiller* io.pkt.client.portage.rf-log-detector.lt5534* io.pkt.meta.example* io.pkt.soft.experiment.trains* io.pkt.soft.mtn-append-robot* io.pkt.soft.pk2.debian* io.pkt.soft.replate* io.pkt.soft.timetracker* io.pkt.soft.tt* io.pkt.soft.tuke* io.pkt.soft.viewmtn* io.pkt.vendor.picp* io.pkt.vendor.pk2* io.pkt.vendor.sdcc*
You can verify the server by checking that the mtn list keys
command matches the following keys:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 8eb15d6f47abe6a44e875213f0638e5d9196e547 monotone@mtn.pkt.io 29a8f4f9deb99e5d52def89f8b4d1e8dd682e289 pete@petertodd.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGPrxa3bMhDbI9xWQRAtxbAJ9aNJwY93UL2otUoJyFA+sL7BWheACdEsZ/ vVq6Hpxp6+W3Omm3DTrMYzY= =kKXI -----END PGP SIGNATURE-----