You are viewing an older revision! See the latest version
Homepage

mbed Cookbook Community Wiki
Welcome to the mbed Cookbook, a wiki for publishing user-contributed libraries and resources. This is the community "Handbook" for all the useful component and library building blocks that can be reused to cook up your prototypes.
Please feel free contribute component libraries, building blocks and any reference that could be reused. If you see ways to improve existing resources with extra examples, explanations or insights, please jump in!
Introduction and Help¶
- About the Cookbook - What it is for, how to use it, and how you can contribute
- mbed Bugs and Suggestions - A place to contribute bug reports and feature suggestions
- deadmbed - Having trouble with your mbed working?
- mbed is on Facebook, YouTube and Twitter!
- Course Notes - Course notes being developed to support workshops, lectures and self learning
Notebooks¶
This is the cookbook, which is for documenting components, libraries and tutorials, but for project writeups and tips, also try the Notebooks!
Components and Libraries¶
This section is for information about different reusable building blocks; primarily components and the libraries, code and information to make use of them. For more about Libraries, see Working with Libraries.
TCP/IP Networking¶
- Getting started with networking and mbed - read this first
- Ethernet - physical connection and wiring
- Networking Stack Releases - Information about the different TCP/IP stack versions
- NetServices - A fork of the original TCP/IP stack (above), including additional enhancements and bugfixes
- NetServicesMin - Stripped down version of Segundos NetService library. No network services, only TCP and UDP
Network clients and servers¶
- HTTP Client - GET and POST requests
- HTTP Server - handle HTTP requests
- SMTP Client - a simple email client supporting plain authentication
- NTP Client - set the RTC
- Twitter - post to twitter
- SuperTweet - post to Twitter via SuperTweet
- Pachube - post to pachube.com
- MySQL Client - connect to MySQL
- DNSResolver - synchronous version of the DNS handling
- POP3 - a POP3 library
- TCPLineStream - a library wrapping a TCP stream in a simple-to-use interface
- NTPCLientMin - bugfix version of the NetServices NTPClient
- SimpleWebService - a simple web service library, caling with HTTP GET and parses the resulting XML
- Sockets API - the basics
Internet of Things and Websockets¶
- Websockets Tutorial - Simple intro to websocket technology
- Websockets on your Mbed - Try out websockets on your mbed!
- Websockets Server Tutorial - Getting started with HTML5 websockets, allowing full-duplex, bi-directional communications between a server and client.
- Internet of Things Demo - mbed demo of 'the internet of things', using wifi to send sensor data
- Remote Procedure Call (RPC) over Websockets
USB¶
Official USB Libraries can be found in the handbook:
- /handbook/USBDevice - Using mbed as a USB Device
- /handbook/USBMouse - Emulate a USB Mouse with absolute or relative positioning
- /handbook/USBKeyboard - Emulate a USB Keyboard, sending normal and media control keys
- /handbook/USBMouseKeyboard - Emulate a USB Keyboard and a USB mouse with absolute or relative positionning
- /handbook/USBHID - Communicate over a raw USBHID interface, great for driverless communication with a custom PC program
- /handbook/USBMIDI - Send and recieve MIDI messages to control and be controlled by PC music sequencers etc
- /handbook/USBSerial - Create a virtual serial port over the USB port. Great to easily communicate with a computer.
- /handbook/USBAudio - Create a USBAudio device able to receive audio stream from a computer over USB.
- /handbook/USBMSD - Generic class which implements the Mass Storage Device protocol in order to access all kinds of block storage chips
- USBHID bindings - Design your own USB device on top of USBHID class by developing programs in different languages and running on different platforms
Here some other examples:
- USBBluetoothHost - Using a USB dongle to connect via bluetooth
- USBMSDHost - USB MSD (FLASH Disk) Host
- USBMIDI - Send and receive MIDI events over USB
- Fully working USB HID stack- - Help to develop fully working USB HID with examples
- http://mbed.org/users/wim/notebook/usb-joystick-device/# - USB Joystick Device
LCDs and Displays¶
- Text LCD - A driver for Text LCD panels
- LCD serial with shift register
- SMARTGPU - A library for the SMARTGPU embedded graphics processor 2.4" LCD with Touch controller!
- 1 wire shift LCD
- Nokia LCD - controlling a 130x130 Nokia display
- VT100 Terminal - control cursor position
- Embedded Artists OLED Display - A 96x64 pixel OLED
- 4D SGC TFT Screen - A library for 320 x 240 16bits color touch screen
- uVGA II - Tiny VGA controller board demo using 4D SGC library in 640 by 480
- TFT LCD with HX8347 - Library for TFT LCD 320 x 240 with HX8347
- KS0108- Library for KS0108 based displays, tested on GDM12864H
- TLC5917 'SPI'able 8 segments DEL driver, SPI chaining sample
- LcdWindow - drives several LCD types (DOGm, HD44780, SED1335, KS0108), and allows a simple window / frame handling, e.g. with sub windows
- Newhaven LCD - the NHD-320240WG model
- Allegro A6281 RGB LED driver – with demo code and videos using ShiftBrite RGB LED modules
- 7 Segment Display Board - 6x7 segment displays
- SPI-driven-QVGA-TFT QVGA TFT with touch screen connected to SPI with lib and demo code
- Smart Alphanumeric Displays - HDSP-2xxx
- Starburst LED display - 14 Segment, 4 Digits LED display with serial input
- QVGA TFT with Touchscreen - Tutorial incl. hardware driver and touch screen calibration software (LCD controller: ST7781R)
- OLED Display - 128x64 OLED from Seeed with SSD1308 controller
Audio¶
- SMARTWAV - High Quality embedded Stereo Sound module, microSD FAT file .WAV player, AWESOME!.
- HQ Audio
- I2S Slave Library - Library to run the I2S port
- TLV320AIC23B - High quality audio CODEC using I2S interface - can both play and record!
- Wave file player
- A simple wave recorder & player - Low cost audio recorder and player.
- Audible Alert Generator - IEC60601-1-8 Audible Alert Generator
Wireless¶
- XBee - Simple Zigbee modules
- RN-42-Bluetooth - Simple serial bluetooth module
- USBBluetoothHost - Using a USB dongle to connect via bluetooth
- WiFly - Roving Networks wifi module
Motors and Actuators¶
- Servo - Control a Radio Control (R/C) model servo
- Motor - Control a DC motor with PWM and an H-bridge
- Dynamixel AX12 Servo - Digitally controlled robot servo
- SimpleSteppers - A software interface to TIMER2 to drive upto four stepper motors
- SimpleRCservos - A software interface to PWM to control simple radio-control servo units
Sensors¶
- GlobalSat EM-406 GPS Module
- GlobalSat BR355 Serial GPS unit - using a Sparkfun RS232 breakout and a PS/2 breakout for power
- ITG-3200 Gyroscope - Triple axis digital gyroscope
- SRF08 Ultrasonic Ranger - I2C Ranging sensor
- SRF05 Ultrasonic Ranger - Simple ranging sensor
- Seeed grove ultrasonic ranger - Single wire ranging sensor
- Parallax Laser Range Finder - Laser and CMOS camera with 1Hz updates and 15-122CM range
- SCP1000 Pressure Sensor - SPI MEMS barometric, absolute pressure sensor
- Bosch BMP085 Pressure Sensor - I2C MEMS barometric, absolute pressure sensor
- Freescale MPL115A Digital Barometer - I2C MEMS barometric and temperature sensor
Cameras¶
- CameraC328 - C328 (COMedia) - JPEG Color Camera with UART Interface
- Camera_LS_Y201 - LinkSprite JPEG Color Camera TTL Interface
Accelerometer¶
- LIS302 Accelerometer - Triple axis digital SPI accelerometer
- ADXL345 Accelerometer - Triple axis digital accelerometer
- SCA3000 Accelerometer - Triple axis digital accelerometer
- Grove 3 axis Accelerometer - Triple axis digital I2C accelerometer
Inclinometers¶
- SCA61T - Single axis digital SPI inclinometer
Compass¶
- CMPS03 Digital Compass - Robot digital compass module
- HMC6352 Digital Compass - Honeywell digital compass module
- HMC5843 Digital Compass - Honeywell digital compass module
NFC/RFID¶
- /cookbook/NFC - General information about NFC
- PN532 Breakout Board - Adafruit NFC Breakout Board
- NFC Lamp - NFC controlled 'SAD' Lamp
- ID12 RFID Reader - Read 125KHz RFID tags
- RWD RFID modules - RFID readers from IB technology
Barcode¶
- IDTech Barcode Scanner – a low-cost RS232 serial interface barcode scanner
Temperature¶
- MAX6675 Thermocouple - A SPI digital thermometer
- TMP102 Temperature Sensor - An I2C temperature sensor
- TMP175 Temperature Sensor - I2C temperature sensor with alert
- OneWireCRC DS18S20, DS18B20 temperature sensors
- ADT7410 I2C Temperature Sensor Handles temperatures lower than TMP102
- Sensirion SHT15 – Dual temperature and humidity sensor
- Sensirion SHT21 – I2C dual temperature and humidity sensor
- LM71 National Semiconductor's LM71 SPI/Microwire 13-bit Temperature Sensor
- MLX90164 – A non-contact IR temperature sensor with an I2C interface
- Grove temp & humidity – DHT temperature & humidity sensors from Seeed with DHT11 sensor
Clocks and Oscillators¶
- Si570 - Silicon Laboratories Si570 frequency synthesizer, with I2C interface.
External ADC/DAC¶
- Analog Devices AD7190 - Ultra-low noise 24-bit Sigma-Delta ADC
Interfaces and Drivers¶
- Emulate Databus, Addressbus and Controlbus using I2C expanders
- MCP23017 - 16 bit quasi bi-directional I/O expander for I2C bus
- MCP23S17 - 16 bit quasi bi-directional I/O expander for SPI bus
- PCA9675_IO_Expander - 16 bit quasi bi-directional I/O expander for I2C bus
- PCF8574 I2C IO Expander - Popular 8-bit I2C I/O Expander
- PCA9635 I2C IO Expander - 16-bit bus expander used as an LED driver
- PCA9538 I2C IO Expander - 8-bit I2C I/O Expander
- PCF8575-I2C-IO-Expander - 16-bit port expander
- QEI - Quadrature encoder interface
- PID - Proportional, integral, derivative controller
- IMU - Inertial measurement unit orientation filter
- Microchip 23K256 SRAM
- Simplified access to a Microchip 24LCxx Serial EEPROM device
- 25LCxxx_SPI - access to the Microchip 25LCxx series of SPI EEPROM devices
- SST25VF064C - low level and high level APIs for SST 64Mbit SPI EEPROM
- OneWire EEPROM - DS2433 (4Kb) and DS28EC20 (20Kb)
- IR - Infrared ray transmitter and receiver
- TxIR - A low-level library to transmit infrared (IR) commands
- mAVRISP - Program an AVR with mbed
- LPC Bootloader - Utility to allow a raw binary to be flashed to any LPC1xxx chip.
- PS2 - PS/2 keyboard, mouse
- Midi - Controlling Synthesizers, etc..
- MAX3100 Additional external serial ports.
- Touch controller ADS7843 _ A library for touch screen controller.
- AR1020 - a library for using the Microchip AR1020 touch screen controller
- MPR121 I2C Capacitive Touch Sensor – With demo code and video for a Sparkfun 12-key touch pad
- Sparkfun Thumb Joystick
- PowerSwitch Tail – a safe and easy way to turn on and off household AC devices with mbed
- Keypad - Interrupt-based interface to 4x4 keypad
Storage, Smart Cards, and Magnetic Cards¶
- http://mbed.org/handbook/LocalFileSystem - Store files on the internal mbed flash
- SD Card File System
- USBMSDHost - USB MSD (FLASH Disk) Host
- Wav_SD_Card_Read-for-RS-EDP - Reading the header of a .wav file stored on an SD card.
- SD_Card_Write-for-RS-EDP - Writing a character string to a file on an SD card.
- Smart Card.
- Magnetic Card Reader – How to connect and use the Apollo Magnetic Card Reader from Sparkfun
Digital Signal Processing¶
- FIR Filtering with a Quickfilter QF1D512 Coprocessor - easily add a FIR coprocessor for complex, high data rate filtering
- EasyVR a small low-cost voice recognition module – with a video demo and code examples
- FIR Filter
Interfacing with other languages¶
- a Forth implementation MbedForth with ready to flash .bin
- Interfacing Using RPC
- Interfacing with Matlab
- Interfacing with Python
- Interfacing with LabVIEW
- Interfacing with Java
- Interfacing with JavaScript
- Assembly Language - Using Assembly Language and how to debug using the free Keil Tools ARM emulator
- Python-on-a-chip
- Interfacing with .NET
Utilities for an application¶
- ConfigFile - Variable configuration file helper class
- FirmwareUpdater - Update your application binary via WEB.
- SerialBuffered - An extension to the Serial library that provides customisable buffering
- DebounceIn - Extends DigitalIn to add mechanical switch deboucing of inputs.
- PinDetect - Similar to DebounceIn above but adds "interrupt" style callbacks on pin state change.
- MODGPS - A library that supports easily adding a GPS module to your project.
- MODMAX7456 - A library that supports the MAX7456 on-screen display chip.
- MODSERIAL - An extended version of Serial that provides full IO buffering.
- MODDMA - A library that manages the GPDMA peripheral as an easy to use library.
- MAX3100 Additional external serial ports.
- FunctionPointer - Mbed's callback mechanism explained
- FPointer - An advanced library callback mechanism
- ASyncTicker - a ticker not using an ISR, allowing for more complex stuff
- Localization - a library for storing external / to-be-localized strings
- TimeZone - TimeZone handling
- CSV parser - port of Israel Ekpo\'s CSV parser library
- SPXml parser - Mbed port of the Simple Plain Xml parser.
- MD5 - port of a simple MD5 library
- MatrixClass - A class to handle Matrices.
Baseboards¶
- HitexMatrix - A low cost prototyping board with SMT footprint for most major devices and a matrix area on 0.1" pitch.
- RS EDP - A professional embedded development platform for educational and professional use.
- Embedded Artists Baseboard
- Cool Components Workshop Board
- StarBoard Orange
- SKPang Dev Board
- NGX mX Baseboard
- Smartboard - A compact general purpose baseboard with Ethernet, USB Host, RS232, I2C, CAN, microSD, PWM, Analog and more.
- Celeritous Baseboard Announcement New US designed & distributed mbed baseboard with many peripherals.
- Mission: Cognition Baseboard An I/O baseboard now available in the US. Includes connectors and screw terminals for most mbed I/O functions.
- White Wizard Board - A new style of baseboard.
- TestBed for mbed - Baseboard with Ethernet, CAN, micro SD card, support of Arduino Shields and many more
Breadboards & Breakout Boards¶
- Solderless Breadboards - What is available and where to find it.
- Individual Connector Breakout Boards - Ethernet, USB, CAN, PS/2, RS-232, microSD, Smart Card, SIM, VGA, and audio connectors
- IC, Sensor, and Driver Breakout Boards - What is available and where to find it.
Reference, Tutorials and Examples, Events¶
This section is for the sort of reusable information that can help you get your job done.
Events & Classes¶
- Events - Confirmed mbed events
- Workshop - Notes and resources for running mbed workshops
- ESP-KTN - Workshop notes for ESP-KTN Workshop sessions
- How to setup an mbed student laboratory - A short checklist for course instructors
Books¶
- Books - Books about or useful for developing with mbed
- Algorithms and Numerical Methods - Books on Algorithms and Numerical Methods including some with C/C++ code examples
Tutorials and Examples¶
- ADC Performance - How to get the best ADC performance from your mbed
Internet of Things¶
- RFID Tweeter - Simple "Internet of Things" example using RFID and Twitter
- Internet of Things - mbed demo of 'the internet of things', using wifi to send sensor data
- Websocket and Mbed - Make your own Internet of Things project!
- Internet of Things: LCD Gadgets – LCDs used to display interesting data from the Internet
Software Development¶
- Writing a Library - How to write your own library
- Documenting a Library - How to get API documentation automatically generated for your own library
- Calling Library API Functions - How to use the official mbed libraries
- Using mbed with GCC and Eclipse - Getting started using the mbed chip offline with Linux, Eclipse, and GCC
- Using mbed with GCC and a text editor - using the mbed chip offline (Windows, modifiable for Linux)
- Using mbed libraries with GCC - Offline compilation with mbed libraries
- Bit-Banding - (Non-Interruptible) Atomic bit modification
- Object Oriented Programming Review - A fairly simple review of OOP focusing on class inheritance and polymorphism. This is a simple game that you can use to build a much more complicated project.
Hardware Tutorials¶
- Pushbuttons and switches – demo code and videos using internal pull-ups, switch debouncing, interrupts, and callbacks
- Drivers, Relays, and Solid State Relays – How to control high current or high voltage DC and AC devices using digital outputs on mbed
- Serial Interrupts - How to get started using serial interrupts with buffering and demo code
- C/C++ I/O Register Names – When talking directly to mbed's I/O hardware cannot be avoided.
- Power Management - How to get started using power management features to reduce power and demo code
- WatchDog Timer - How to use the watchdog timer, brown-out detection, and a short code example
- Automatically setting and saving the clock – An Internet LCD clock demo using NTP with a supercapacitor for RTC battery backup
- IR and RF remotes – with an IR and RF demo for mbed using low-cost parts to transmit and receive character data
- IP Geolocation - with a text LCD demo using a free web-based IP Geolocation API to determine country, city, and timezone
- I2C Debug Tool - Hit GUI buttons in RealTerm to experiment with a new I2C device without writing code.
Robotics¶
- Pololu m3pi – The Pololu 3pi robot using mbed as the controller
- mbed Rover - Combining motors, QEI, PID control and an IMU
- iRobot Create Robot or a Roomba - How to get started using mbed for control
- Sparkfun's Magician Robot base kit - How to get started using mbed for control
Reference¶
- LPC1768 Pinout IC format - LPC1768 pinout in IC format
- LPC1768 Pinout Table - LPC1768 pinout in table format
- LPC11U24 Pinout Table - LPC11U24 pinout in table format
- Reference Design - Hardware reference designs, starting with LPC1768
- Cortex M3 Instruction Set - Short Summary
- Cortex M0 Instruction Set - Short Summary
- EMC Testing mbed - Testing, and test results
PCBs¶
This section is about PCB design resources
- Official mbed Eagle Library - contains 10 libraries containing components, symbols and footprints for some default modules
- Mbed Eagle Library -Easy and effective Eagle library that will accelerate your design ideas.
Projects¶
Cookbook pages or links to notebook pages documenting any projects you are working on.
- mbed Robot Mannequin
- mbed Robot Racing
- Drum Machine
- mbed Demo Display - A big interactive demo you can program on-the-fly
- MOSFET Tester and Ohm Meter - Project that uses the mbed to find resistance and test MOSFETs.
- Pololu 3pi Robot - Adapting this great robot platform for mbed
- NetTool - Demo program utilizing raw ethernet I/O of tcp, udp, arp, and icmp.
- Student Projects - Links to an assortment of student projects
- Cariad SMS Monitor - An SMS based remote monitoring solution for boats
- Tollos - a C open source supervisor for mbed
- Jumentum SOC How to get started with the Jumentum system-on-chip programming environment for LPC microcontrollers, including mbed.
- CNC machine - mbed controlled pcb drilling machine
- Big Mouth Billy Bass - Everything you need to build your own!
- RealTime map of nearest objects using Sonar
- Menus for TFT LCD and Touch Screen Graphical interface through TFT LCD with Touch screen (Building)
- Internet of Things - mbed demo of 'the internet of things', using wifi to send sensor data
Community and Support¶
- Support for StarBoard Orange - Community based support for StarBoard Orange
Other Things¶
3 related questions:
21 comments:
Posting comments for this page has been disabled










Please login to post comments.