Awhile ago I started working on a simple DS tile editor that runs on the DS. I haven't touched it in awhile, but I decided to go ahead and release the source code after updating it to compile and run with devkitARM r21.
I got it to the point where I could edit simple tiles and display them on the top screen as a hardware tile (or tiles, depending on the view mode) and save/load tiles to SRAM. It also has basic undo/redo functionality, as well as the ability to view consecutive tiles to see how their borders match.
The user interface is very primitive so be sure to read the README for how it works. It doesn't have any way of editing the palette yet, so its usefulness as an art tool is limited, but I'm hoping someone might find it a useful base to work off of if they are interested in extending its functionality.