Servo tester firmware for the STM32F0 microcontroller.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
f0lib
stm
.gitignore
Makefile
README
config_gdb.cfg
config_openocd_stm32f0.cfg
externs.h
globals.c
isrs.c
main.c
screen_1pos.c
screen_2pos.c
screen_3pos.c
screen_calibration.c
screen_game.c
screen_specan_live.c
screen_specan_waterfall.c
screen_sweep.c
settings.h

README

Servo Tester / Spectrum Analyzer / Tetris-like Game

Written by Farrell Farahbod < farrellfarahbod@gmail.com >

===============================================================================

This project started as a servo tester back in 2012. It has since grown to include a 2.4GHz spectrum analyzer and an implementation of a Tetris-like arcade game. The original code base was my first significant project with a microcontroller, and it was a phenominal showcase of my inexperience ;) In mid-2014 I began the code refactoring process and added many features. This project has reached a usable state with only one feature still unimplemented -- bluetooth. I eventually plan to stream data out via bluetooth and write an Android app to graph the history of various data points and allow remote control of the servo tester features.

===============================================================================

Navigating the code base:

1. Start with /settings.h, /globals.c and /main.c
2. The ISRs are defined in /isrs.c
3. The screens (servo tester modes, spectrum analyzer modes, and the arcade game) are defined in the various /screen_*.c files.
4. My collection of anything remotely reusable is in /f0lib/. It's a crude library, not really ready for sharing, but it's used in this project. If you plan to use it elsewhere you MUST read the function implementations as many aspects are incomplete or "fragile."

===============================================================================

License:

The three files in /stm/ were NOT written by myself, see each file for it's license.

All of the other files were written by myself and are released into the public domain (this is also indicated at the top of each file.) Use the code however you wish.

===============================================================================

Hardware used:

	1 STM32F051R8T6 microcontroller
	1 TFT1P4705 LCD module with backlight (320x480, 16bit RGB565, D51E5TA7601 controller IC)
	1 CC2500 2.4GHz RF module (for the spectrum analyzer features)
	1 HC05 Bluetooth 2.0 module
	4 TI INA199A1 current sense amplifiers (50x gain)
	4 10mOhm current shunt resistors (results in 6A fullscale readings with 12bits of resolution)
	A power switch, 6V battery, lots of wires and a project box.

===============================================================================

A blog post with photos and video clips is available online at:  http://www.farrellf.com