XMOS Venture

I started my venture into XMOS which is a fairly new company (2005) which develops Event-driven processors. These are some great products if your looking for speed and ram.

These are no where near a PIC/AVR micro in comparison. A PIC32 Can hit about 80Mhz with 1.5DMIPs/Mhz so thats about 120MIPs … And some AVR32 can hit 210 DMIPS @ 150 MHz which is great!!!!

With a single core XMOS XS1-L1 you can achieve 400MIPs of power. Even tho the Max I/O for a pin is 100mhz… Now the neat thing is XMOS is a multi-threading type MCU/CPU… Where i can have upto 8 processes running at the same time. The issue or drawback is that they share the power. Which isnt bad… If i only use 4 threads then its 100mhz per thread… so its like running 4 PIC micros at 100MIPS each and they can all communicate with each other with no extra hardware cost and minimal software intervention.

I cant really comment on AVR32 micros because i never really used AVRs…. You can also use all 8 threads if need be.. They would have about 50 MIPS each which is still great for the price of  a PIC18F MCU…Let me get back to the drawbacks…

There are no on-board peripherals such as UART, ADC,SPI etc… But the cool thing is most can be done in code. So you get what you want on a MCU… dont need SPI …. dont add it heh simple as that…

Now your probably thinking what if i need more threads …. they have a nice 2 Core MCU… XS1-G2. This puppy has 2 cores which allow up to 16 threads and the speed is also doubled to 800 MIPS, YES 800… so if you use all 16 threads ten you technically have 16 PICs running at 50MIPS… if you use 4 on each core then you have 8 PICs running at 100MIPS each…

Need more… greedy!!! But they can take care of you with a  4 Core XS1-G4.. as you may have guessed by now 32 Threads @ yes!!!! 1600MIPS …. You get the picture right!?!

You want to know what crazy about this whole thing… You can connect ICs together here with a XLINK which is a bridge for them. So you can call functions from 1 IC on another from any core…. Love them so far dont cha!!

Heh your gonna go nuts after this tho…. they also have a XMP-64 which is 64 Core dev tool… This bad boy has 16 * 4Core XMOS chips on it… It can run up to 512 Threads! 4MB RAM!! 25.6 GIPS!!! YES GIPS!!! aka 25.6 Billion Instructions Per Second….

Thats equivalent to : 0.0000000000390625 per cycle… or 39 Picoseconds…. but remember.. its equivalent not actual. Since all threads are running simultaneously.

Anyway. I hope you enjoyed this LONG post…. Thanks for reading and feel free to comment or correct me heh…


after setting up my breadboard as a PICDEM Z board i altered the UART to invert the bits since im not using a driver such as the Max232 i am using 2 resistors instead so invert is needed… I got a 4mhz crystal i pulled from another pcb and so far so good heh… here is my hyperterminal window:

Ill edit the code more and setup a second device and see what i can do heh… later


Hey guys i just noticed this would be so messy if i try to do this on breadboard heh. Since the hardware is mostly fixed i will be make some demo boards based on the PICDEM Z board from Microchip. They will be small and mainly for this RF project. But ill be sure to breakout as much as i can.

So this project will be on HOLD until boards are done.


Hey everyone just got my hands on 2 of these MRF24J40MA RF Transceiver modules. Which seem to be great little devices for $10 each… I plan to use MiWi as a first test since it was made for it.. I know im going to run in to trouble since i have no experience with any network protocols like this and Zigbee.

Here are some images stock and my actual boards. They came as flat boards, i put in some work to make them dip and i think it is worth it heh… For real world use i recommend just straight solder to a PCB…

More Information: [ LINK ]


The Sony Infrared Protocol is by far the simplest to implement in any design using IR data. Once you fully understand the SIRC then you can surely create your own. Below is code i made for the PIC12F629 Microchip. This code was written in SourceBoostC which is a C programming language for pic micros. Usually i will use C18 for PIC18F’s but for PIC12F and PIC16F i will use BoostC. What it does is:

1. Receive Infrared Data
2. Has a learning mode to store new button press as default
3. Turn On/Off a Relay which can control up to 125v @ 1 Amp

The code is actually simple and i have commented it a bunch. Below you will also find a Schematic and Video of it working.

Code: [Download]
Video: [Youtube]

First blog ever !

Hey my name is Jason. This is my first blog and since it is let me just explain who I am and what you can expect to find on here.

As said before my name is Jason… im 25 as of the date on this post… I am currently a student or will be in 2 weeks at Devry College in NY(USA).  My main interest is Electronic Engineering. Im going for my Bachelors degree and hopefully ill get it in time heh…

You can expect to find a ton of things here related to electronics. My projects, thoughts and free code that i have created.

I would love it if some of you great people out there comment and ask questions. I love helping when ever i can.

So enjoy your visit(s) and be sure to comment your butt off !!