It being almost Christmas I decided to decorate the family tree with some RGB LEDs but I wanted a bit more fun for myself and my two-year old daughter. So I used addressable RGB LED strip driven with a DipCortex. Which lets us set any LED on the strip to any colour.
To provide some interactivity I added a set of Red,Green and Blue arcade buttons. I set them up so my daughter can walk up to the tree and set off a colour, or mix of colours, spinning up the tree. Which as well as entertaining has been fun watching her mix the colours and shout out their names.
Normally controlling a large number of LEDs requires a number of LED driver chips and lots of control lines, The strips I am using on the tree have 360 LEDs and this is all controlled via one port pin. The LEDs themselves are also very tightly packed on to the strip and this is possible because the LED driver has been embedded in to the silicon of the LED. So you end up with a small four pin device that uses two pins for power, one for communication in and the last for communication out.
DipCortex’s have begun to arrive around the world over the last week we have fulfilled orders going to every continent. So the first question is how do you use it! which means getting your own compiled code on to it. The DipCortex uses a mass storage boot loader (acts like a memory stick) that is built in to the processor. To activate it you hold the boot button while plugging in a USB cable connected to a PC or hold the boot button while resetting it. The DipCortex then appears as a new drive on your PC, to change the firmware delete the firmware.bin, replace it with your own and reset it. Once reset it will then start executing your new code.
Writing code for the first time for a new device has a learning curve, starting off small is a good first step and one of the simplest things you can do with any micro controller is use it’s GPIO. For that we have a guide and a video which will get you up to speed with controlling the GPIO using LPCxpresso. Using mbed is even easier as they add a HAL (hardware abstraction layer) that makes controling any mbed supported platforms GPIO the same, this example shows you how to toggle the LEDs.
Moving on from there we have a growing list of examples on our mbed page which include using the USB connection as a serial port and streaming ADC data to the PC. For those of you with a WiFi DipCortex we have a large demo that shows you how to connect the CC3000 module to a network and implement UDP, TCP, NTP, HTTP Get, HTTP Put and Websocket. I hope to create a few more specific demo’s next to show you how you might create your next internet connected device.
Our forum also has more info, FAQ’s and links to other examples. Also drop us a message and let us know what your making, we will try to help where we can and show off your project on the blog as well.
At the end of the week we hope to release the remaining stock to people who have pre-ordered after the release of the first batch and those that filled in the stock request form. It does look like we will need to order another batch which is very good news!
Today was a good day, our long-awaited DipCortex’s have arrived! We are busy testing the batch and running each one through our test rig to check every function works as required. To make them a bit easier to tell apart each has a different PCB colour. Red for the WiFi DipCortex, blue for the DipCortex M3 and green for the DipCortex M0. For those of you that have pre-ordered you will be getting an email inviting you to complete your purchase very soon.
Update : All pre-orders received before the 26th Oct should have an email inviting them to complete their order
A few weeks ago, Martin Kojtal contacted us about working together to create a complete library for the CC3000 on the mbed platform. One that could be used with existing mbed library’s. He assembled a small team of developers with a similar goal and this week we are ready to share it with the world. The library is fully working on the WiFi DipCortex and there are many demos available that demonstrate how you can write your own applications using the WiFi Dipcortex.
We have put together an mbed cookbook that list the demo’s and shows you how to configure them, these include TCP server/client, UDP server/client, Websocket, HTTP client and Twitter client. Specifically for the DipCortex I am putting together an example that brings them all together in a similar way to the standalone C example project I shall be sharing does. I call this my kitchen sink project.
For those of you that prefer to work in an offline IDE and get a little closer to the bare metal, I will be posting my LPCXpresso C project to GitHub
in the next few days here. This example shows you how to configure the CC3000 modules and again set UDP/TCP clients and servers. It also adds in the USB CDC support so that an external serial to USB convertor is not required. You can see an earlier version of this software in my video.
Here is a quick video showing the current firmware for the WiFi DipCortex using the CC3000, It demonstrates connecting to an access point, resolving and pinging a hostname. Communicating over UDP to a PC and using smart config to configure the access point the WiFi DipCortex should connect too.
This firmware will be delivered with your WiFi DipCortex letting you (and us) test it out before you start having fun customising it for your application or writing your own code.
We are heading to the Brighton Mini Maker Faire this Saturday ( 6th September ) Come along and say hello, play the LAByrinth and see the DipCortex’s. We can’t wait to see what the other maker are doing as well.
The DipCortex Pre-order has been massively popular and we thank you for the support you have shown! If you haven’t pre-ordered one do it now I think we will be shipping to every continent. While that has been happening we have been hard at work sourcing the components (battling to get them through customs) and working with our PCB assembly house on ironing out any kinks to improve the ease of production. Once I have a delivery date from them I shall let you know, I’m hoping it wont be long now!
More exciting news, ARM have added support for our DipCortex platform to their mbed online compiler.
The ARM mbed team contacted us a month ago to talk about our DipCortex range with a view to expanding the mbed platform to support it. We got them a few of our prototype DipCortex’s and today they enabled it.
The big difference between mbed and other IDEs is that the compiler is online, you use it via your browser and your projects live in the cloud. This also has the advantage of there being many library’s for existing devices that shouldn’t require too many changes to get working, if any.
From today mbed users can now select which platform to build their code against, build the project which downloads a .bin file. This can then be dragged and dropped on to a DipCortex in boot mode.
Our next challenge is to port the CC3000 stack we have working with LPCxpresso to mbed. Stay tuned for more updates!
For the past few weeks we have been overwhelmed with interest in our DipCortex range, to satisfy this we have searched for the best UK-based assembly company with the capabilities to produce our DipCortex modules in volume. We will be placing the order with our selected manufacturer next week.
To ensure that people who are most interested get them first we are operating a pre-order system. Starting today you can secure a DipCortex for just £1. You are free to pre-order multiple boards if you like as well. You will receive an email with a link to our shop as soon as the boards are ready, letting you complete the purchase for your selected DipCortex. Estimated delivery time is currently 6 weeks.
The boards will go on sale priced at :
DipCortex M0 – £18 (£19 with header pins soldered)
DipCortex M3 – £22 (£23 with header pins soldered)
WiFi DipCortex – £35 (£36 with header pins soldered)
Your £1 will be deducted from this price. Shipping will be based upon your location and international shipping will be available. In the UK we charge the standard special delivery rate or uninsured first class post.
WiFi is something we have wanted to do for a long time, but there are a lot of technical and regulatory challenges around it. If you’re running an OS on an embedded PC like the Raspberry PI, WiFi is simple, you buy a cheap dongle and the intelligence is in the driver.
For a low power embedded project where you’re not running an OS it gets a lot harder and that means it’s expensive. So the only real option is to use a WiFi module and these are normally expensive.
A few months ago, whilst designing the DipCortex, we identified a module that is low cost and comes with FCC, IC & ETSI certification, saving huge costs assocaited with getting radio equipment through testing. The goal was to squeeze this module, the TI CC3000MOD, on to a board the same size as the DipCortex which was a massive challenge, as the DipCortex is sized to replace a 40pin DIP package.
Be sure to view at 720p so you can read the code!
This video takes you through the setup procedure, importing our codebase from GitHub, running through the code. Building it and boot-loading the bin file over the USB connection.
These guides are applicable for both the DipCortex’s and the up coming SolderBridges that use the same processors. We hope they are useful, if you have a preference for the subject of the next guide let us know!