July, 2010Archive for

Philips PCD8544 driver v0.2 (beta, first release) and MapOS server

C++ driver for the Philips PCD8544 LCD controller, based on Fandi Gunawan's C driver.  Ported to C++ for object-orientation and template support.  Supports multiple LCD controllers with separate DC/CE/RST pins, screen caches, etc.  Other enhancements include support for any resolution (not just 84 x 48) and templated pin and SPI bus access for easy porting to new architectures.  Code is GPL'd in the GitHub repository Philips_PCD8544_driver. The MDFly model MD8448B boards pictured here pro...

Small-volume PCB costs

Expanding on a summary by Entropic Memes, * DorkbotPDX (any size): $0.26/cm², no min area, but must order 3 boards. * BatchPCB (1in²): $2.7/cm², 6.5cm² min * BatchPCB (3in²): $1.15/cm² * Seeed Studio (5cm side): $0.12/cm², 250cm² min * Seeed Studio (10cm side): $0.10/cm², 500cm² min * OurPCB (20in²): $0.023/cm² (plus shipping), 12900cm² min DorkbotPDX and BatchPCB win the small-volume contest up to about $30 (115cm² from DorkbotPDX or 39cm² from BatchPCB).  DorkboxPDX is certainly the che...

Motor Controller Server v0.4 (alpha, first release)

An integrated Motor Controller Server (MCS), running under MapOS.  In addition to the standard MapOS dynamic routing capabilities, the AVR version of the MCS sports a continuous oscilloscope output [ADCServer from the ATcommon library], analog encoder sensor monitoring [with fixed-point position output], a PID engine with realtime coefficient configuration, and an ESC control server [PWM output]. An earlier version of this server was fielded in ATR5-b1.  (The fires were not the server's f...

MapOS v0.2 (alpha, first release)

The MAP Operating System (MapOS) implements the Upacket project as a network-centric kernel. Tuned for microcontroller deployment,  including a minimal scheduler and supporting architecture-specific features [timers, ADC, PWM, etc], MapOS's features include: Dynamic packet routing graph, which can be modified in realtime and (optionally) saved to nonvolatile state. Dynamic memory pools, in order to to reserve malloc()'d resources for specific purposes. A cooperative multitasking sche...