Component Database: Shield Promotion Chat Space

24 Sep 2013

This will be a place for the recipients of the Component Database: Shield Giveaway to introduce their planned work, progress and ask questions about creating Components on mbed.org. Let the fun begin!!

24 Sep 2013

Hi! I'm Jas from heroicrobotics.com and my giveaway was a pair of Nordic nrf2401a boards and an LPC800-Max.

I have to confess that I am a little disappointed. I thought these boards would be the (infinitely more capable) nrf24L01+ but they're not. I'd already released a library on mbed for those chips, and was looking forward to porting it to the LPC800. Still, nil desperandum. I've ported the Arduino driver for the 2401a and I'm working on getting a test rig set up.

My project? Well, my company sells LED strips (and a vaguely-mbed-derived ethernet based controller for them.) I've already ported a driver for these strips to the small LPC part, and I'm going to make a wirelessly controllable light painting staff!

25 Sep 2013

Hi! I'm Boris, hobbyist from Cambridge (UK) and in fact living right near ARM. My giveaway was a Sparkfun GPS Shield and an LPC800-MAX.

I do a bit of IoT tinkering around the house and my work place. I primarily use scripting languages in my day job, so when I do things on microcontrollers, I quite often miss complex data structures, or even strings or regular expressions. My weapon of choice so far was Arduino, but I want to use the Shield Giveaway to learn how to do things on the mbed platform.

The giveaway was a positive surprise as it said 'shield (without GPS)' on the website, but in fact I received the Sparkfun retail package that includes headers and a EM406a GPS module. I'm intending to do a comparison with the Adafruit Ultimate GPS v3 that I've already had. In theory that should be fairly straightforward (both talk serial), the devil is going to be in the detail.

As I said, C is not my natural home, so expect some funny questions.

25 Sep 2013

Hi everyone, I'm Willem Braat from the Netherlands. Received the boards in good order, and we are quite happy with the. We are actively involved in building flight simulator devices. We will be using an LPC800-MAX and a motorshield to drive the control column of a simulator through an autopilot. For this we will use one stepper motor, so only one movement can be simulated, and this will be the aileron or roll.

Cheers, Willem

25 Sep 2013

Euhm question: It was over mail confirmed I had something, but I currently have nothing. Also not a clue what it is I should be getting. So when did you guys get your module? And did they mail what it was going to be?

25 Sep 2013

Erik - wrote:

Euhm question: It was over mail confirmed I had something, but I currently have nothing. Also not a clue what it is I should be getting. So when did you guys get your module? And did they mail what it was going to be?

Hi Erik, I was notified by email at each stage, and asked to confirm my details before Sam could send me the boards. Have you had that email and did you reply? If not perhaps a gentle reminder email to Sam might help :-)

Sophie x

25 Sep 2013

Hi all, I'm Sophie from the UK.

I received a Freescale FRDM-KL25Z and a Seeed Studio CAN-Bus Shield today, thanks Sam :-) One of the first things I need to do is get some connectors soldered to my FRDM mbed so that I can plug the CAN-Bus shield into it (hopefully tomorrow).

I will be using my mbed and CAN-bus shield to develop a new version of Just4Trionic, my mbed based system for FLASHing Saab cars. The benefit of this new version should be that it is easier to make because it will need less soldering (granted, the FRDM-KL25Z needs connectors :rolleyes:). I hope to eventually realise a self contained version using an LCD touch screen so that it can be used on it's own (i.e. no need to connect to a computer or laptop).

I hope to further my software skills by writing a CAN-bus device driver and particularly improve my understanding of object oriented and structured programming concepts. Software programming is a relatively recently acquired pastime (you may think it an odd hobby, trust me my friends do, but I find it therapeutic) and my first foray was actually with MC68332 assembly language (which also proved to be very helpful experience when later getting to grips with the concepts of pointers, addresses and references :-o ). Since then I have taught myself C, C++ and C# and written some bits and pieces.

