All Projects → andysworkshop → nanocounter

andysworkshop / nanocounter

Licence: other
An FPGA/STM32 based frequency counter with an Android user interface

Programming Languages

java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language
VHDL
269 projects
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
assembly
5116 projects

Nanocounter: an FPGA frequency counter

Welcome to the github repo for Nanocounter, my FPGA-based frequency counter with an Android user interface.

Nanocounter board

The main Nanocounter board houses the input stages, the FPGA counter, the STM32F072 controller and the HC-06 bluetooth daughterboard used for communicating with the android app.

Android app

The FPGA communicates with the STM32F072 to receive counts and sends them over bluetooth to the Android app.

Read the full write up

The full writeup for this project can be found at my website. Click here to read it.

Building the project

I build my projects on Windows 10 using Cygwin to deliver a Linux-alike command-line experience. The following tools are required as dependencies before you can build anything:

  • The Scons build system.
  • The GCC ARM Embedded toolchain. Click here to get it.
  • The Xilinx ISE webpack. I'm using v14.7. The ISE_DS/ISE/bin/nt64 subdirectory should be in your PATH (Xilinx don't make this obvious!)
  • Android Studio

The main SConstruct file in the project root is sufficient to build everything apart from the Android app. The correct scons invocation is

scons mode=small

To build the Android app, open it in Android Studio and build from there. Since Android studio is little more than a clunky wrapper around a gradle target you can of course run the gradle build targets from the command line if you so prefer.

If you're not intending to do any actual project development then you can just install the app from the Google Play Store. Search for nanocounter or Andy's Workshop.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].