STC15L204 : v2, and Thingspeak

06/06/2014 Posted by admin

No big news regarding the STC15L204 code. I have just updated the schematic, I have simplified cabling the resistors, capacitors and the ds18b20 directly on the stc board and have made some ‘live’ tests with 2 sensors at home (one being outside, in the mailbox…).

Receiver is done via a Raspberry Pi, and data is sent to Thingspeak server.

To increase distance, nrf24l01 speed was lowered to 250kbps.

(Lire la suite…)

preliminary – on-going : zx81 om stm32f103

12/05/2013 Posted by admin

zx81 on stm32 mini v3

STM32F4 Discovery / MP3 / Libmad / SDCard / USB-ouput / ChibiOS 2.6.1

11/08/2013 Posted by admin

Just an update for ChibiOS 2.6.1 of the code I have to run Libmad on the STM32F4 Discovery board.



Playing with STC15L204 : memory layout / IAP&EEPROM

09/17/2013 Posted by admin

Well, the STC15L204 data-sheet is not very clear on some aspects (the device is simple enough to compensate…).

I almost totally forgot that this device had a 512 bytes E2PROM… And I also wanted to explore its memory to try to figure where ISP code could be located, thus I made a small program to dump the memory content , first using a code pointer (something like « ptr=(__code unsigned char *)addr; » ) and then using the IAP registers (and to get some output in the IAP section, I have put a write 0×55 at address 0×123).

Here are the results (only displaying lines that does not contain only 0xFF) :

On first run :

> Device ready
0000 02 00 13 32 FF FF FF FF FF FF FF 02 02 5F 12 00
0310 50 52 4F 4D 0D 0A 00 0D 0A 3E 20 45 4E 44 0D 0A
0FF0 FF FF FF FF FF FF FF FF FF 00 0B 00 54 00 A4 BD 



(Lire la suite…)

First tests with STC15L204 + NRF24L01 boards – SDCC code

06/10/2013 Posted by admin

I have been searching for low cost wireless boards in the past few months to interface with PIR detectors & temperature sensors to create a small wireless network at home, and I have found the following product :

on many (Chinese) websites ( / / etc…) for around $7 (includes the nrf24l01+ module).

I bought some (via, and only found limited number of documents describing them (mostly the datasheet on

(Lire la suite…)

Add a console to Cisco Small Business SLM2008

02/27/2013 Posted by admin

I recently opened a SLM2008 and noticed the unpopulated header with two signal lines : looked like a RS232 header.

Browsing the web (Maxim Integrated’s website) , I found a device that could be used for the unpopulated U11 : Max3243 (exact part could be another one, as I am not sure for pins 21/22 & 23, but I only really care about the TX/RX pins). On this part, there is a RS232-to-TTL between pins 6&17 and opposite TTL-to-RS232 between 13&10.

I quickly added wires on those pins :


And the ‘bus pirate’ on the header.

(Lire la suite…)

The weakest link in a Dell PE180AS KVM

02/27/2013 Posted by admin

This one is a bit outdated (March 2009), but I have found these photos back.

At the time, I had a problem with a Dell KVM that was no more working (no/bad video output, no more control over the KVM from the keyboard, etc…), and after asking the support about how much it would cost to have it fixed (which was the equivalent of buying a new one !), I decided to open it and try to fix it myself.




(Lire la suite…)

The ‘Hack-a-day’ effect

01/28/2013 Posted by admin

My STM32F4 Logic analyzer webpage was indirectly linked by on January 27th 2013.

(Lire la suite…)

Using STM32F4 as a logic analyser (SUMP/8channels/21Mhz) – (not 24Mhz)

12/20/2012 Posted by admin

or « Will my STM32F4-discovery board replace Arduino/Bus Pirate ? « …

Well I needed a logic analyzer to track some bugs in a project I am working on, but that could do more than the Bus Pirate OLS mode…

So I found this on the web : SUMP compatible logic analyzer code for Arduino.

But I also wanted a higher sampling rate.

- The code for the SUMP protocol was there from the Arduino project.
- I had the STM32F4 handy (the same I used for the MP3 – libmad port)
- The libopencm3 had a simple working example of a USB-CDC on the Discovery board

Go… Mixing everything in that code : here.
(you need libopencm3 in /opt/libopencm3)

Code update 28/04/2103 : Acquisition rate was in fact 21Mhz, there was a bug in function « cdcacm_data_rx_cb », the acquisition loop is now in an asm-inline code which should prevent different code optimization by different compiler versions. Those problems were submitted by Iosif in the comments, many thanks to him. Here is the new code.

After some tests + optimizations , here is the result : 2421Mhz sampling, 8 channels (port PE8-15).

(Lire la suite…)

Easy/Small JPEG compressor program for embedded systems / mono images

11/20/2012 Posted by admin

Here is a code I created long time ago for PPC target (there is still some asm statements that might work, although I have not tested them recently).

It should be pretty simple to re-use it on any other target that can do 16×16 multiplications.

The main loop looks like this :

For each group of 8x8 block(MCU)
process MCU
write outputbuffer

Code is around 15K in standard C, and results in a static executable file of around the same size (14440 on my machine).

In the example, the input file is ‘image.y’ (Netpbm PGM « rawbits » image data , 1280×1024).
Output file is ‘testout.jpg’.

The jpeg header & related quantification tables are all fixed and pre-calculated (in included files).
(Lire la suite…)