Sam promises to be a hard taskmaster but, if I have enough time, I plan to write my own driver and port Seeed Studio's Arduino driver. I hope that porting Seeed Studio's driver will be quite quick, but I like a lot of Nigel Jones ideas on how 'good' software should be written - some of the Trionic Suites code is quite shocking and I know I have picked up bad habits :-(. I hope to follow a lot of Nigel's advice and have found his Hardware, Coding Standards, Effective C/C++ and Efficent C/C++ blog posts very informative.

I stumbled across Nigel's blog when I decided to find out about the modulo (%) operator since I'm quite fond of using it. It turns out that I didn't need to worry as the ARM CPU is very good at doing modulo operations, something of a pleasant suprise since I thought it wouldn't be (I am fairly sure that the MC68332 would be very slow to do the same thing and Nigel's Efficient C Tip #13 – use the modulus (%) operator with caution blog entry shows that other systems are much slower too).

Just before I go, Gordon Padkin of Freescale is running a workshop at the Electronics Design Show in Coventry, UK on the 2nd of October: Internet of Things workshop...

Sophie x

25 Sep 2013

Sophie Dexter wrote:

Erik - wrote:

Euhm question: It was over mail confirmed I had something, but I currently have nothing. Also not a clue what it is I should be getting. So when did you guys get your module? And did they mail what it was going to be?

Hi Erik, I was notified by email at each stage, and asked to confirm my details before Sam could send me the boards. Have you had that email and did you reply? If not perhaps a gentle reminder email to Sam might help :-)

Sophie x

Thanks, and indeed I haven't received those mails, time to kick Sam :).

Edit: nvm that, opened mail and just received a mail from him :P

Quote:

Software programming is a relatively recently acquired pastime (you may think it an odd hobby, trust me my friends do, but I find it therapeutic)

Same for me tbh. You actually make something with it, I gave that up a bit ago. Okay it does happen I make something with it, but generally I just write code for something I am not actually planning to do something practical with :)

26 Sep 2013

Hi everyone, I'm Neil from Canada. I received the Seeed Studio 2.8'' TFT Touch Shield V2.0 and an FRDM-KL25Z. I was already building a lightweight GUI library for small displays, so the TFT shield was perfect for me. So far I've added just enough code to my NeatGUI library to get the display and running (very slowly however). It took a little figuring to get it going since there were 3 undocumented jumpers that needed to be closed in order to actually connect the SPI pins to the header pins... Anyway, once I get the NeatGUI driver working perfectly I'll probably break off a copy into a self-contained library for the Component page.

26 Sep 2013

Hi everyone, my name is Ney Palma. Im from Guayaquil, Ecuador, i received a FRDM-KL25Z board, and relays shield and screw, well i will try to use then in an light automation home project.

Greetings

26 Sep 2013

Hi All, I'm Peter from Australia. Sam kindly sent me a Seeed Studio SD Card Shield V4.0 and a FRDM-KL25Z. After I get the mbed SD File System "Hello World" to work I'm hoping to build a GPS logger. There are several examples of these on the mbed site so these should help me to get something going.

26 Sep 2013

Just received the LPC812-MAX, Seeed Studio NFC Shield V2.0 and Sparkfun Ardumotor Shield

I'll have a go at creating following applications:
NFC shield : (Idea by Jim Carver from Avnet) - Set/exchange CC3000 wlan settings and access its user memory. This will be an alternative to TI’s Smartconfig tool.

Ardumotor Shield : Free running ‘plotcart’ concept (perhaps someone already created this?). small 3-wheeled cart (motor + servo) with a pen - send text/graphics to the device (perhaps using NFC or wireless), place it on any flat surface and let it run. Fun part : unlimited 'paper' size.

27 Sep 2013

Hi All,

still waiting for the LPC812 MAX and a WiFly shield. I did start writing some libs for the LPC812 using my LPC812 Expresso board for testing. Sofar I developed a lib for the PCF8591 ADC/DAC found on the LPC812 board. Someone else tested it on the MAX and all seems well. See here.

