Archive for category Misc projects

TDC core test results

The test results for the FPGA time to digital converter (TDC) core are available from OHWR. Except from one problem which I believe is due to external signal integrity problems, the core worked well on the SPEC. From these tests, the 2-sigma precision is +/- 52 ps.

No Comments

Open source TDC core for FPGAs

TDC core block diagram

Recently, I have been working on a time to digital converter (TDC) core for Xilinx Spartan-6 FPGAs. I was contracted by CERN to develop it, and everything is available under the LGPL license from their open hardware repository.

The reasons for using the FPGA-based solution compared to the ASICs available on the market are flexibility (e.g. channel count), low latency (which enables applications such as fine delay generators that they cannot do with the current chips), low cost, more sourcing possibilities, and increased openness.

I still need to test the core on real hardware and precisely characterize its parameters, but you can already download the source and read the documentation. TDCs are useful even outside the context of large particle accelerators, for example in LIDARs and laser rangefinders.

No Comments

Nabaztag/tag sources released, with embedded WiFi driver

With the release of the Nabaztag/tag sources, I have uploaded to Github the part that corresponds to the WiFi driver that I wrote for Violet in 2006. It is here mainly if you want to add WiFi to your project, and is released “as is”. There is absolutely no support for it, since I have better things to do.

This driver enables the use of the low-cost RT2501U/RT2571W SoftMAC Wi-Fi cards on platforms with very limited resources.

Features

  • Industry-proven
  • Written in C
  • High portability
  • Low memory footprint
  • Low CPU resource usage
  • Integrates 802.11-compatible stack
  • Supports Client (managed) mode
  • Supports Access point mode
  • Supports WEP
  • Supports WPA-PSK

Typical environment

  • 30MHz ARM7-based microcontroller
  • 64kb Flash
  • 64kb RAM
  • USB host controller (DMA-capable or with shared memory)
  • Any Wi-Fi card based on the Ralink RT2501U/RT2571W chipset
  • USB stack (not included)
  • TCP/IP stack (not included)

No Comments

Looking for multimedia artists

We are looking for multimedia (mostly graphics) artists for a democompo project. You do not need to have an expert level in programming to participate (if your only contribution is good looking bitmap images, that’s already a lot!), even though a little background is advisable if you want to do animated thingies or some rendered effects (we could help you however).

This mini-project consists in developing a compo on the Milkymist open hardware system-on-chip platform that will present Sanobot, the toxic gas sensor and Twitter bot of /tmp/lab, a hackerspace set up close to a chemical factory.

We look forward to presenting it at demoparties (unfortunately it was not ready for Main#4).

What is a Demoparty:

More info on Sanobot:

More info on Milkymist:

Project wiki page (with scenario outline… that you are of course invited
to improve):

So if you think you could design some cool graphics for this project, contact sebastien dot bourdeauducq at lekernel dot net. There is nothing to win, except loads of geek fun, some technical background, and hopefully a demoparty prize ;)

1 Comment

Sanobot data for the first half of September

The CSV data from Sanobot for the first half of September is now available here: sanobot_half_sept.csv. Sanobot is the toxic gas sensor and Twitter bot of /tmp/lab.

Plot of the CSV

Plot of the CSV

The first column of the CSV gives the Unix time at which the measurement was taken. The other two columns are the ADC output for respectively the TGS2602 and the TGS2600.

For information about how to interpret the data, see here: http://lekernel.net/blog/?p=509 and http://lekernel.net/blog/?p=517.

Using the full CSV data, we can now try to figure out when is the best time to trigger the Twitter alert. For now, it posts a new alert when one value varies by more than 30% compared to the last posted.

NB. The huge peaks are because of people playing with cigarettes near the sensors. Smoking kills.

1 Comment

Demoparty Compo with Milkymist

The demoparty MAIN#4 will take place from October 2 to 4 in Arles (France) with a lot of famous teams from the demoscene. The theme of this demoparty is the lightness of code.

The idea here is to present a compo based on the Milkymist hardware platform within a month. It may be a 2D/3D compo (or 2D only) and must be less than 10min long.

If you have ideas and/or want to be part of this, there is a small wiki page at http://www.tmplab.org/wiki/index.php/DemoParty_Compo_with_MilkyMist. Feel free to subscribe and edit this page (or the discussion tab).

ML401 FPGA boards (on which Milkymist can run) or similar boards are wanted. Required feature set is:

  • Virtex-4 FPGA (XC4VLX25 or better)
  • 32-bit DDR SDRAM or 64-bit SDR SDRAM (no DDR2/DDR3), 32MB at least
  • NOR flash, 1MB at least
  • 24bpp VGA DAC
  • AC’97 sound
  • Optional but nice to have: CompactFlash card reader, with SystemACE controller chip

If you have a suitable board and would like to lend it to the demoparty project, thank you very much. Contact kiniou at gmail or sebastien dot bourdeauducq at lekernel.net.

No Comments

Gas measurements

Many people are asking me what gases are detected by the sensors. All I can do is quote the Figaro Sensors documentations:

“The TGS 2602 has high sensitivity to low concentrations of odorous gases such as ammonia and H2S generated from waste materials in office and home environments. The sensor also has high sensitivity to low concentrations of VOCs such as toluene emitted from wood finishing and construction products.”

“The TGS 2600 has high sensitivity to low concentrations of gaseous air contaminants such as hydrogen and carbon monoxide which exist in cigarette smoke. The sensor can detect hydrogen at a level of several ppm.”

The data sheets do not say much more. In particular, I do not know if the sensors are sensitive to other types of gases, what the exact list is, and how they react to a mixture of gases.

No Comments