summaryrefslogtreecommitdiff
path: root/NewUserProjects.mdwn
blob: 9a1129b3633a92c37244088be2da4a90318e4a3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# New User Projects

Unless otherwise stated, the code for these projects must use C. Talk to us if you really want to use something else.

[[!toc levels=2]]

## Simulator projects

Given x, y, z, roll, pitch, yaw, and the first and second derivatives of those, all in the local tangent plane, give us:

- An accurate model of a pressure sensor. Ideally, it should handle temperature variations. Bonus if it supports altitudes up to and including space.
- An accurate model of an inertial measurement unit (accelerometers and gyros). Ideally, it should handle temperature variations.
- An accurate model of a GPS device.

All of these should ideally provide a model for introducing noise. Contact Josh Triplett or Jamey Sharp if you want to work on one of these projects, to get a more detailed specification of the interface.

## GIS projects

Give us working code to load geographic data (elevation and photography) from geodata.gov, and map it to coordinates in some reasonable coordinate system. Demonstrate that it works with some simple checks, like finding the highest and lowest points in Oregon. You can use an existing library for this; however, it must provide a C-language interface, and use a GPL-compatible license.

## Firmware projects

We're writing an open source "framework" for NXP Semiconductor's LPC21xx seies ARM7 chips. It's basically a software interface to the chip's peripherals. We're calling it... "sling". Ha! Get it? Sorry. There are dozens of little tiny projects with sling, one for each peripheral (such as serial port, ADCs, watchdog timers, etc). Basically, pick an peripheral and write an interface. This includes the the main chip infrastructure, including the vector interrupt controller, memory configuration, etc.

There's also the GPL-GPS project: an open source GPS receiver. That's a big project, and there aren't a lot of little projects for it, but it's a fun project if you want to jump into something big.

## Sensor projects

We're building a billion little sensors in to the rocket: a 3D magnetometer, an inertial measurement unit, pressure sensors, and temperature sensors.

- Write requirements for the sensor (dynamic range, power supply, dynamics, etc)
- Pick a sensor that fits the requirements as much as possible
- Design an ADC interface for that sensor
- Prototype it and interface with a laptop using an Olimex board or a labjack

## Avionics projects

- Get started with lpc2148 project:  [[Bob-4 Video Overlay Board|BOB4VideoOverlay]]

- Compile/port the latest version [FreeRTOS(V5.x.x?)](http://www.freertos.org/) to the LPC2148.

  We have an earlier version(V3.2.3) in the [PSAS git repository](http://git.psas.pdx.edu) for reference.

- Create a small example or tutorial for using FreeRTOS on LPC2148.

- Smart battery system. Avionics cage. USB hub. Power supply.

## Communication projects

- Build a compact modem to work over a credit card sized 2m radio.
- Help build the cylindrical patch antennas.
- Help build the next generation amateur TV transmitter

## What do I need to get these projects done?

1. A computer (laptops are best for this project, so you can bring it to a meeting)
1. An account on our wiki
1. Membership to the appropriate email list