The WiFly shield may be a challenge for the LPC812 MAX. First tests with some existing driver software (without actual user code) show that it wont fit in the available 16K Flash. I will continue testing code on the LPC1768 and KL25Z, then try to port for the LPC812.

Edit: Received both modules.

28 Sep 2013

Hi All,

I'm leo from Cambridge UK. Just picked up my FRDM and wifi shield. Gonna do a wifi connected temperature monitor that's gonna help me figure out the best heating patterns to set for the winter.

28 Sep 2013

Hi everyone,

I'm Chris from Gateshead, UK. I've been sent a FRDM-KL25Z with nRF2401A breakouts. Sadly they've been sent to work while I've been on my Holidays. Will pick them up on Monday.

Quote:

Jas Strong

Hi! I'm Jas from heroicrobotics.com and my giveaway was a pair of Nordic nrf2401a boards and an LPC800-Max.

...

My project? Well, my company sells LED strips (and a vaguely-mbed-derived ethernet based controller for them.) I've already ported a driver for these strips to the small LPC part, and I'm going to make a wirelessly controllable light painting staff!

Hi Jas, I think we should work together on one component database, rather than two. what do you think about a little colaboration on the basics and an individual project from each?

I see you've started porting the arduino code over, would you add me as a developer to that repository and I'll start to test once I have my boards? I also have an LPC1768 and an LPC812 MAX to test with.

Sounds like a good project, I was going to attempt to control a quadcopter with mine, maybe make use of the accelerometer thats on the FRDM-KL25Z.

29 Sep 2013

Done and done.

Hey Sophie, the reason ARM processors are fast at modulus is that they usually have hardware-based dividers. You should note that while the Cortex-M3 in the LPC1768 has one, the Cortex-M0 in the LPC812 and KL25 does *not*, and so modulus will be very slow.

02 Oct 2013

Heroic Robotics wrote:

Hey Sophie, the reason ARM processors are fast at modulus is that they usually have hardware-based dividers. You should note that while the Cortex-M3 in the LPC1768 has one, the Cortex-M0 in the LPC812 and KL25 does *not*, and so modulus will be very slow.

Thanks for that snippet of information Jas, I may have to resort to using other means on my FRDM system...

04 Oct 2013

FIRST WEEK UPDATE:

Here we go: I'm relatively new to mbed / C programming and are therefore stuck with something quite trivial.

My project is meant to be the comparison between the EM406A GPS module by GlobalSat and the UltimateGPS v3 from Adafruit Industries. The former was part of the giveaway and is happily sitting on an Arduino shield.

I can connect both GPS modules to serial TX / RX and send output through the USBserial* back to my computer. I do this using the GPS library from Simon Ford (https://mbed.org/components/EM406-GPS-Module/). My problem is now that I'd like to use both GPS modules at the same time, one of them being connected to some sort of software serial. That's a relatively trivial task on the Arduino, however, my C isn't great and I can't quite figure out how to adjust the GPS library to treat any digital IO as serial. MODSERIAL by Andy Kirkham (https://mbed.org/users/AjK/code/MODSERIAL/) may represent an entry point, but I think I first need to understand how the microcontroller schematic on that page compares to my LPC812-MAX ports.

I'm not despairing (yet), but any hints into the right directions would be appreciated!

Boris

  • Note: The LPC812-MAX board comes with a funny jumper setting that prevents USBserial communication. Somebody in the forum guided me that way, thanks very much! I first had to learn how to unsolder the SMD resistor with my rather bulky iron...
04 Oct 2013

FIRST WEEK UPDATE:

I managed to pooch my LPC-Max by reassigning the SWD pins to something else. To get it back, I had to power cycle it while pulling the ISP entry pin (P0_11) low. After that it seemed to work okay.

I'd really recommend a little bit of a software update for the mbed interface on these parts to stop it from dropping off the USB bus until I've had a chance to dismount it, since it's very disconcerting the way it suddenly pops off (and my Mac warns me about disconnecting without dismounting).

05 Oct 2013

First week update

The project I'm doing is a wifi connected temperature monitor. I received last week a FRDM and a Wifi shield from seeed.

The Wifi shield uses a RN-171 chip which is very popular and there is an arduino library for it. And on mbed https:mbed.org/cookbook/WiflyInterface is based on the same chip. So hopefully I can get it running without much hassle. http:www.seeedstudio.com/wiki/Wifi_Shield_V1.1

I have also bought a DHT11 as my temperature sensor which also incorporates a humidity sensor. http:www.micro4you.com/files/sensor/DHT11.pdf

I have also bought some pin headers for the FRDM. Waiting for that to show up.

05 Oct 2013

Hi All, This weeks update:

Busy studying datasheets and schematics for LPC800 MAX and Wifly shield.

Noticed some issues: Silkscreen on the MAX board Rev B has some errors :

The righthand row of LPCXpresso pin 44 is shown as P0_6. That should be P0_16 (Blue LED). Note that the 'real' P0_6 is on the lefthand row (pin 13).

The righthand row of LPCXpresso pin 46 is shown as XP_4. That should be XP_5. This is also wrong in the LPC MAX pinout picture above: J2 digital pin6 should be XP_5.

The righthand row of LPCXpresso pin 47 is shown as XP_5. That should be XP_4. This is also wrong in the LPC MAX pinout picture above: J2 digital pin5 should be XP_4.

The schematic (Rev3) is showing the wiring as was just described and this matches the routing on boards ''Rev B''.

Note that XP_n pins are connected to the I2C expander port PCA9672. The ''n'' indicates the portpin 0..7.

The WiFly shield also has a problem when you hook it up to the LPC812 MAX: The shield expects powersupply through the Vin pin. However, that pin is NC on the LPC812 MAX. You will have to reroute to 5V input pin.

My dayjob will take me to the other side of the world for the next two weeks so progress on software may be slow.

06 Oct 2013

Hi All,

I'am Michael Tissen from Germany and i received two RFD21733 Wireless Modules.(http://rfdigital.com/?targetpage=item&filterpn=RFD21733)

I want to build a wireless remote for my garage.

This modules are very easy to use and they allow many different operation modes.

To get started i use this two modules on two breadboards.

One module is used in a standalone mode with a button to simulate the remote.

The other module is connected with the FRDM-Board and if the module receives something from the sender the FRDM-Board triggers a led.

Very simple code sample:

include the mbed library with this snippet

#include "mbed.h"

DigitalOut led(LED_RED);
DigitalIn enable(PTB9);
int main() 
{
    while(1)
    {
        if(enable) {
            led = !led;
        }
        wait(0.25);
    }
}

i my next post i will post a video of the working setting. (My 9V Battery on the sender is empty and i need to buy i new one:-))

Regards Michael

06 Oct 2013

Hey fellas,

I'm Dimiter from Canada and I received a GS1011 Sparkfun WiFi shield and a FRDM-dev board. As soon as I unpacked the WIFI shield I soldered some male headers. The only annoying feature of the shield is that it does not fit on a standard breadboard so I had to modify one. I'll post an update once I get it up and running. I am planning to build a weather station as a start.

07 Oct 2013

Weekly Update

I'm keeping a Notebook page for my CAN-BUS Shield driver project here: Sophie's Seeed CAN-BUS Library Notebook Page and it's already out of date :rolleyes:

Highlights so far:

  • FRDM-KL25Z and Seeed Studio CAN-BUS Shield arrived.
  • 'Header' connectors soldered onto FRDM-KL25Z system.
  • Very simple 'Hello World' program to check that the CAN-BUS shield is connected.
  • Initial port of Seeed Studio's Arduino driver code - some bugs removed !?!

Work In Progress

  • I'm currently working on a more capable function for setting the CAN-BUS bit rate since Saab like to use some less than common speeds such as 47,619 bps (yes, really) and 615,384 bps (yes, really, again. lol). My function works well for those rates but not for some others, but I have devised a plan...
  • Checking the codes for bugs and attempting to use good 'Coding Standards' practices.

TO DO

  • Get some wires made to connect the CAN-BUS Shield to my ECUs so that I can test my driver more thoroughly.
  • Use mbed preferred data types instead of C99 data types (at least for public functions)
  • Comment the driver code for the Doxygen API documentation system
  • Port Just4Trionic to FRDM-KL25Z system

Software Licenses !?!

I'm not sure what the legal situation is with licenses. My preferred 'position' is to say that anything I publish is free for 'you' to use for any purpose, but at 'your' own risk and I include my own 'plain English' license/disclaimer with software I have written (I don't know if it is actually legally binding but it is written in simple English). However, I am aware that the area of Intellectual Property rights is a legal minefield...

Of course I credit other people's work and obtain permission to use their code wherever I have used it, but haven't encountered the 'ratified' licensees before. Now I have seen that mbed use Apache and MIT licenses, but Seeed Studio reference the GNU/LGPL license which appears to have more restrictions. I have even seen work here that expressly states that it is NOT subject to GNU/LGPL so it's ok for anyone to use it. Of course if I continue on my current path, porting Seeed Studio's driver, I have to use the GNU/LGPL licencse...

Questions

  • Is it OK to use GNU/LGPL licensed source code in mbed libraries?
  • If not, is it OK to re-write Seeed Studios' device driver even though I have seen it and will inevetably use some of their ideas?

Thanks in advance, Sophie x

07 Oct 2013

First Week Update

Fell at the first hurdle with the Seeed Studio SD Card Shield V4.0 and a FRDM-KL25Z. The SD Card Shield SPI signals are routed to a 6-pin connector that does not have a corresponding connector on the FRDM-KL25Z. Some wire links will be required I suppose. I'm still to get the mbed SD File System "Hello World" to work.

11 Oct 2013

/media/uploads/KKempeneers/sv105343.jpg

Hi,

I'm Koen from Belgium and I received a Freescale FRDM-KL25Z and a Freetronics LCD Shield.

I wrote a library for it, I could have made my library inherit from the two existing LCD libraries on the mbed website, however I chose not to. Although I admit that I took a close look at them to get familiar with the stream inheritance.

#include "mbed.h"
#include "freetronicsLCDShield.h"

freetronicsLCDShield LCD;
 
int main() {
    LCD.cls();
    
    // The backlight can be turned on or off //
    LCD.setBackLight(true);  
    
    // You may want to set the cursor position at a specific location
    LCD.setCursorPosition (0, 0);
    LCD.printf("* Hello  world *");
    
    // The setBackLight method is overloaded so you can specify it's intensity by supplying it with a float value
    LCD.setBackLight((float) 0.75);
    
    while (true) {
        // Shift the text on the LCD left ...
        for(int i = 0; i < 3; i++) {LCD.shift(true); wait(0.5);}
        
        // Shift right ...
        for(int i = 0; i < 6; i++) {LCD.shift(false); wait(0.5);}
        
        // Shift the text back to left ...
        for(int i = 0; i < 3; i++) {LCD.shift(true); wait(0.5);}
   }
}

The reason why I chose not to inherit from the existing libraries is easy, I'm very fond of my own approach allowing the user to write to memory locations that aren't actually visible on the screen. Then when using the LCD drivers shift commands you can scroll text over the screen.

I intend to write an other member function to allow for custom character generation (eg. the ° sign). I will publish the library when that is finished.

As for the project ... I'm thinking of using the ensemble as a tilt enabled remote control for the RC Hovercraft my 12 year old son is bugging me about. I wonder what kind of radio I'll be using.

As for the buttons on the LCD shield ... You might notice two of them did not survive the trip over the Atlantic. (at least i think they were send from the US). Although, Belgium has notoriously bumpy roads, which might also have caused the damage. LOL

Enough beating around the bush, A suggestion for Freetronics, I would wire the buttons in a R/2R ladder network. This allows for some extra possibilities like detecting that two buttons ale pushed together.

All in all the Freetronics LCD Shield is a nice shield!

How would I go about creating a call-back function for the buttons? Does anyone have some suggestions?

Koen.

08 Oct 2013

Hello Everyone!

I'm a little bit behind because my stuff got held up at customs but it's arrived now and I'm ready to get started. I have here the FRDM-KL25Z and the GPRS shield.

I'm a research fellow in computing science at the University of Glasgow. In my work, I look at small embedded interactive devices for public spaces (and also some home stuff too). I'm not decided entirely what I want to do yet, but I'll get some basic stuff up and running and see where my imagination takes me.

I'll keep some updates going here.

Cheers, Julie

10 Oct 2013

hello everyone!!

I received FRDM-KL25Z and TickTock Shield.Unfortunately the Shield i received is faulty.The 7 seg display is wrong,It should be common anode but it is common cathode.I have sent the message to seeed studio about this fault.I hope that they give me the right display.So far i have just soldered the board and tinkered with temperature sensor on the shield.I have used processing to see the temperature on desktop.

/media/uploads/manvindar/aw.jpg

I have not thought what to do with this shield, please give me any idea about what to do with this.

Thanks

13 Oct 2013

Update:

I have now the shield soldered up:

I'm looking at porting the arduino library for this module to mbed.

14 Oct 2013

Second Week Update

Reminder: My project is meant to be the comparison between the EM406A GPS module by GlobalSat and the UltimateGPS v3 from Adafruit Industries. The former was part of the giveaway and is happily sitting on a Sparkfun Arduino shield, and the latter I wanted to connect to some other serial connection.

The problem that wasn't one: A week ago I stumbled in the dark as how to define what's known as SoftSerial in the Arduino world. Turns out that one can define almost all digital pins as tx/rx in mbed, irrespective whether they're 'hardware' or emulated serial.

The problems that were:

1/ There are a few digital pins that per manufacturer cannot be used for the purpose of serial communication, the P0_6 and P0_8 (corresponding Arduino 2+3) on my test LPC800-MAX are such. As I was just learning about the mbed libraries when I encountered these problems, I spent quite some time before I figured that out... Now that's not a problem per se. However, it means that the Components page for the Sparkfun Shield should emphasise that only the 'UART' but not the 'DLINE' setting can be used with the LPC800-MAX. I don't have headers for my KL25Z, so can't say for sure if that would play nice.

2/ Power. The Sparkfun GPS Shield retail package came with the EM406A GPS module. That must be driven with 5V. There's a separate module (EM408?) that's happy with just 3.3V, but it requires an additional adapter to fit on the shield. Anyway. Initially I intended to do a test between the Adafruit and Sparkfun GPS modules with the LPC800-MAX being driven with a LiquidWare Lithium Backpack. Again, what I missed right at the top of the LPC800-MAX handbook page, is that the board should be powered with 5V, but only supplies 3V unless connected to USB. That was a big downer because it ruined my experimental setup. It also mean unless you want to connect your GPS rig to a computer or USB juice pack, the Sparkfun GPS Shield retail package and the LPC800-MAX don't play nicely together.

The compromise: /media/uploads/8fromPi/photo.jpg

In the end I mounted my test setup on the dashboard and took my laptop for a ride.

Questions for the community / admins:

1/ I had to make a few tweaks to Simon Ford's GPS library to get more info out of the modules and also to accommodate the different serial speeds the GlobalSat and Adafruit modules are using. What's the appropriate way to share that code?

2/ I'm happy to set up a component page for the parts I used. What's the legal situation regarding photographs of the components? Nobody makes better pictures of their products than Sparkfun and Adafruit...

Boris